Re: [HACKERS] performance bug in instrument.c

2013-02-07 Thread Tom Lane
Tomas Vondra writes: > Tom Lane wrote: >> A bigger question is why this is elog(DEBUG2) and not elog(ERROR). >> Had it been the latter, we'd have noticed the mistake immediately. >> The current choice might be masking any caller-logic errors that >> exist, too. > Not sure why it's DEBUG2, but if

Re: [HACKERS] performance bug in instrument.c

2013-02-07 Thread Tomas Vondra
Tom Lane wrote: > Tomas Vondra writes: > There's this piece of code in InstrStartNode: > >> if (instr->need_timer && INSTR_TIME_IS_ZERO(instr->starttime)) >> INSTR_TIME_SET_CURRENT(instr->starttime); >> else >> elog(DEBUG2, "InstrStartNode called twice in a row"); > >> but

Re: [HACKERS] performance bug in instrument.c

2013-02-07 Thread Tom Lane
Tomas Vondra writes: > There's this piece of code in InstrStartNode: > if (instr->need_timer && INSTR_TIME_IS_ZERO(instr->starttime)) > INSTR_TIME_SET_CURRENT(instr->starttime); > else > elog(DEBUG2, "InstrStartNode called twice in a row"); > but it should actually be lik

[HACKERS] performance bug in instrument.c

2013-02-07 Thread Tomas Vondra
Hi, it seems there's a issue in instrument.c that may have significant performance impact for some plans when running explain analyze with "TIMING OFF". There's this piece of code in InstrStartNode: if (instr->need_timer && INSTR_TIME_IS_ZERO(instr->starttime)) INSTR_TIME_SET_CURRENT