Using implicitly declared loop record variable in one method can break code completion in another

Claus Pedersen

Member³
On scott/tiger, I have the following code snippet from inside a package:

Code:
PROCEDURE tester1 IS
BEGIN
  FOR myRecord IN (SELECT * FROM emp) LOOP
    NULL;
  END LOOP;
END;

PROCEDURE tester2 IS
  TYPE myType IS RECORD (x NUMBER, y NUMBER);
  myRecord myType;
BEGIN
  myRecord.x := 1;
  myRecord.        -- perform code completion here ...
END;

If I perform code completion after the dot in the last statement in method tester2 ("myRecord."), I get the column names from table emp ???
I would have expected x and y.

If I rename the loop variable myRecord in method tester1, code completion in method 2 now works.
 
Back
Top