Oracle FAQ Your Portal to the Oracle Knowledge Grid
HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US
 

Home -> Community -> Usenet -> c.d.o.server -> Re: Is this a bug?

Re: Is this a bug?

From: Anurag Varma <avoracle_at_gmail.com>
Date: 4 Jan 2007 07:30:45 -0800
Message-ID: <1167924644.781898.142480@i15g2000cwa.googlegroups.com>

DA Morgan wrote:
> EscVector wrote:
> > Anurag Varma wrote:

-snip-
> >> You are right .. it should be a bug. However, probably not easy
> >> to fix ...
> >>
> >> You might want to read Bug 4703738 where this is discussed.
> >>
> >> Anurag
> >
> > Quote from doc:
> > This issue is fixed in
> > * 9.2.0.8 (Server Patch Set)
> >
> > Well they didn't kill this bug. It is back again in 10.2.0.2 :)
>
> I'm not quite sure I can agree that something violating Oracle's advice,
> and generating an error, is a bug. At least not as long as the word
> TIMESTAMP is present in gv$reserved_words.
> --
> Daniel A. Morgan

The bug (or inconsistency as you might want to call it) is that oracle should
not allow a column name and datatype to be of the same name IF the column
name is not enclosed in double quotes.

So create table test (timestamp timestamp); should throw an error since all other datatypes do throw an error.

That and the test case OP showed IS a bug. I believe oracle itself is acknowledging it to be a bug in the Bug # I noted above

If that isn't a bug .. then what is?

And oracle's advice?? Do you know who does not follow oracle's advice: ORACLE itself.

Try the following sql in 10.2.0.2

s 1 select owner, table_name, column_name from dba_tab_columns where column_name = 'TIMESTAMP' and owner = 'SYS'   2* and table_name in (select table_name from dba_tables where owner = 'SYS')
sys_at_MTRCTEST> /

OWNER                          TABLE_NAME
COLUMN_NAME
------------------------------ ------------------------------
------------------------------
SYS                            COL_USAGE$                     TIMESTAMP
SYS                            FIXED_OBJ$                     TIMESTAMP
SYS                            MON_MODS$                      TIMESTAMP
SYS                            MON_MODS_ALL$                  TIMESTAMP
SYS                            PLAN_TABLE$                    TIMESTAMP
SYS                            STREAMS$_PREPARE_DDL           TIMESTAMP
SYS                            STREAMS$_PREPARE_OBJECT        TIMESTAMP
SYS                            SUMDELTA$                      TIMESTAMP
SYS                            SUMPARTLOG$                    TIMESTAMP
SYS                            WRH$_SQL_PLAN                  TIMESTAMP
SYS                            WRI$_ADV_SQLT_PLANS            TIMESTAMP
SYS                            WRI$_DBU_CPU_USAGE             TIMESTAMP
SYS                            WRI$_SQLSET_PLAN_LINES         TIMESTAMP

13 rows selected.

Yes, thats 13 tables where oracle itself named column after reserved word TIMESTAMP.
That includes some streams tables .. which is a relatively new functionality.

:)

Anurag Received on Thu Jan 04 2007 - 09:30:45 CST

Original text of this message

HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US