Toad Parser Bug

Hi Andre,

This conditional compilation version check nesting is a fairly standard approach, Oracle use it themselves, it's because DBMS_DB_VERSION only defines certain VER_LE_* constants with a particular version, if you don't check the lower versions first it'll fail that way. The constants between the sections were to work around another parser bug here, so not really that important.

This package uses aspects that are only available in 12.2 but only certain customers of ours (the ones on 12.2 or higher) use it, so it allows us a to create a single vanilla build script.

I don't know the feasibility of this as a suggestion, but how about either :
a) If you come across a conditional compilation DBMS_DB_VERSION check, parse out the constants from the schema's SYS.DBMS_DB_VERSION package spec (once) and so you can evaluate them properly.
b) Detecting the schema's version on login and the parser handling DBMS_DB_VERSION.VER* checks based off that, so that the correct branch in and $if,$elsif....,$else are considered?

Also, what are your thoughts on the "KEY" column name issue?

Regards
Paul