Is this transformation correct?  If I read this correctly, you're
missing the rangeTableEntry_used() condition, no?

> *** a/src/backend/rewrite/rewriteHandler.c
> --- b/src/backend/rewrite/rewriteHandler.c
> ***************
> *** 1273,1287 **** matchLocks(CmdType event,
>                       }
>               }
>   
> !             if (oneLock->event == event)
> !             {
> !                     if (parsetree->commandType != CMD_SELECT ||
> !                             (oneLock->attrno == -1 ?
> !                              rangeTableEntry_used((Node *) parsetree, 
> varno, 0) :
> !                              attribute_used((Node *) parsetree,
> !                                                             varno, 
> oneLock->attrno, 0)))
> !                             matching_locks = lappend(matching_locks, 
> oneLock);
> !             }
>       }
>   
>       return matching_locks;
> --- 1273,1280 ----
>                       }
>               }
>   
> !             if (oneLock->event == event && parsetree->commandType != 
> CMD_SELECT)
> !                     matching_locks = lappend(matching_locks, oneLock);
>       }
>   
>       return matching_locks;



-- 
Álvaro Herrera                http://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Training & Services


-- 
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers

Reply via email to