Thread: Confusing comment in TransactionIdIsInProgress
Shouldn't the comment read "If first time through"? /* * If not first time through, get workspace to remember main XIDs in. We * malloc it permanently to avoid repeated palloc/pfreeoverhead. */if (xids == NULL){ ... xids = (TransactionId *) malloc(maxxids * sizeof(TransactionId)); -- Jim C. Nasby, Database Architect jim@nasby.net 512.569.9461 (cell) http://jim.nasby.net
On 18.01.2011 07:15, Jim Nasby wrote: > Shouldn't the comment read "If first time through"? > > /* > * If not first time through, get workspace to remember main XIDs in. We > * malloc it permanently to avoid repeated palloc/pfree overhead. > */ > if (xids == NULL) > { > ... > xids = (TransactionId *) malloc(maxxids * sizeof(TransactionId)); Huh, yes, I'm amazed that no-one have noticed. I must've read that piece of code dozens of times in the last couple of years myself, and that sentence was even copy-pasted to GetConflictingVirtualXIDs() later in that file, including that thinko. Thanks, fixed both copies. -- Heikki Linnakangas EnterpriseDB http://www.enterprisedb.com
On Tue, 2011-01-18 at 10:51 +0200, Heikki Linnakangas wrote: > On 18.01.2011 07:15, Jim Nasby wrote: > > Shouldn't the comment read "If first time through"? > > > > /* > > * If not first time through, get workspace to remember main XIDs in. We > > * malloc it permanently to avoid repeated palloc/pfree overhead. > > */ > > if (xids == NULL) > > { > > ... > > xids = (TransactionId *) malloc(maxxids * sizeof(TransactionId)); > > Huh, yes, I'm amazed that no-one have noticed. I must've read that piece > of code dozens of times in the last couple of years myself, and that > sentence was even copy-pasted to GetConflictingVirtualXIDs() later in > that file, including that thinko. Yes, I laughed when I saw that, having camped out in that code many nights. -- Simon Riggs http://www.2ndQuadrant.com/books/PostgreSQL Development, 24x7 Support, Training and Services