G-2510: Avoid using the LONG and LONG RAW data types.

Major

Portability

Reason

LONG and LONG RAW data types have been deprecated by ORACLE since version 8i - support might be discontinued in future ORACLE releases.

There are many constraints to LONG datatypes in comparison to the LOB types.

Example (bad)

CREATE OR REPLACE PACKAGE example_package IS
   g_long LONG;
   g_raw  LONG RAW;

   PROCEDURE do_something;
END example_package;
/

CREATE OR REPLACE PACKAGE BODY example_package IS
   PROCEDURE do_something IS
   BEGIN 
      NULL;
   END do_something;
END example_package;
/

Example (good)

CREATE OR REPLACE PACKAGE example_package IS
   PROCEDURE do_something;
END example_package;
/

CREATE OR REPLACE PACKAGE BODY example_package IS
   g_long CLOB;
   g_raw  BLOB;

   PROCEDURE do_something IS
   BEGIN 
      NULL;
   END do_something;
END example_package;
/