TOAD 10.5.1.3 not liking conditional compilation statements

Hi folks,

I have some cases where I have conditional compilation statements in my code to
the effect of

$if dbms_db_version.ver_le_10 $then

dbms_output.put_line(‘10g’);

$elsif dbms_db_version.ver_le_11 $then

dbms_output.put_line(‘11g’);

$else

dbms_output.put_line(‘other’);

$end

Anyhow, TOAD 10.5.1.3 is very unhappy about them constantly throwing access
violations in QP5.dll. It’s a bit random and seems to happen when the
statements are in package bodies rather than free-standing procedures and
functions. If I comment out the conditional compilation statements the problem
goes away.

Anyone else running into this? I pasted the EurekaLog below.

Cheers,

Paul

EurekaLog 6.0.22

Application:

It might be as simple as a very basic question - does Toad support (i.e. QA)
conditional compilation? I’m not sure that we do. But Michael and Greg can
have the final say J

Yes, Toad support conditional compilation. The example below works fine.

CREATE OR REPLACE PACKAGE TESTCONDCOMP

AS

PROCEDURE packagecondcomp;

END TESTCONDCOMP;

/

CREATE OR REPLACE PACKAGE BODY TESTCONDCOMP

AS

PROCEDURE packagecondcomp

IS

BEGIN

$IF DBMS_DB_VERSION.ver_le_10

$THEN

DBMS_OUTPUT.put_line (‘10g’);

$ELSIF DBMS_DB_VERSION.ver_le_11

$THEN

DBMS_OUTPUT.put_line (‘11g’);

$ELSE

DBMS_OUTPUT.put_line (‘other’);

$END

END;

END TESTCONDCOMP;

/

It’s on the radar, but in basic tests that I’ve done we do support
it to some degree. By that I mean that Oracle supports it and we support
compiling of objects containing conditional compilation directives and we
support executing “ ALTER PROCEDURE MyProc COMPILE PLSQL_CCFLAGS =
Blah” and the “ALTER SESSION” equivalent. Some ideas have been
kicked around on how to make this easier for the user, but I don’t think
that Toad prevents one from doing this. Other than this AV, if there are any
areas where you are prevented from doing what you want with the raw SQL then
please send it. I haven’t researched it in detail yet and once we make the
push to add a nice GUI around setting flags it would be nice to have any
feedback that I can get. I have a running list now with some ideas thrown out
there.

Michael