buffer accessed in transaction without strong buffer scoping

Project:Prolint Issue Tracker
Component:Rules
Category:feature request
Priority:normal
Assigned:jurjen
Status:closed
Description

buffers used for updates should be either
* explicitely strong scoped
* local to an internal procedure

Finding all updates seems hard to me so I would look for
* retrieve (find/for each,query) with lock
* create
* buffer-copy: can be used to create a record
as those are needed to update a buffer, I hope I didn't miss a technique.


Comments

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.
jurjen's picture

#1

Assigned to:Anonymous» jurjen
Status:active» closed

Fixed, but not exactly as requested.
The new rules "bufdbproc", "bufdbfunc" and "bufdbmeth" check if DEFINE BUFFER statements exist. They do not check for other ways to enforce strong buffer scoping. They also don't care if the database is accessed for READ, UPDATE or DELETE.

Once possible enhancement of these rules might be: don't warn if the database is only read. But for now I declare this issue closed :-) Please create one or more new issues when you want enhancements for these new rules.