Oracle 9.2.0.1 query bug?

The following test case gives different results on Oracle 9.2.0.1 and 10g. 10g and 3 other competing database products give the answer as
FILES_ID VIEW1_ID VIEW2_ID
1 1 1
while Oracle 9.2.0.1 yields
FILES_ID VIEW1_ID VIEW2_ID
1 1 1
2
The test case is
CREATE TABLE FILES (ID INTEGER);
CREATE TABLE PROPERTIES (ID INTEGER, VERSION INTEGER);
INSERT INTO FILES VALUES (1);
INSERT INTO FILES VALUES (2);
INSERT INTO PROPERTIES VALUES (1, 1);
SELECT FILES.ID AS FILES_ID,
VIEW1.ID AS VIEW1_ID,
VIEW2.ID AS VIEW2_ID
FROM FILES
LEFT OUTER JOIN
(SELECT ID, VERSION FROM PROPERTIES) VIEW1
ON (VIEW1.ID = FILES.ID AND
(VIEW1.VERSION = 1 OR VIEW1.VERSION = -1))
LEFT OUTER JOIN
(SELECT ID, VERSION FROM PROPERTIES) VIEW2
ON (VIEW2.ID = FILES.ID AND
(VIEW2.VERSION = 1 OR VIEW2.VERSION = -1))
WHERE
(FILES.ID = 1 OR FILES.ID = 2) AND
((VIEW1.ID = FILES.ID AND FILES.ID = 1) OR
(VIEW2.ID = FILES.ID AND FILES.ID = 1));
DROP TABLE FILES;
DROP TABLE PROPERTIES;
First, I may be doing something silly but it seems odd that 9 and 10 give me different answers. I don't have access to Oracle support, so I don't know if a more recent patch of 9 would give the seemingly-correct 10g answer. Would anyone who has access to a recent 9.2.x version please try this?
Ideally I need to know what 9.2.x patch this was fixed in so I known the minimum version or Oracle required for my product.
Thanks

Well 9.2.0.1 is six patches out of date. I don't know when this was fixed but...
SQL*Plus: Release 9.2.0.6.0 - Production on Mon Oct 10 17:09:17 2005
Copyright (c) 1982, 2002, Oracle Corporation.  All rights reserved.
Connected to:
Oracle9i Enterprise Edition Release 9.2.0.6.0 - Production
With the Partitioning, OLAP and Oracle Data Mining options
JServer Release 9.2.0.6.0 - Production
SQL> CREATE TABLE FILES (ID INTEGER);
Table created.
SQL> CREATE TABLE PROPERTIES (ID INTEGER, VERSION INTEGER);
Table created.
SQL> INSERT INTO FILES VALUES (1);
1 row created.
SQL> INSERT INTO FILES VALUES (2);
1 row created.
SQL> INSERT INTO PROPERTIES VALUES (1, 1);
1 row created.
SQL> SELECT FILES.ID AS FILES_ID,
  2  VIEW1.ID AS VIEW1_ID,
  3  VIEW2.ID AS VIEW2_ID
  4  FROM FILES
  5  LEFT OUTER JOIN
  6  (SELECT ID, VERSION FROM PROPERTIES) VIEW1
  7  ON (VIEW1.ID = FILES.ID AND
  8  (VIEW1.VERSION = 1 OR VIEW1.VERSION = -1))
  9  LEFT OUTER JOIN
10  (SELECT ID, VERSION FROM PROPERTIES) VIEW2
11  ON (VIEW2.ID = FILES.ID AND
12  (VIEW2.VERSION = 1 OR VIEW2.VERSION = -1))
13  WHERE
14  (FILES.ID = 1 OR FILES.ID = 2) AND
15  ((VIEW1.ID = FILES.ID AND FILES.ID = 1) OR
16  (VIEW2.ID = FILES.ID AND FILES.ID = 1));
  FILES_ID   VIEW1_ID   VIEW2_ID
         1          1          1
SQL>
but it seems odd that 9 and 10 give me different answersFnord. If there's a bug in one version of the database it's silly that they don't port it to new versions but fix it instead?
Cheers, APC

Similar Messages

  • Frm-40505:ORACLE error: unable to perform query in oracle forms 10g

    Hi,
    I get error frm-40505:ORACLE error: unable to perform query on oracle form in 10g environment, but the same form works properly in 6i.
    Please let me know what do i need to do to correct this problem.
    Regards,
    Priya

    Hi everyone,
    I have block created on view V_LE_USID_1L (which gives the error frm-40505) . We don't need any updation on this block, so the property 'updateallowed' is set to 'NO'.
    To fix this error I modified 'Keymode' property, set it to 'updatable' from 'automatic'. This change solved the problem with frm-40505 but it leads one more problem.
    The datablock v_le_usid_1l allows user to enter the text (i.e. updated the field), when the data is saved, no message is shown. When the data is refreshed on the screen, the change done previously on the block will not be seen (this is because the block updateallowed is set to NO), how do we stop the fields of the block being editable?
    We don't want to go ahead with this solution as, we might find several similar screens nad its diff to modify each one of them individually. When they work properly in 6i, what it doesn't in 10g? does it require any registry setting?
    Regards,
    Priya

  • Does oracle 10gr2 has a visual query builder like oracle Express ?

    Hi
    Thank you for reading my post
    does oracle 10gr2 provide a visual query builder like oracle express ?
    Thanks

    SQL Developer<br>
    <br>
    Nicolas.

  • Is it possible to retrieve data from an Oracle db with an LDAP query?

    Our application uses an LDAP query to retrieve data from Microsoft Active Directory. Is it also possible to retrieve data from an Oracle database with an LDAP query?

    if you have Oracle Internet Directory, you will retrieve with ldapsearch data, which are physically stored in the database. But to select * from emp where ename='SCOTT', it is probably not possible.
    At least I have never heard of such a product which translate ldap query in sql query. But feel free to write your own one in perl :-)

  • Oracle Forms to open the Query Where dialog box

    Hi,
    "By typing a colon in a field, the end user can cause Oracle Forms to open the Query Where dialog box, allowing the end user to specify conditions that are too complex to specify by entering values into fields".
    I have tried above thing, but where clause dialog box not opening.
    Somebody can help me out.
    Regards
    satheesh kumar

    Forms [32 Bit] Version 6.0.8.27.0 (Production)
    Oracle Database 10g Enterprise Edition Release 10.2.0.3.0 - Production
    With the Partitioning, OLAP and Data Mining options
    Oracle Toolkit Version 6.0.8.25.0 (Production)
    PL/SQL Version 8.0.6.3.0 (Production)
    Oracle Procedure Builder V6.0.8.21.0 Build #1459 - Production
    PL/SQL Editor (c) WinMain Software (www.winmain.com), v1.0 (Production)
    Oracle Query Builder 6.0.7.1.0 - Production
    Oracle Virtual Graphics System Version 6.0.5.38.0 (Production)
    Oracle Tools GUI Utilities Version 6.0.8.25.0 (Production)
    Oracle Multimedia Version 6.0.8.25.0 (Production)
    Oracle Tools Integration Version 6.0.8.18.0 (Production)
    Oracle Tools Common Area Version 6.0.8.18.0
    Oracle CORE Version 4.0.6.0.0 - Production

  • FRM-40505  Oracle Error: Unable to perform query(URGENT)

    Hi I developed a form with a control_block and table_block(based on table)
    in same Canvas.
    Based on values on control_block and pressing Find button detail block will be queried.
    Control_block ->
    textitem name "payment_type" char type
    text item name "class_code " char type
    push button "find"
    base table: --> payment_terms(termid,payment_type,class_code,other colums)
    table_block is based on above table
    Now I have written when-button-pressed trigger on find button..
    declare
    l_search varchar2(100);     
    BEGIN
    l_search := 'payment_type='|| :control_block .payment_type||' AND class_code='||:control_block .class_code ;
    SET_BLOCK_PROPERTY('table_block',DEFAULT_WHERE,l_search);
    go_block('table_block');
    EXECUTE_QUERY;
    EXCEPTION
         when others then
         null;
    END;
    I am getting
    FRM-40505 Oracle Error: Unable to perform query
    please help..

    You don't need to build the default_where at run time. Just hard-code the WHERE Clause property as:
        column_x = :PARAMETER.X
    But, if for some compelling reason, you MUST do it at run time this should work:
        Set_block_property('MYBLOCK',Default_where,
            'COLUMN_X=:PARAMETER.X');
    Note that there are NO quotes except for first and last. If you get some sort of error when you query, you should actually see :Parameter.X replaced with :1 when you do Help, Display Error.

  • Oracle 9i full join incorrect results (bug)

    Hello!
    Is there an announsments about this bug in 9i, for example, in HR schema:
    select e.last_name, e.department_id, d.department_name, d.department_id
    +from departments d full join employees e+
    on (e.department_id = d.department_id)
    where e.department_id is null
    returns 16 rows.
    If we swap joining tables, then Oracle 9i correctly returns 17 rows:
    select e.last_name, e.department_id, d.department_name, d.department_id
    +from employees e full join departments d+
    on (e.department_id = d.department_id)
    where e.department_id is null
    including the problematic one: employee Grant with no department.
    In 10g the problem seems to be fixed, but I didn't find some sort of errata, so anyone please could send me a link.
    (I apologize if the issue is known and old.)
    P.S.
    Without HR schema one could see similar problem (only with extra row now) in the query:
    select * from
    +(select 1 Id, 'John' Name, 1 depId from dual+
    union all
    select 2 Id, 'Smith' Name, 2 depId from dual
    union all
    select 3 Id, 'Sarah' Name, 1 depId from dual
    union all
    select 4 Id, 'Connor' Name, 2 depId from dual
    union all
    select 5 Id, 'Betty' Name, 1 depId from dual
    union all
    select 6 Id, 'Thomas' Name, 1 depId from dual
    union all
    select 7 Id, 'Dick' Name, NULL depId from dual) employees
    full outer join
    +(select 1 Id, 'Sales' Name from dual+
    union all
    select 2 Id, 'IT' Name from dual
    union all
    select 3 Id, 'Gov' Name from dual) departments
    on employees.depid = departments.id
    where employees.depid is null
    This is also fixed in 10g.

    Hi,
    Bug reports can be found on support.oracle.com.
    Search for "full outer join" (or whatever). Click on the icon to the left of the search text to select from a list of sources. Change it from "All Sources" to "Bug Database".

  • Oracle 9.2.0.6; query hangs if partition doesn't exist

    Hallo all,
    this is the first time I post on this forum.
    I work in a group of PL\SQL developers in Italy. Few day ago we had a problem with a query and like to find out what the problem is.
    We have an Oracle DB version 9.2.0.6 (old I know) in a production environment. Linux OS.
    The query was made to extract data from a partitined table, on a partioned field, in our casa one Year. By mistake we have serced for the wrong year, 2013. There where no data for that year and therefor no partition.
    So, happened that the query hangs and after 24 hours was terminated.
    What we expected indeed was a zero records retirned in, at the most, few minutes, see that the table, in severa partition contains about 16 million records.
    The we tested the same query but in a different enviroment, Oracle 11gr2, same table structure, same partitioning, without partition 2013, and the query completed in less tha 1 minute with zero records in output.
    At this point we thought of a bug, but can't find any reference.
    Has anyone had a similar experience or can give some indication of possible bug report.
    Thanks for any help.

    Hi Rob,
    thank you for your answer.
    Sorry if this is not the best forum. I am not very practical.
    I try to answer to your questions.
    At a first time we thought the query did a full scan on the table. Yes. But even to full scan 16.000.000 records split in no more than 8 partition (at this time) shouldn't take up to 24 hours and never stop running. I think.
    We don't have a DBA role so we do not have full control over what is running. And take too long time to open a ticket and ask the DBA to check.
    What we did is testing the same query in a pre-prod environment, which is an Oracle 11gr2.
    I understand that it is not very usual to have a pre-production environment with a latest version of oracle but this is the way we have to work.
    Anyway, the test in pre-production worked very well. Without 2013 partition the return was very fast and we had zero records as expected.
    Then we found a workaround for production, ora 9. Call it work around maybe is too much ........
    We created the 2013 partition and run the query. The respons was then succesfull in about the same time than in pre-prod. Less than one minute and zero records.
    And this is fine for us.
    What we don't understand is why this different behavior with two different version of DB. Thats why we think it is due to a bug. We only want to find out whether it is this or if there is a different reason.
    Some other response or help would help.
    Thank you.

  • How can I export a Oracle DB table or a Query Result to an mdb (MS Access) File ?

    Hi,
    I would like to export a particular table or a particular data subset (result from a SQL query) to a MDB file, I tried with Oracle SQL Developer but I cannot see mdb as a possible export option.
    How can I do to export data to a mdb file ? I'm currently using SQL Developer on GNU/Linux, can you suggest me a link or a tool to do such things ?
    I consider an acceptable solution also to use SQL Developer to export data in a certain format and then use another software to open that format and create an mdb. What do you suggest ?

    Open the (an) MS Access database and:
    1) Click on File -> Link tables -> Select ODBC Database(s)
    2) On popup window select (or create new) "Machine Data Source" -> Oracle Driver -> Select the TNS alias (service name)
    Good luck!

  • Weblogic 8.1.6 and Oracle 9.2.0.8 - query performance

    Folks,
    We are upgrading WebLogic from 8.1.5 to 8.1.6 and Oracle from 9.2.0.6 to 9.2.0.8. We use the Oracle thin client driver for 9.2.0.8 to connect from the application to Oracle.
    When we use the following combination of the stack we see SQL query performance degradation: -
    Oracle 9.2.0.8 database, Oracle 9.2.0.8 driver, WL 8.1.6
    Oracle 9.2.0.8 database, Oracle 9.2.0.1 driver, WL 8.1.6
    We do not see the degradation in case of the following: -
    Oracle 9.2.0.8 database, Oracle 9.2.0.1 driver, WL 8.1.5
    Oracle 9.2.0.6 database, Oracle 9.2.0.1 driver, WL 8.1.5
    This shows that the problem could be with the WL 8.1.6 version and I was wondering if any of you have faced this before? The query retrieves a set of data from Oracle none of which contain the AsciiStream data type, which is noted as a problem in WL 8.1.6, but that too, only for WL JDBC drivers.
    Any ideas appreciated.

    Folks,
    We are upgrading WebLogic from 8.1.5 to 8.1.6 and Oracle from 9.2.0.6 to 9.2.0.8. We use the Oracle thin client driver for 9.2.0.8 to connect from the application to Oracle.
    When we use the following combination of the stack we see SQL query performance degradation: -
    Oracle 9.2.0.8 database, Oracle 9.2.0.8 driver, WL 8.1.6
    Oracle 9.2.0.8 database, Oracle 9.2.0.1 driver, WL 8.1.6
    We do not see the degradation in case of the following: -
    Oracle 9.2.0.8 database, Oracle 9.2.0.1 driver, WL 8.1.5
    Oracle 9.2.0.6 database, Oracle 9.2.0.1 driver, WL 8.1.5
    This shows that the problem could be with the WL 8.1.6 version and I was wondering if any of you have faced this before? The query retrieves a set of data from Oracle none of which contain the AsciiStream data type, which is noted as a problem in WL 8.1.6, but that too, only for WL JDBC drivers.
    Any ideas appreciated.

  • Oracle 9i 10g slow spatial query

    I have been using the following spatial query in oracle 9i to assign jurisdictions to spatial points.
    SELECT /*+ordered*/ L.TCH_X_COORD, L.TCH_Y_COORD, T.NAME
    FROM tis.tis_coordinates_hold_on L,
    geospatial.mdt_admin_districts T
    WHERE SDO_RELATE(T.GEOMETRY,
    MDSYS.SDO_GEOMETRY(2001,41079,MDSYS.SDO_POINT_TYPE(tch_x_coord,tch_y_coord,NULL),
    NULL,NULL),'mask=ANYINTERACT querytype=WINDOW') = 'TRUE'
    AND tch_assigned_base_rte='M00001N'
    By using the ordered hint I was able to double the retrieval rate.  My problem is this: We are now migrating to oracle 10g, and the use of the ordered returns no rows (different incorrect results). If I remove the + ordered the results are correct, but I no longer get the increased speed of retrieval. Has anyone run into this problem, and can you suggest a way that I could speed up this query. As it stands now it takes more than 1/2 sec for each record retrieved, and I have millions of records !! Thanks.

    We're using 10.2.4.0 I believe I have found the reason the queries were different. When I dropped the spatial index and re-created it, the query returned the same rows as 9i. However, I still have an issue with the speed. 10g appears to be about 1/3 as fast as 9i was. It doesn't seem to make any difference whether I put in the +ordered or not.  Our dba says just based on cpu and processing speed the server that has 10g should be significantly faster.  Any comments?  Thanks.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       

  • Oracle 11g- Straing behaviour of query after importing from Oracle 10g

    Hi,
    I have a table in Oracle 10g as follows:
    Create Table xyz (col1 varchar2(50), col2 varchar2(50));
    With following Data
    Col1     Col2
    A     320
    A     110
    A     290
    A     380
    B     ABC
    B     256
    B     LMN
    I am running following Query
    select * from xyz
    Where Col1='A' and Col2=110
    It works fine. But when I export this table and import it in Oracle 11g. It says invlid identifier.
    But if I enclose 110 in single quotes. It works fine.
    Also If I recreate this table in Oracle 11g like
    Create table xyz1
    as select * from xyz;
    Now alos I am able to run this query smoothly.
    select * from xyz1
    Where Col1='A' and Col2=110
    What is wrong exporting this table from 10g to 11g.
    Any comments/suggestion??
    Aarbi

    The check in your where clause
    Col2=110Is comparing a string (Col2 is defined as a VARCHAR) with a numeric literal, so there will be an implicit conversion taking place from character to number. The query then fails due to the B LMN row when 'LMN' fails number conversion.
    I'm guessing there was there an index on the table in your 10g installation which would allow the query to be satisfied without checking the B ABC or B LMN rows but is not present or not used in the 11g installation so a full table scan results in an attempt to convert 'ABC' and 'LMN' to a number. Check the explain plans.
    Or it could even just be a difference in the order in which the two conditions in the where clause are evaulated between the two versions.
    The solution, as you have already found is to do a string comparision
    Col2='110'Edited by: Cyn on Dec 7, 2009 12:38 PM

  • Calling Oracle stored procedure from xMII Query Templates.

    Hi All,
    We have a requirement to call a Oracle stored procedure from xMII, the SP expects some inputs and then it returns multiple rows.
    I tried different approches with no results, I remember some posts on the same topic but I could not get in search results.
    Looking for some help in this regards
    Rupesh.

    Hi Rupesh Bajaj,
    In oracle stored procedure we have to use Packages..if you used packages the u have to assign to some variable.
    To calling Stored procedure  in Query Template is CALL Testing('[Param.1]','[Param.2]',,:X)
    In above line Testing is Stored procedure name and Param.1 is parameters and X is Package.
    Thanks
    Ravilla Ramesh

  • Oracle XML parser and IBM jdk bug

    Hello,
    From a few messages found in the XML forum it seems that IBM jvm could cause problems with oracle XML parser. ( see http://technet.oracle.com:89/ubb/Forum11/HTML/003823.html )
    I am using IBM jvm (jdk 1.3) on a linux box, and problems are starting to arise:
    I have
    - 1 BC4J based jsp app which works fine.
    - 2 XML parsing BC4J apps which cause strange errors (like parsing 40 documents fine and failing on the 41st for no apparent reason)
    Hopefully, Steven Muench provided precious advice on this (basically, disabling the JIT), however some issues are still open:
    <BLOCKQUOTE><font size="1" face="Verdana, Arial">quote:</font><HR>You should file a bug with IBM to get this fixed, using your stylesheet as a testcase. Lots of people have hit this problem.<HR></BLOCKQUOTE>
    Has anyone (from oracle or else) done this yet? I have gone (quickly) through IBM website but I didn't find any bug report utility or the like...
    <BLOCKQUOTE><font size="1" face="Verdana, Arial">quote:</font><HR>Disable your JIT compiler (or switch JVM's) and you won't have the error.<HR></BLOCKQUOTE>
    Turning off the JIT indeed made the errors vanish, thanks a lot for the tip!
    I have a few more questions though :
    * As the BC4J framework uses the xml parser, It is fairly possible that the ibm jvm bug will affect it...
    I haven't had any problems (yet?) with the BC4J part of my applications, but I'm a bit concerned about having random bugs lurking around (I have more than enough of my own :) )
    Has anyone stumbled upon IBM JVM vs oracle parser issues in BC4J? (oracle.xml.parser.v2.XXXXXX exceptions...)
    * If BC4J is indeed affected, what's the solution?
    - Disable the JIT? (And forget about performance?... hmmm... no)
    - Switch parsers? (oracle parser is too tightly integrated in the BC4J Framework isn't it?.. hmm... not possible either)
    - Wait for a patch from IBM (and use another one in the meantime) / switch JVM :
    In either case, I'd really like to know what is the JVM that oracle people use / would advise.
    Thanks for your help
    null

    For those interested,
    last week i reported this bug in the ibm jvm news forum.
    They said that the problem had been investigated and would be fixed in their next service release.
    FYI: the current release (SR7, labeled "build cx130-20010329) still has various problems wih oracle XML parser.
    Remi
    null

  • Oracle 10g exp error with query parameter

    Hi all,
    I am trying to perform an export but getting this error when using the query parameter. I think it's a syntax problem but not sure where.
    I'm in a dos prompt
    E:\>exp file=xxxxx.dmp log=xxxx.log tables=xxxxx query='where responseid not in (select responseid from aaaa_bbbbb)';
    LRM-00112: multiple values not allowed for parameter 'query'
    EXP-00019: failed to process parameters, type 'EXP HELP=Y' for help
    EXP-00000: Export terminated unsuccessfully
    Thx

    This is why I love this forum so much.
    I've probably done thousands of exports and never used the query parameter.
    Here's something that will help you. Please read and note the requirement to escape, or protect, special characters and such.
    http://download.oracle.com/docs/cd/B10501_01/server.920/a96652/ch01.htm
      exp scott/tiger TABLES=emp QUERY=\"WHERE job=\'SALESMAN\' and sal \<1600\"ji li

Maybe you are looking for