Re: [HACKERS] [sqlsmith] Planner crash on foreign table join
От | Andrew Gierth |
---|---|
Тема | Re: [HACKERS] [sqlsmith] Planner crash on foreign table join |
Дата | |
Msg-id | 87d1ckx3gd.fsf@news-spur.riddles.org.uk обсуждение исходный текст |
Ответ на | Re: [HACKERS] [sqlsmith] Planner crash on foreign table join (Thomas Munro <thomas.munro@enterprisedb.com>) |
Ответы |
Re: [HACKERS] [sqlsmith] Planner crash on foreign table join
|
Список | pgsql-hackers |
>>>>> "Thomas" == Thomas Munro <thomas.munro@enterprisedb.com> writes: >> SomeType *x = (SomeType *) lfirst(l);>> >> (in my code I tend to omit the (SomeType *), which I dislike because>> it addsno real protection) Thomas> Just BTW, without that cast it's not compilable as C++, so I'mThomas> guessing that Peter E will finish up puttingit back inThomas> wherever you leave it out... There's north of 150 other examples (just grep for '= lfirst' in the source). Some were even committed by Peter E :-) In the discussion with Andres the same point came up for palloc, for which I suggested we add something along the lines of: #define palloc_object(_type_) (_type_ *) palloc(sizeof(_type_)) #define palloc_array(_type_, n) (_type_ *) palloc((n) * sizeof(_type_)) palloc() without a cast is even more common than lfirst() without one, and something like half of those (and 80%+ of the pallocs that do have a cast) are palloc(sizeof(...)) or palloc(something * sizeof(...)). -- Andrew (irc:RhodiumToad)
В списке pgsql-hackers по дате отправления: