0 Replies Latest reply on Apr 2, 2014 11:29 AM by dz_r

    SQLDeveloper 4 overwrites package bodies by older version

    dz_r

      Hi, it looks like SQLDeveloper 4 in certain situations overwrites package bodies by the older version of the package body.

       

      I've tried the following steps:

       

      I've got package and package body TEST1_PKG:

       

      create or replace PACKAGE TEST1_PKG IS

      PROCEDURE TEST1;

      END TEST1_PKG;

      /

       

      create or replace PACKAGE BODY TEST1_PKG IS

      PROCEDURE TEST1 IS

      BEGIN

        NULL;

      END;

      END TEST1_PKG;

      /

       

      In the tree navigator I'm expanding node "Packages" and selecting and expanding package TEST1_PKG (both package and package body nodes are visible).

      I'm right-clicking "Edit" on the package TEST1_PKG and in the Code Editor I'm appending new procedure TEST2 to the package:

       

      create or replace PACKAGE TEST1_PKG IS

      PROCEDURE TEST1;

      PROCEDURE TEST2;

      END TEST1_PKG;

       

      I'm compiling the package.

       

      Next I'm opening the package body - BUT NOT by right-clicking "Edit" on the package body in the tree navigator, BUT by pressing button "Open Body" in the Code Editor toolbar.

       

      In the Code Editor I'm appending new procedure TEST2 to the package body:

       

      create or replace PACKAGE BODY TEST1_PKG IS

      PROCEDURE TEST1 IS

      BEGIN

        NULL;

      END;

      PROCEDURE TEST2 IS

      BEGIN

        NULL;

      END;

      END TEST1_PKG;

       

      I'm compiling the package body and I'm closing the Code Editor associated with it.

       

      Now in the tree navigator the package body node TEST1_PKG is still marked as invalid, so I'm right-clicking "Compile" on it - and now my package body is overwitten by its older version - wihout procedure TEST2 defined in it.