Toad World® Forums

SQLNav 5.1 error when defining object subtype


#1

Hello,

I have defined the attached object in PL/SQL (it happens to be a user-defined number array, named NUM_ARRAY_NWR). This object is intended to be a super type and will have a subtype called INTERVAL_DATA_NWR. My code for INTERVAL_DATA_NWR is listed here:

Object spec:
TYPE INTERVAL_DATA_NWR UNDER NUM_ARRAY_NWR (

minutesPerInterval  NUMBER,

CONSTRUCTOR FUNCTION INTERVAL_DATA_NWR (
    p_name       IN VARCHAR2,
    p_minutesper IN NUMBER
)
    RETURN SELF AS RESULT

)
NOT FINAL;

Object body:
TYPE BODY INTERVAL_DATA_NWR
AS
CONSTRUCTOR FUNCTION INTERVAL_DATA_NWR (
p_name IN VARCHAR2,
p_minutesper IN NUMBER
)
RETURN SELF AS RESULT
IS
BEGIN
SELF.item := NEW NUM_ARRAY();
SELF.myName := p_name;
SELF.minutesPerInterval := p_minutesper;
RETURN;
END;
END;

My problem is that when I attempt to compile the subtype, SQLNav decides to turn my spec into this:

Object spec:
TYPE INTERVAL_DATA_NWR (
p_name IN VARCHAR2,
p_minutesper IN NUMBER
)
RETURN SELF AS RESULT
)
NOT FINAL;

And then, SQLNav nags me that the syntax is incorrect. Judging by the object type documentation located at http://download-west.oracle.com/docs/cd/B10501_01/appdev.920/a96624/10_objs.htm, my syntax for my subtype seems to be correct. Could you provide any assistance as to why SQLNav is acting in this behavior, and how I might be able to work around this issue?

Thank you,
Nick Ruiz

CUSTPRO.NUM_ARRAY_ddl.sql (231 Bytes)

CUSTPRO.NUM_ARRAY_NWR.typ (15.4 KB)


#2

HI Nick,

Welcome to community.
There does appear to be a problem with the way that SQL navigator is handling the subtypes of super type while in compilation.
We have made a note of this end but if you want to able to track this issue, you will need to raise a support case.

Thanks heaps for supplying the attachments and scripts… they were most helpful to us.

regards
sekhar