Menu

#12 Error when viewing indexes (attemted fix inside)

open
nobody
None
5
2007-04-16
2007-01-11
Freon
No

I always get the following error when viewing the indexes of a table (Indexes/Log tab):

ORA-00604 : error occurred at recursive SQL level 1 ORA-00904: "from$_subquery$_004"."QCSJ_C004003_12": invalid identifier

After looking at the query used to fetch the indexes (get_index_columns() in index.c), I've noticed you're using the "with data as" syntax. I'm using the Oracle Instant Client on Linux to connect to a Oracle 9.2 server on Windows 2003. I assume this syntax isn't supported.

Replacing that query with a "select ... from ( ) data" works just as well.
I also had to replace it in update_table_indexes() in table.c

Discussion

  • Colby Farrell

    Colby Farrell - 2007-01-11
    • status: open --> pending
     
  • Colby Farrell

    Colby Farrell - 2007-01-11

    Logged In: YES
    user_id=1343445
    Originator: NO

    That's interesting - I develop on 9.2.0.5 servers on Linux and Solaris and I've never had a problem with the 'WITH' syntax.

    But anyway, thanks for the report; I'm going to apply the change so it just works.

     
  • SourceForge Robot

    Logged In: YES
    user_id=1312539
    Originator: NO

    This Tracker item was closed automatically by the system. It was
    previously set to a Pending status, and the original submitter
    did not respond within 14 days (the time period specified by
    the administrator of this Tracker).

     
  • SourceForge Robot

    • status: pending --> closed
     
  • Freon

    Freon - 2007-04-16
    • status: closed --> open
     
  • Freon

    Freon - 2007-04-16

    Logged In: YES
    user_id=1452922
    Originator: YES

    I've downloaded the latest version (1.84a) and the bug is still present (in create_describeWindow, get_index_columns and update_table_indexes).

    It's weird because the "with data" syntax actually works in some case ( "with data as ( select 1 nb from dual ) select nb + 1 from data" for instance).

     

Log in to post a comment.