SQL Bug on 11.2

We recently upgraded to 11.2, but had to downgrade back to 10.2 due to an error with part of our application. This error does not occur in version 10 or 11.1. We are running Oracle on Windows 2003 Server (happens on my laptop also, Windows 7). We have asked a customer to run the query who run Oracle on Linux, same problem.
To replicate this, I have simplified the table, view and query below, but the error still occurs. Note that it is four queries unioned. My developers insist that this is best practice to get the data they want so who am I to argue - fact that there are full table scans going on is irrelevant. Run each query on its own is fine. Take the last unioned query out and it works fine. Have all four queries and it fails.
Table required:
Create table GT_CONTACT_LVL1_DATA (
LOCATIONID NUMBER(8) ,
CALL_LOCATIONID NUMBER(8) ,
LOC_SEQ NUMBER(3) ,
CONTACTID NUMBER(8) ,
CALL_CONTACTID NUMBER(8) ,
CALL_SEQ NUMBER(3) ,
LOC_REFNO VARCHAR2(60) ,
PHONE VARCHAR2(40) ,
PHONE_TYPE VARCHAR2(8) ,
CASENO VARCHAR2(12) ,
VERSION NUMBER(3) ,
REP_SEQ NUMBER(3));
View required:
CREATE OR REPLACE VIEW VW_GT_CONTACT_TEL
AS
SELECT LOCATIONID, CONTACTID, CASENO, REP_SEQ, PHONE, LOC_REFNO
FROM GT_CONTACT_LVL1_DATA
WHERE PHONE_TYPE = 'TEL';
The query:
SELECT DISTINCT DR.LOCATIONID, DR.CALL_LOCATIONID, DR.LOC_SEQ, DR.CONTACTID, DR.CALL_CONTACTID, DR.CALL_SEQ,DR.CASENO, DR.VERSION, DR.REP_SEQ,
DR.LOC_REFNO, DR1.PHONE
FROM GT_CONTACT_LVL1_DATA DR LEFT OUTER JOIN VW_GT_CONTACT_TEL DR1 ON DR1.LOCATIONID = DR.LOCATIONID AND DR1.CONTACTID = DR.CONTACTID
AND DR.CASENO = DR1.CASENO
WHERE DR.CASENO IS NOT NULL AND
(DR.LOCATIONID,DR.CONTACTID) IN (SELECT LOCATIONID,CONTACTID FROM GT_CONTACT_LVL1_DATA D
WHERE CASENO IS NULL AND D.CONTACTID = DR.CONTACTID
AND D.LOCATIONID = DR.LOCATIONID)
UNION
SELECT DISTINCT DD.LOCATIONID, DD.CALL_LOCATIONID, DD.LOC_SEQ, DD.CONTACTID, DD.CALL_CONTACTID, DD.CALL_SEQ,DD.CASENO, DD.VERSION, DD.REP_SEQ,
DD.LOC_REFNO, DD1.PHONE
FROM GT_CONTACT_LVL1_DATA DD LEFT OUTER JOIN VW_GT_CONTACT_TEL DD1 ON DD1.LOCATIONID = DD.LOCATIONID AND DD1.CONTACTID = DD.CONTACTID
AND DD.CASENO = DD1.CASENO
WHERE DD.CASENO IS NULL AND
(DD.LOCATIONID,DD.CONTACTID) IN (SELECT LOCATIONID,CONTACTID FROM GT_CONTACT_LVL1_DATA D
WHERE CASENO IS NOT NULL AND D.CONTACTID = DD.CONTACTID
AND D.LOCATIONID = DD.LOCATIONID)
union
SELECT DISTINCT DR.LOCATIONID, DR.CALL_LOCATIONID, DR.LOC_SEQ, DR.CONTACTID, DR.CALL_CONTACTID, DR.CALL_SEQ,DR.CASENO, DR.VERSION, DR.REP_SEQ,
DR.LOC_REFNO, DD.PHONE
FROM GT_CONTACT_LVL1_DATA DR LEFT OUTER JOIN VW_GT_CONTACT_TEL DD ON DD.CASENO = DR.CASENO AND DD.REP_SEQ = DR.REP_SEQ
AND DR.CASENO = DD.CASENO
WHERE DR.CASENO IS NOT NULL
AND (DR.LOCATIONID,DR.CONTACTID) NOT IN (SELECT LOCATIONID,CONTACTID FROM GT_CONTACT_LVL1_DATA WHERE CASENO IS NULL)
UNION
SELECT DISTINCT DD.LOCATIONID, DD.CALL_LOCATIONID, DD.LOC_SEQ, DD.CONTACTID, DD.CALL_CONTACTID, DD.CALL_SEQ,DD.CASENO, DD.VERSION, DD.REP_SEQ,
DD.LOC_REFNO, DD1.PHONE
FROM GT_CONTACT_LVL1_DATA DD LEFT OUTER JOIN VW_GT_CONTACT_TEL DD1 ON DD1.LOCATIONID = DD.LOCATIONID AND DD1.CONTACTID = DD.CONTACTID
AND DD.CASENO = DD1.CASENO
WHERE DD.CASENO IS NULL
AND (DD.LOCATIONID,DD.CONTACTID) NOT IN (SELECT LOCATIONID,CONTACTID FROM GT_CONTACT_LVL1_DATA WHERE CASENO IS NOT NULL);
Error:
Error at Command Line:43 Column:90
Error report:
SQL Error: ORA-01790: expression must have same datatype as corresponding expression
01790. 00000 - "expression must have same datatype as corresponding expression"
*Cause:   
*Action:
Anyone have any idea what could be causing this and what we can do (apart from the obvious splitting the query) to fix this.
Many thanks.
James

I Can reproduce the issue without problem.
The query however needs to be revised, as all DISTINCTs are redundant: UNION will filter out duplicates as UNION is a set operation and by definition sets don't contain duplicates.
I have formatted the query to make it readable
SELECT  DR.LOCATIONID,
        DR.CALL_LOCATIONID,
        DR.LOC_SEQ,
        DR.CONTACTID,
        DR.CALL_CONTACTID,
        DR.CALL_SEQ,
        DR.CASENO,
        DR.VERSION,
        DR.REP_SEQ,
        DR.LOC_REFNO,
        DR1.PHONE
FROM GT_CONTACT_LVL1_DATA DR LEFT OUTER JOIN VW_GT_CONTACT_TEL DR1
ON DR1.LOCATIONID = DR.LOCATIONID
AND DR1.CONTACTID = DR.CONTACTID
AND DR.CASENO = DR1.CASENO
WHERE DR.CASENO IS NOT NULL  -- CASENO IS NOT NULL AND A CORRESPONDING NULL CASENO EXISTS
AND  (DR.LOCATIONID,DR.CONTACTID) IN
     (SELECT LOCATIONID,CONTACTID
      FROM GT_CONTACT_LVL1_DATA D
      WHERE CASENO IS NULL
        AND D.CONTACTID = DR.CONTACTID
       AND D.LOCATIONID = DR.LOCATIONID
UNION
SELECT DD.LOCATIONID,
       DD.CALL_LOCATIONID,
       DD.LOC_SEQ,
       DD.CONTACTID,
       DD.CALL_CONTACTID,
       DD.CALL_SEQ,
       DD.CASENO,
       DD.VERSION,
       DD.REP_SEQ,
       DD.LOC_REFNO,
DD1.PHONE
FROM GT_CONTACT_LVL1_DATA DD LEFT OUTER JOIN VW_GT_CONTACT_TEL DD1
  ON DD1.LOCATIONID = DD.LOCATIONID
AND DD1.CONTACTID = DD.CONTACTID
AND DD.CASENO = DD1.CASENO
WHERE DD.CASENO IS NULL -- CASENO IS NULL AND A CORRESPONDING NOT NULL CASENO EXISTS
  AND (DD.LOCATIONID,DD.CONTACTID)
IN (SELECT LOCATIONID,CONTACTID
    FROM GT_CONTACT_LVL1_DATA D
    WHERE CASENO IS NOT NULL AND D.CONTACTID = DD.CONTACTID
    AND D.LOCATIONID = DD.LOCATIONID
union
SELECT  DR.LOCATIONID,
        DR.CALL_LOCATIONID,
        DR.LOC_SEQ,
        DR.CONTACTID,
        DR.CALL_CONTACTID,
        DR.CALL_SEQ,
        DR.CASENO,
        DR.VERSION,
        DR.REP_SEQ,
        DR.LOC_REFNO,
        DD.PHONE
FROM GT_CONTACT_LVL1_DATA DR LEFT OUTER JOIN VW_GT_CONTACT_TEL DD
  ON DD.CASENO = DR.CASENO
  AND DD.REP_SEQ = DR.REP_SEQ
  AND DR.CASENO = DD.CASENO
WHERE DR.CASENO IS NOT NULL
AND (DR.LOCATIONID,DR.CONTACTID)
NOT IN (SELECT LOCATIONID,CONTACTID
        FROM GT_CONTACT_LVL1_DATA
        WHERE CASENO IS NULL
UNION
SELECT DD.LOCATIONID,
       DD.CALL_LOCATIONID,
       DD.LOC_SEQ,
       DD.CONTACTID,
       DD.CALL_CONTACTID,
       DD.CALL_SEQ,
       DD.CASENO,
       DD.VERSION,
       DD.REP_SEQ,
       DD.LOC_REFNO,
       DD1.PHONE
FROM GT_CONTACT_LVL1_DATA DD LEFT OUTER JOIN VW_GT_CONTACT_TEL DD1
ON DD1.LOCATIONID = DD.LOCATIONID
AND DD1.CONTACTID = DD.CONTACTID
AND DD.CASENO = DD1.CASENO
WHERE DD.CASENO IS NULL
AND (DD.LOCATIONID,DD.CONTACTID) NOT IN
(SELECT LOCATIONID,CONTACTID
FROM GT_CONTACT_LVL1_DATA
WHERE CASENO IS NOT NULL
Sybrand Bakker
Senior Oracle DBA

Similar Messages

  • SQL Bug in "Minus" in correlated subquery presence of index (11.2.0.1.0)

    SQL Bug in "Minus" in correlated subquery presence of index
    (Oracle Database 11g Release 11.2.0.1.0)
    Below, there is a small example that shows the bug. Further below,
    there are some more comments.
    drop table Country;
    create table Country
    (code VARCHAR2(4) constraint countrykey PRIMARY KEY,
    name VARCHAR2(35));
    -- if the key constraint is not given, the bug does not occur
    drop table City;
    create table City
    (name VARCHAR2(35),
    country VARCHAR2(4),
    population number);
    drop table Locatedon;
    create table Locatedon
    (city VARCHAR2(35),
    country VARCHAR2(4),
    island VARCHAR2(35));
    insert into country values('E','Spain');
    insert into country values('F','France');
    insert into country values('S','Sweden');
    insert into country values('GB','Sweden');
    insert into city values('Ajaccio','F',53500);
    insert into city values('Paris','F',2152423);
    insert into city values('Palma','E',322008);
    insert into city values('Madrid','E',3041101);
    insert into city values('Stockholm','S',711119);
    insert into city values('London','GB',6967500);
    insert into locatedon values('Ajaccio','F','Corse');
    insert into locatedon values('Palma','E','Mallorca');
    insert into locatedon values('London','GB','Great Britain');
    -- all countries that have a city that is not located on
    -- some island: should be E, F, S.
    Select c.name
    From country c
    Where exists
    ((Select name
    From city
    Where city.country=c.code)
    minus
    (Select city
    From locatedon
    Where locatedon.country=c.code)
    -- wrong answer: only Sweden; Spain and France not in the answer!
    select distinct country from
    ((Select name, country
    From city)
    minus
    (Select city, country
    From locatedon)
    -- correct answer: E, F, S
    Comments:
    The bug has been found by students in our SQL course.
    Using a larger database from that course, the bug can be reproduced
    (same queries as above) at
    http://www.semwebtech.org/sqlfrontend/
    (wrong: 142 answers, correct: 154 answers)
    During reducing it to a simple sample, there were some interesting
    observations: trying with smaller and simpler tables (without the keys)
    and synthetic data, the bug did not occur immediately. When
    restating the query after about one day, the bug occurred. Obviously,
    Oracle creates some index on its own in course of its internal
    optimization that (or more exactly, its usage) exhibits the bug. The
    query plan (showed in SQL Developer) was the same before and after.
    Wolfgang

    There's a typo in the test data - GB should presumably not be in Sweden. However....
    the bug did not occur immediatelyIt's possible. But what would have almost certainly happened is that the execution plan DID change at some point. There are various reasons why it might not be immediate.
    Obviously, Oracle creates some index on its own in course of its internal optimizationFar from obvious, what are you on about?
    The query plan was the same before and afterBet you it wasn't.
    A clear illustration of the issue and indication that it must be a bug is below.
    Simply by hinting a different access method, we can change the result. Therefore, bug.
    See [url http://support.oracle.com]Oracle Support and search for "wrong results".
    Please raise with Oracle Support to get confirmation of bug.
    There have been so many wrong results bugs recently, it's getting ridiculous.
    It's a real issue, IMHO.
    If you can't trust the DB to get your data right....
    Note that the query plan is very much NOT the same and it is the difference in query plan which s that is the root cause of the bug.
    SQL> select * from v$version;
    BANNER
    Oracle Database 11g Enterprise Edition Release 11.2.0.2.0 - 64bit Production
    PL/SQL Release 11.2.0.2.0 - Production
    CORE    11.2.0.2.0      Production
    TNS for Linux: Version 11.2.0.2.0 - Production
    NLSRTL Version 11.2.0.2.0 - Production
    SQL> SELECT c.name
      2  FROM   country1 c
      3  WHERE  exists ((SELECT name
      4                  FROM   city1
      5                  WHERE  city1.country=c.code)
      6                  MINUS
      7                 (SELECT city
      8                  FROM   locatedon1
      9                  WHERE  locatedon1.country=c.code));
    NAME
    Sweden
    SQL> SELECT /*+ full(c) */
      2         c.name
      3  FROM   country1 c
      4  WHERE  exists ((SELECT name
      5                  FROM   city1
      6                  WHERE  city1.country=c.code)
      7                  MINUS
      8                 (SELECT city
      9                  FROM   locatedon1
    10                  WHERE  locatedon1.country=c.code));
    NAME
    Spain
    France
    Sweden
    SQL> explain plan for
      2  SELECT c.name
      3  FROM   country1 c
      4  WHERE  exists ((SELECT name
      5                  FROM   city1
      6                  WHERE  city1.country=c.code)
      7                  MINUS
      8                 (SELECT city
      9                  FROM   locatedon1
    10                  WHERE  locatedon1.country=c.code));
    Explained.
    SQL> select * from table(dbms_xplan.display);
    PLAN_TABLE_OUTPUT
    Plan hash value: 156929629
    | Id  | Operation                    | Name       | Rows  | Bytes | Cost (%CPU)| Time     |
    |   0 | SELECT STATEMENT             |            |     1 |    27 |    12  (25)| 00:00:01 |
    |   1 |  NESTED LOOPS                |            |       |       |            |          |
    |   2 |   NESTED LOOPS               |            |     1 |    27 |    12  (25)| 00:00:01 |
    |   3 |    VIEW                      | VW_SQ_1    |     6 |    24 |    10  (20)| 00:00:01 |
    |   4 |     MINUS                    |            |       |       |            |          |
    |   5 |      SORT UNIQUE             |            |     6 |   138 |            |          |
    |   6 |       TABLE ACCESS FULL      | CITY1      |     6 |   138 |     4   (0)| 00:00:01 |
    |   7 |      SORT UNIQUE             |            |     3 |    69 |            |          |
    |   8 |       TABLE ACCESS FULL      | LOCATEDON1 |     3 |    69 |     4   (0)| 00:00:01 |
    |*  9 |    INDEX UNIQUE SCAN         | COUNTRYKEY |     1 |       |     0   (0)| 00:00:01 |
    |  10 |   TABLE ACCESS BY INDEX ROWID| COUNTRY1   |     1 |    23 |     1   (0)| 00:00:01 |
    Predicate Information (identified by operation id):
       9 - access("VW_COL_1"="C"."CODE")
    Note
       - dynamic sampling used for this statement (level=4)
    26 rows selected.
    SQL> explain plan for
      2  SELECT /*+ full(c) */
      3         c.name
      4  FROM   country1 c
      5  WHERE  exists ((SELECT name
      6                  FROM   city1
      7                  WHERE  city1.country=c.code)
      8                  MINUS
      9                 (SELECT city
    10                  FROM   locatedon1
    11                  WHERE  locatedon1.country=c.code));
    Explained.
    SQL> select * from table(dbms_xplan.display);
    PLAN_TABLE_OUTPUT
    Plan hash value: 1378726376
    | Id  | Operation            | Name       | Rows  | Bytes | Cost (%CPU)| Time     |
    |   0 | SELECT STATEMENT     |            |     1 |    23 |    14  (15)| 00:00:01 |
    |*  1 |  FILTER              |            |       |       |            |          |
    |   2 |   TABLE ACCESS FULL  | COUNTRY1   |     4 |    92 |     4   (0)| 00:00:01 |
    |   3 |   MINUS              |            |       |       |            |          |
    |   4 |    SORT UNIQUE       |            |     1 |    23 |     5  (20)| 00:00:01 |
    |*  5 |     TABLE ACCESS FULL| CITY1      |     1 |    23 |     4   (0)| 00:00:01 |
    |   6 |    SORT UNIQUE       |            |     1 |    23 |     5  (20)| 00:00:01 |
    |*  7 |     TABLE ACCESS FULL| LOCATEDON1 |     1 |    23 |     4   (0)| 00:00:01 |
    Predicate Information (identified by operation id):
       1 - filter( EXISTS ( (SELECT "NAME" FROM "CITY1" "CITY1" WHERE
                  "CITY1"."COUNTRY"=:B1)MINUS (SELECT "CITY" FROM "LOCATEDON1" "LOCATEDON1"
                  WHERE "LOCATEDON1"."COUNTRY"=:B2)))
       5 - filter("CITY1"."COUNTRY"=:B1)
       7 - filter("LOCATEDON1"."COUNTRY"=:B1)
    Note
       - dynamic sampling used for this statement (level=4)
    27 rows selected.Just to show that it's related to query transformation:
    SQL> SELECT /*+ 
      2             no_query_transformation
      3         */
      4         c.name
      5  FROM   country1 c
      6  WHERE  exists ((SELECT name
      7                  FROM   city1
      8                  WHERE  city1.country=c.code)
      9                  MINUS
    10                 (SELECT city
    11                  FROM   locatedon1
    12                  WHERE  locatedon1.country=c.code));
    NAME
    Spain
    France
    Sweden
    SQL> Edited by: Dom Brooks on Jun 30, 2011 2:50 PM

  • PL/SQL Bug in SQL Developer?

    SQL Developer v 1.1.1.25 running on Windows XP.
    I have a PL/SQL procedure that does not compile with debug in SQL Developer. Compiling it with debug produces the following error:
    an Error(1): PLS-00801: internal error [79110].The only way I was able to get the procedure to compile in SQL Developer was to add the 4th line. If I uncomment the 4th line it compiles with debug. Why??
    Here is the procedure:
    CREATE OR REPLACE
    PROCEDURE BOGUS AS
      CURSOR c1 IS
        SELECT dummy FROM DUAL;
    --  x c1%ROWTYPE;
      PROCEDURE test ( rec IN OUT c1%ROWTYPE) IS
      begin
        null;
      end;
    BEGIN
      NULL;
    END BOGUS;Message was edited by:
    marife
    I played around some more with the procedure and discovered the problem. The key is the compiling with debug. I believe that compile with debug cannot build the debug information for a %ROWTYPE as a parameter. But if I define a local variable of that %ROWTYPE, then the compile with debug knows what debug information to track for the %ROWTYPE.
    I discovered that in SQL*Plus it compiles, but when you issue the ALTER PROCEDURE bogus COMPILE DEBUG, it does not compile. This is a problem with the debug option for compiling and not a problem with SQL Developer.
    Sorry for the posting. Hopefully this information will save other times and fustration.
    Mike

    Just for anyone else searching on this bug - I get the same error with certain procedures in TOAD when compiling with DEBUG.
    Fortunately nobody here has the first clue how to use TOAD debug so it's only ever switched on by accident or after a reinstall (it's the default) - so turning debug off fixes the problem.

  • HTMLDB 1.6 load_de.sql bug ?

    I installed HTMLDB 1.6 as an upgrade to the one on the companion CD.
    Since my native language is german, I like to have HTMLDB speaking german language with me. So I opened sqlplus as sys with sysdba privs, altered the session schema to FLOWS_010600 and started the Language update via @load_de.
    after some working statements I got the following error message and the installation stops:
    Error page=4316.4003 item="F4000_P4316_VALIDATION_TYPE" id="22211144053.4003"
    declare
    ERROR at line 1:
    ORA-06502: PL/SQL: numeric or value error
    ORA-06512: at "SYS.OWA_UTIL", line 325
    ORA-06512: at "SYS.HTP", line 1322
    ORA-06512: at "SYS.HTP", line 1397
    ORA-06512: at "SYS.HTP", line 1689
    ORA-06512: at "FLOWS_010600.WWV_FLOW_API", line 3191
    ORA-01461: can bind a LONG value only for insert into a LONG column
    ORA-06512: at line 69
    Any hints ?
    cu Pete

    Peter,
    I believe there's a bug lurking in HTML DB somewhere. Your situation is identical to the one described in:
    Re: Installation Error 1.6
    The odd thing is, we have been unable to reproduce it (loading with NLS_LANG german_germany.al32utf8 works just fine). I also asked a couple colleagues in Germany if they've had any difficulty, and they have never encountered this.
    If you would be so kind, could you please let me know the following information:
    1) The database version you are using
    2) The operating system (name and version)
    3) Your database character set
    4) The version and operating system of SQL*Plus you're using (in the event you're doing this installation remotely)
    If you feel uncomfortable posting this on OTN, could you please just e-mail this info to [email protected]?
    Thanks in advance for any assistance you can provide.
    viele Grüße,
    Joel

  • HTML DB authorisation via PL/SQL bug?

    I tried to implement a simple authorisation package and failed. This seems to be a bug in HTML DB.
    See below for package body. I have a function check_user and a procedure check_user2.
    When I enter a call to the procedure in my Authorization Scheme (PL/SQL Function Returning Boolean) I get what I deserve:
    auth2.check_user2(:APP_USER)
    results in: ORA-06503: PL/SQL: Function returned without value
    When I use the function instead however the error I get seems less justified:
    auth2.check_user(:APP_USER)
    ORA-06550: line 1, column 44: PLS-00221: 'CHECK_USER' is not a procedure or is undefined ORA-06550: line 1, column 44: PL/SQL: Statement ignored
    It seems HTML DB is checking to make sure it finds a 'procedure' - but it really needs a 'function'...
    Just for completeness the package body:
    create or replace package body auth2
    is
    function check_user( P_USER IN VARCHAR2) return boolean
    as
    begin
    insert into hr_log (log_txt) values (p_user);
    return True;
    end check_user;
    procedure check_user2( P_USER IN VARCHAR2)
    as
    begin
    insert into hr_log (log_txt) values (p_user);
    commit;
    end check_user2;
    end auth2;
    /

    Peter - When HTML DB calls for a Function Returning Boolean it's looking for you to have specified a call to a function whether you put the code within a begin-end or you let HTML DB do it. What you entered was (when framed in begin-end) syntactically a procedure call within an anonymous block. Try entering "return auth2.check_user(:APP_USER);" (without quotes).
    Scott

  • TopLink EJBQL- SQL bug?

    Hi
    I have this EJB QL query:
    delete from Przejazd p where p.id in (
        select p2.id from Przejazd p2 join p2.lista l
        where l.id = :listaId
    )And it's producing this SQL:
    DELETE FROM PRZEJAZD
    WHERE EXISTS(
    SELECT t0.ID FROM PRZEJAZD t0
      WHERE t0.ID IN (
        (SELECT t1.ID FROM PRZEJAZD t3, LISTA t2, PRZEJAZD t1
            WHERE (t2.ID = CAST (? AS INTEGER )
            AND   (t2.ID = t3.LISTA_ID)))
      AND t0.ID = PRZEJAZD.ID
    )I think the SQL should look like this:
    DELETE FROM PRZEJAZD
    WHERE EXISTS(
    SELECT t0.ID FROM PRZEJAZD t0
      WHERE t0.ID IN (
        (SELECT t3.ID FROM PRZEJAZD t3, LISTA t2
            WHERE (t2.ID = CAST (? AS INTEGER )
            AND   (t2.ID = t3.LISTA_ID)))
      AND t0.ID = PRZEJAZD.ID
    )It's a TopLink bug, or am I missing something?

    Hi
    I have this EJB QL query:
    delete from Przejazd p where p.id in (
        select p2.id from Przejazd p2 join p2.lista l
        where l.id = :listaId
    )And it's producing this SQL:
    DELETE FROM PRZEJAZD
    WHERE EXISTS(
    SELECT t0.ID FROM PRZEJAZD t0
      WHERE t0.ID IN (
        (SELECT t1.ID FROM PRZEJAZD t3, LISTA t2, PRZEJAZD t1
            WHERE (t2.ID = CAST (? AS INTEGER )
            AND   (t2.ID = t3.LISTA_ID)))
      AND t0.ID = PRZEJAZD.ID
    )I think the SQL should look like this:
    DELETE FROM PRZEJAZD
    WHERE EXISTS(
    SELECT t0.ID FROM PRZEJAZD t0
      WHERE t0.ID IN (
        (SELECT t3.ID FROM PRZEJAZD t3, LISTA t2
            WHERE (t2.ID = CAST (? AS INTEGER )
            AND   (t2.ID = t3.LISTA_ID)))
      AND t0.ID = PRZEJAZD.ID
    )It's a TopLink bug, or am I missing something?

  • Oracle SQL - Bug

    Hi All,
    I am writing this so that someone someday can take this to Oracle Corp as this is a simple bug which ought to be rectified by Oracle.
    Eg: select * from emp a where a.empno in ( select empno from empl b)
    Here i am using an Isolation Level 1 by using a Sub-Query to only return rows that matches with empno in table Empl but Empl table used in Sub Query does not have a Column by name empno . This should have returned an Oracle error instead it is taking the Column alias of table emp in Main Query.
    Many of us here will think or presume that this is correct as when using Isolation levels but this is not happening that way . There is an Oracle Bug which ought to be rectified in their next release.

    Definitively not a bug, at least bad query writing.
    Use prefix should solve your problem, something like this :
    select * from emp a where a.empno in ( select[b] b.empno from empl b)Furthermore, I wouldn't understand why you want, in the subquery, get the empno from the emp table instead of empl.
    Here was some threads about that, please read one of them here below :
    Re: Bug in Oracle 9.2.0.1.0.
    Moreover, this is not because you said "many of us here" want a correction that Oracle will correct it, because that's not a bug !
    Nicolas.

  • Bug? using MAX() function on char(1) column returns something larger

    details:
    -- we have a complex nested query, where we are essentially returning the max() value into a variable
    -- the max() function is being used on a char(1) column
    -- where MAX() is part of an inner select, we have started getting
    ORA-06502: PL/SQL: numeric or value error: character string buffer too small
    errors.
    SELECT MAX(X) INTO var FROM ... works in 9i and 10g
    SELECT X INTO var FROM (SELECT MAX(X) X FROM ... worked in 9i, does not work in 10g!
    -- We never had problems with the code until upgrading to 10g release 2.
    -- the Solution is to cast the final value with TO_CHAR(). The cast MUST be done at the outer most point of the select:
    SELECT TO_CHAR(X) INTO var FROM (SELECT MAX(X) X FROM ... works
    SELECT X INTO var FROM (SELECT TO_CHAR(MAX(X)) X FROM ... causes an error!
    The following script demonstrates the issue, and includes the solution:
    * October 3, 2006
    * Possible SQL bug introduced with Oracle 10G
    * Natalie Gray DBA/Developer, Environment Canada
    * Description:
    * Have discovered a problem with using the MAX() function
    * on columns of type char(1)
    * only an issue when used in an inner select
    * solution (see test 4)
    CREATE TABLE SQL_BUG_TEST
    X NUMBER,
    Y NUMBER,
    Z CHAR(1)
    INSERT INTO SQL_BUG_TEST (X, Y, Z)
    VALUES (1,1,'A');
    INSERT INTO SQL_BUG_TEST (X, Y, Z)
    VALUES (1,1,'B');
    INSERT INTO SQL_BUG_TEST (X, Y, Z)
    VALUES (1,2,'C');
    INSERT INTO SQL_BUG_TEST (X, Y, Z)
    VALUES (1,2,'D');
    DECLARE
    TYPE REC IS RECORD (
          x SQL_BUG_TEST.X%TYPE,
          y SQL_BUG_TEST.Y%TYPE,
          z SQL_BUG_TEST.Z%TYPE
    v_rec REC;
    BEGIN
          -- DISPLAY THE TABLE DATA
          BEGIN
                 DBMS_OUTPUT.PUT_LINE('TABLE DATA:');
                DBMS_OUTPUT.PUT_LINE('');
                 DBMS_OUTPUT.PUT_LINE('SELECT * FROM SQL_BUG_TEST ORDER BY X,Y,Z;');
                 FOR crs IN (SELECT *
                                     FROM SQL_BUG_TEST
                               ORDER BY X,Y,Z) LOOP
                    DBMS_OUTPUT.PUT_LINE(':'||crs.X||':'||crs.Y||':'||crs.Z);
                END LOOP;
          EXCEPTION WHEN OTHERS THEN
                 DBMS_OUTPUT.PUT_LINE(SQLERRM);       
          END;
          -- TEST 1
          -- returning result from MAX into a variable when the MAX is in the outer most select
          -- does not cause an error
          BEGIN
                 DBMS_OUTPUT.PUT_LINE('*****************************************************');
                 DBMS_OUTPUT.PUT_LINE('TEST 1');
                DBMS_OUTPUT.PUT_LINE('');
                 DBMS_OUTPUT.PUT_LINE('SELECT X, Y, MAX(Z) Z');
                DBMS_OUTPUT.PUT_LINE('FROM SQL_BUG_TEST');
                DBMS_OUTPUT.PUT_LINE('GROUP BY X,Y');
                FOR crs IN (SELECT X, Y, MAX(Z) Z
                                     FROM SQL_BUG_TEST
                               GROUP BY X, Y
                               ORDER BY X,Y,Z) LOOP
                     DBMS_OUTPUT.PUT_LINE(':'||crs.X||':'||crs.Y||':'||crs.Z);
                END LOOP;
          EXCEPTION WHEN OTHERS THEN
               DBMS_OUTPUT.PUT_LINE(SQLERRM);
          END;
          -- TEST 2
          -- returning MAX() from an inner select to an outer select and then into a variable
          -- causes an error
          BEGIN
                 DBMS_OUTPUT.PUT_LINE('*****************************************************');
                 DBMS_OUTPUT.PUT_LINE('TEST 2');
                DBMS_OUTPUT.PUT_LINE('THIS DID NOT CAUSE AN ERROR WITH ORACLE 9i');
                DBMS_OUTPUT.PUT_LINE('');
                 DBMS_OUTPUT.PUT_LINE('SELECT * INTO v_rec');
                DBMS_OUTPUT.PUT_LINE('FROM');
                DBMS_OUTPUT.PUT_LINE('(SELECT X, Y, MAX(Z) Z');
                DBMS_OUTPUT.PUT_LINE('FROM SQL_BUG_TEST');
                DBMS_OUTPUT.PUT_LINE('GROUP BY X,Y)');
                DBMS_OUTPUT.PUT_LINE('WHERE Y = 1');
                SELECT * INTO v_rec
                FROM
                (SELECT X, Y, MAX(Z) Z
                 FROM SQL_BUG_TEST
                 GROUP BY X, Y)
                WHERE Y = 1;
                DBMS_OUTPUT.PUT_LINE(':'||v_rec.X||':'||v_rec.Y||':'||v_rec.Z);
          EXCEPTION WHEN OTHERS THEN
               DBMS_OUTPUT.PUT_LINE(SQLERRM);
          END;
          -- TEST 3
          -- casting the result from MAX to char before returning to the outer select
          -- still causes an error
          BEGIN
                 DBMS_OUTPUT.PUT_LINE('*****************************************************');
                 DBMS_OUTPUT.PUT_LINE('TEST 3');
                DBMS_OUTPUT.PUT_LINE('');
                 DBMS_OUTPUT.PUT_LINE('SELECT * INTO v_rec');
                DBMS_OUTPUT.PUT_LINE('FROM');
                DBMS_OUTPUT.PUT_LINE('(SELECT X, Y, to_char(MAX(Z)) Z');
                DBMS_OUTPUT.PUT_LINE('FROM SQL_BUG_TEST');
                DBMS_OUTPUT.PUT_LINE('GROUP BY X,Y)');
                DBMS_OUTPUT.PUT_LINE('WHERE Y = 1');
                SELECT * INTO v_rec
                FROM
                (SELECT X, Y, to_char(MAX(Z)) Z
                 FROM SQL_BUG_TEST
                 GROUP BY X, Y)
                WHERE Y = 1;
                DBMS_OUTPUT.PUT_LINE(':'||v_rec.X||':'||v_rec.Y||':'||v_rec.Z);
          EXCEPTION WHEN OTHERS THEN
               DBMS_OUTPUT.PUT_LINE(SQLERRM);
          END;
          -- TEST 4 - SOLUTION
          -- the return value of MAX must be cast with to_char at the point where it is assigned to
          -- variable (outer most select)
          BEGIN
                 DBMS_OUTPUT.PUT_LINE('*****************************************************');
                 DBMS_OUTPUT.PUT_LINE('TEST 4 SOLUTION');
                DBMS_OUTPUT.PUT_LINE('');
                 DBMS_OUTPUT.PUT_LINE('SELECT X, Y, TO_CHAR(Z) Z INTO v_rec');
                DBMS_OUTPUT.PUT_LINE('FROM');
                DBMS_OUTPUT.PUT_LINE('(SELECT X, Y, MAX(Z) Z');
                DBMS_OUTPUT.PUT_LINE('FROM SQL_BUG_TEST');
                DBMS_OUTPUT.PUT_LINE('GROUP BY X,Y)');
                DBMS_OUTPUT.PUT_LINE('WHERE Y = 1');
                SELECT X, Y, TO_CHAR(Z) Z INTO v_rec
                FROM
                (SELECT X, Y, MAX(Z) Z
                 FROM SQL_BUG_TEST
                 GROUP BY X, Y)
                WHERE Y = 1;
                DBMS_OUTPUT.PUT_LINE(':'||v_rec.X||':'||v_rec.Y||':'||v_rec.Z);
          EXCEPTION WHEN OTHERS THEN
               DBMS_OUTPUT.PUT_LINE(SQLERRM);
          END;
    END;

    I certainly looks like a bug, but you should raise an iTAR on Metalink since Oracle does not monitor this forum.
    I was able to replicate your results on my 10.2.0.1 database.
    There is an easier workaround than yours. Try
    ALTER TABLE sql_bug_test MODIFY (z VARCHAR2(1));That seems to eliminate the problem on my instance.
    John

  • Creating large polygons in PL/SQL - memory leak?

    I'm using PL/SQL to create a polygon with a very large number of vertices. I use SQL*Plus to execute the procedure. I check the memory usage in Windows Task Manager before and after the procedure. After the procedure finishes, 200K or more of memory does not get released. When I exit SQL*Plus, the memory is released. I wonder if I'm mis-understanding garbage collection in PL/SQL?
    Background: This is an experiment to prove the feasibility of composing polygons in PL/SQL. I need a procedure that selects x and y vertex coordinates from a table where the x and y are stored as normal numbers. The procedure will then compose an SDO_GEOMETRY and insert it into a spatial table. The procedure may process many thousands of polygons in this way. My experiment is to show that PL/SQL can 1) be used to populate geometry with a large number of vertices, and 2) that performance is adequate for this job.
    As a side note: I found that PL/SQL will generate an error when the ordinate array exceeds about 1,040,000 ordinates (500,000 2D vertices).
    My real question though is this: What should I do in my procedure to release the memory? Once I figure this out, I will be composing and destroying the geometry object once for each iteration of a loop that generates the object.
    Sample:
    SET SERVEROUTPUT ON
    DECLARE
    geom MDSYS.SDO_GEOMETRY;
    arrElemInfo MDSYS.SDO_ELEM_INFO_ARRAY;
    arrOrd MDSYS.SDO_ORDINATE_ARRAY;
    x integer := 0;
    y integer := 0;
    BEGIN
    arrElemInfo := MDSYS.SDO_ELEM_INFO_ARRAY(1,3,1); -- Start offset 1, etype is polygon, Interpret ETYPE as Simple polygon whose vertices are connected by straight line segments
    arrOrd := MDSYS.SDO_ORDINATE_ARRAY();
    FOR i IN 1..500000 LOOP
    x := 1;
    y := i;
    arrOrd.EXTEND(2);
    arrOrd(arrOrd.COUNT-1) := x;
    arrOrd(arrOrd.COUNT) := y;
    END LOOP;
    -- Close the polygon
    arrOrd.EXTEND(2);
    arrOrd(arrOrd.COUNT-1) := arrOrd(1);
    arrOrd(arrOrd.COUNT) := arrOrd(2);
    geom := mdsys.sdo_geometry(2003,NULL,NULL,arrElemInfo,arrOrd);
    DBMS_OUTPUT.PUT_LINE(geom.sdo_ordinates.count);
    END;
    null

    Hi Dale,
    There have been a couple of PL/SQL bug fixes in 9i related to memory use with objects. It is possible you have run into one of those issues.
    Also, I've noticed a one-time cost associated with certain functions that cause memory usage to jump once, then stabilize.
    Also, the maximum size for a varray column in Oracle (and hence the max size for the sdo_ordinates and sdo_elem_info arrays) is 1048576.
    hope this helps,
    dan
    null

  • Reinstall JAVA Environment BUG 1955536

    We have to migrate a production database from 8.1.6 to 8.1.7.
    The new environment should include the XML Parser.
    So we found that when you go into problems with installation of
    JVM it's not possible to remove the JVM by rmjvm.sql
    BUG 1955536.
    Oracle suggestion: Rebuild your database.
    Is it realy true ?
    is anybody expierenced with removing JVM?
    Thanks.

    You need to uninstall jre too. After uninstalling it, delete the files in program files\java and again install j2sdk1.3.

  • Is empty string and Null same?

    create table x
    (empid number);
    Table created.
    insert into x values ('');
    1 row created.
    insert into x values (null);
    1 row created.
    SQL> set null <<>>
    SQL> select * from x;
         EMPID
    <<>>
    <<>>So i can safely change an Insert statement like
    insert into x values ('');to
    insert into x values (null);Right?

    michaels2 wrote:
    char pads with spaces to the length of the data itemdon't think so - at least not on my 11.2.0.1.0Good. Oracle finally fixed it. Before 11.2 it was pretty much as ajallen noted:
    Oracle Database 11g Enterprise Edition Release 11.1.0.6.0 - Production
    PL/SQL Release 11.1.0.6.0 - Production
    CORE    11.1.0.6.0      Production
    TNS for 32-bit Windows: Version 11.1.0.6.0 - Production
    NLSRTL Version 11.1.0.6.0 - Production
    SET SERVEROUTPUT ON
    DECLARE
        flag CHAR(2);
        PROCEDURE check_null (p_flag IN CHAR)
        IS
        BEGIN
          IF p_flag = '  '
            THEN
              dbms_output.put_line ('flag is equal to ''  ''');
            ELSIF p_flag IS NULL
              THEN
                dbms_output.put_line ('flag is null');
            ELSE
              dbms_output.put_line ('other');
          END IF;
        END;
    BEGIN
        flag := '';
        check_null (flag);
        flag := NULL;
        check_null (flag);
    END;
    flag is equal to '  '
    flag is null
    PL/SQL procedure successfully completed.
    alter session set events '10932 trace name context forever, level 16384';
    DECLARE
        flag CHAR(2);
        PROCEDURE check_null (p_flag IN CHAR)
        IS
        BEGIN
          IF p_flag = '  '
            THEN
              dbms_output.put_line ('flag is equal to ''  ''');
            ELSIF p_flag IS NULL
              THEN
                dbms_output.put_line ('flag is null');
            ELSE
              dbms_output.put_line ('other');
          END IF;
        END;
    BEGIN
        flag := '';
        check_null (flag);
        flag := NULL;
        check_null (flag);
    END;
    flag is null
    flag is null
    PL/SQL procedure successfully completed.
    SQL>
    Bug 727361: ZERO-LENGTH STRING DOES NOT RETURN NULL WHEN USED WITH CHAR DATA TYPE IN PL/SQL
    SY.

  • CMP Entity Bean with database specific features

    Hi there,
    I�m studying Entity Beans and I'm doing some experiences with SQL Server.
    At first, I built a CMP Bean and marked in deploytool to create the tables. Ok, it worked.
    Now, I'm trying to interact to an existent database. But, I got a problem: the primary key is defined by the Server. I can read it and I can remove entries. But, when I try to insert some entry, I can't pass the key in SQL statement. I edited the generated statement to do it, but it doesn't work. I get a RollbackException.
    My question is: is it possible to do what I'm intending to do with CMP? What am I doing wrong?
    Do you think that, to do this, I should use BMP Entity beans?
    Thanks in advance,
    Anicio

    "CMP provides you with database independence and less coding efforts."
    BMP is not database dependent, unless you invoke database specific things in your SQL (something I do not do). CMP on the otherhand is inherently appserver specific (which was it's goal when BEA, IBM, et al. came up with it), and still limits your design possibilities. See this thread for an example:
    http://forum.java.sun.com/thread.jsp?forum=13&thread=318785
    As for less coding effort, that is a relative statment. Yes a simple CMP bean requires less coding to develop the first time. I personally view a few lines of SQL to load and store the data as being fairly trivial. But that needs to be offset with the problems inherent in using appserver specific CMP implementations.
    As an example, try mapping WebSphere CMP to a pre-existing database without using IBM's IDE. It's an incredible pain in the ass since WebSphere does not come with a "meet-in-the-middle" solution. Any J2EE developer that has had the experience of working with different appservers (especially if they have had to port an app, as I have) can attest to the complications that arise with each implementation.
    A BMP bean, written with non-DB-specific SQL, is the most portable, most flexible approach to EntityBeans. Yes, it requires the developer to be able to write some SQL, which should not take a significant amout of time. WRT queries, you have to write them, either SQL, EQL, or some appserver specific format.
    As an aside, the use of code generators to simplify the creation of EJBs lends itself well to BMP. By using a (or writing your own) code generator, you can mitigate the annoying SQL bugs that creep up early in development.

  • Data not getting bind with cursor

    Hi,
    Database: Oracle Database 11g Enterprise Edition Release 11.1.0.6.0 - 64bit
    OS: Windows Server 2003
    Consider following procedure:
    Proc P1() as
    cursor c(in_par varchar2) is select distinct col1, col2 from Table1 where col3 = in_par;
    begin
    for rec_c in c('X') loop
    end loop;
    exception
    end;
    Problem: In most of the execution, the value 'X' passed in cursor c get bind with col3 in where clause and get the desired result. However, in some cases, the value 'X' does not get bind with col3 in where clause. I don't know the steps to re-produce the issue, but it occurs once in a while.
    On querying v$sql_bind_capture, i get 'NULL' in value_string whenever this problem occurs. Otherwise, I get 'X' in v$sql_bind_capture. No exception is thrown anytime.
    What may cause miss of binding constant literal 'X' to cursor?

    Have not seen this error before - PL/SQL not binding SQL statements containing PL/SQL variables, correctly. What at times happen is no bind at all due to name collision. Using the same name for a PL/SQL variable as a SQL column in the SQL statement and scope being such that with name resolution, the SQL column gets preference. This of course does not seem to be the case here.
    What could be happening is that a null variable is being passed as the bind value.
    You can also have a look at the Metalink/support.oracle.com for any notes or bugs on this behaviour. Knee-jerk reaction from my side that this is too a common issue to be an actual PL/SQL bug... (would have reared its head a long time ago)
    In cases like this I like to make sanity checks - reduce the problem to its bare basics with a test case and see if that works. Then gradually increase its complexity and see when it brakes, if at all.

  • CMP Entity Bean from dataBase views

    Hi forum,
    I Have to migrate an existing application to JEE (with EJB3).
    In this application there are a lot of dataBase views.
    I'm new in EJB3 and I don't know how to structure cleanly entity beans (Specially when it are created from dataBase views).
    My problem is that for each query made from the same dataBase view I almost have to create a new entity bean with a different @Id.
    What can I do to to avoid it?
    I had thought to genrate a new @Id (attribute not persistent) but I think is not possible. It's right ?
    Someone can help me ?
    Thanks

    "CMP provides you with database independence and less coding efforts."
    BMP is not database dependent, unless you invoke database specific things in your SQL (something I do not do). CMP on the otherhand is inherently appserver specific (which was it's goal when BEA, IBM, et al. came up with it), and still limits your design possibilities. See this thread for an example:
    http://forum.java.sun.com/thread.jsp?forum=13&thread=318785
    As for less coding effort, that is a relative statment. Yes a simple CMP bean requires less coding to develop the first time. I personally view a few lines of SQL to load and store the data as being fairly trivial. But that needs to be offset with the problems inherent in using appserver specific CMP implementations.
    As an example, try mapping WebSphere CMP to a pre-existing database without using IBM's IDE. It's an incredible pain in the ass since WebSphere does not come with a "meet-in-the-middle" solution. Any J2EE developer that has had the experience of working with different appservers (especially if they have had to port an app, as I have) can attest to the complications that arise with each implementation.
    A BMP bean, written with non-DB-specific SQL, is the most portable, most flexible approach to EntityBeans. Yes, it requires the developer to be able to write some SQL, which should not take a significant amout of time. WRT queries, you have to write them, either SQL, EQL, or some appserver specific format.
    As an aside, the use of code generators to simplify the creation of EJBs lends itself well to BMP. By using a (or writing your own) code generator, you can mitigate the annoying SQL bugs that creep up early in development.

  • Bug with Show Whitespace and tab and space characters in SQL comments

    If Preferences > Code Editor > Display > Show Whitespace Characters is checked, and I type the following in SQL Worksheet:
    --A[tab]B[space]C
    It renders with two spaces between B and C. The first one is a blank space without the light dot character used to signify a space character, and the second space is filled with the dot character. The caret is then blinking before the C instead of after it:
    --A[tab]B[space][dot][|]C
    Further selection actions and editing in the region produce "corrupted" results. I've tried changing fonts, but there was no change to the behavior. Multiple tabs before the B produce multiple blank spaces immediately after it, and when placed at the end of the line the caret is then shown another space to the left of the C:
    --A[tab][tab]B[space][space][|][dot]C
    If I turn off Show Whitespace Characters the rendering immediately corrects, and caret placement, selection action, and editing behaviors all work as expected.
    This is observed on OS X with both the Mac OS X and Oracle/Fusion Blue look and feels.
    Ian
    About
    Oracle SQL Developer 3.0.04
    Version 3.0.04
    Build MAIN-04.34
    Copyright © 2005, 2011 Oracle. All Rights Reserved.
    IDE Version: 11.1.1.4.37.59.31
    Product ID: oracle.sqldeveloper
    Product Version: 11.1.2.04.34
    Version
    Component     Version
    =========     =======
    Java(TM) Platform     1.6.0_24
    Oracle IDE     3.0.04.34
    Versioning Support     3.0.04.34
    Properties
    Name     Value
    ====     =====
    apple.awt.graphics.UseOpenGL     false
    apple.awt.graphics.UseQuartz     false
    apple.laf.useScreenMenuBar     true
    awt.nativeDoubleBuffering     true
    awt.toolkit     apple.awt.CToolkit
    class.load.environment     oracle.ide.boot.IdeClassLoadEnvironment
    class.load.log.level     CONFIG
    class.transfer     delegate
    com.apple.macos.smallTabs     true
    com.apple.mrj.application.apple.menu.about.name     SQL_Developer
    com.apple.mrj.application.growbox.intrudes     false
    file.encoding     MacRoman
    file.encoding.pkg     sun.io
    file.separator     /
    ftp.nonProxyHosts     local|*.local|169.254/16|*.169.254/16
    gopherProxySet     false
    ice.browser.forcegc     false
    ice.pilots.html4.ignoreNonGenericFonts     true
    ice.pilots.html4.tileOptThreshold     0
    ide.AssertTracingDisabled     true
    ide.bootstrap.start     1309201485440911000
    ide.build     MAIN-04.34
    ide.conf     /Applications/Development/SQLDeveloper.app/Contents/Resources/sqldeveloper/sqldeveloper/bin/sqldeveloper.conf
    ide.config_pathname     /Applications/Development/SQLDeveloper.app/Contents/Resources/sqldeveloper/sqldeveloper/bin/sqldeveloper.conf
    ide.debugbuild     false
    ide.devbuild     false
    ide.extension.search.path     sqldeveloper/extensions:jdev/extensions:ide/extensions
    ide.firstrun     true
    ide.java.minversion     1.6.0_04
    ide.main.class     oracle.ide.boot.IdeLauncher
    ide.patches.dir     ide/lib/patches
    ide.pref.dir     /Users/ibrandt/.sqldeveloper
    ide.product     oracle.sqldeveloper
    ide.splash.screen     splash.gif
    ide.startingcwd     "/Applications/Development/SQLDeveloper.app/Contents/Resources/sqldeveloper/sqldeveloper/bin"
    ide.user.dir     /Users/ibrandt/.sqldeveloper
    ide.user.dir.var     IDE_USER_DIR
    ide.vcs.noapplications     true
    ide.work.dir     /Users/ibrandt/sqldeveloper
    ilog.propagatesPropertyEditors     false
    java.awt.graphicsenv     apple.awt.CGraphicsEnvironment
    java.awt.printerjob     apple.awt.CPrinterJob
    java.class.path     ../../ide/lib/ide-boot.jar
    java.class.version     50.0
    java.endorsed.dirs     /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home/lib/endorsed
    java.ext.dirs     /Library/Java/Extensions:/System/Library/Java/Extensions:/System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home/lib/ext
    java.home     /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home
    java.io.tmpdir     /var/folders/rq/rqQtue9lEpGAwCKh2hL8MU+++TM/-Tmp-/
    java.library.path     .:/Library/Java/Extensions:/System/Library/Java/Extensions:/usr/lib/java
    java.naming.factory.initial     oracle.javatools.jndi.LocalInitialContextFactory
    java.protocol.handler.pkgs     oracle.jdevimpl.handler
    java.runtime.name     Java(TM) SE Runtime Environment
    java.runtime.version     1.6.0_24-b07-334-10M3326
    java.specification.name     Java Platform API Specification
    java.specification.vendor     Sun Microsystems Inc.
    java.specification.version     1.6
    java.util.logging.config.file     logging.conf
    java.vendor     Apple Inc.
    java.vendor.url     http://www.apple.com/
    java.vendor.url.bug     http://bugreport.apple.com/
    java.version     1.6.0_24
    java.vm.info     mixed mode
    java.vm.name     Java HotSpot(TM) 64-Bit Server VM
    java.vm.specification.name     Java Virtual Machine Specification
    java.vm.specification.vendor     Sun Microsystems Inc.
    java.vm.specification.version     1.0
    java.vm.vendor     Apple Inc.
    java.vm.version     19.1-b02-334
    jdbc.library     /Applications/Development/SQLDeveloper.app/Contents/Resources/sqldeveloper/jdbc/lib/ojdbc6.jar
    line.separator     \n
    log.file.name     /Applications/Development/SQLDeveloper.app/Contents/Resources/sqldeveloper/sqldeveloper/extensions/oracle.datamodeler/log/datamodeler.log
    mrj.build     10M3326
    mrj.version     1060.1.6.0_24-334
    oracle.home     /Applications/Development/SQLDeveloper.app/Contents/Resources/sqldeveloper
    oracle.ide.util.AddinPolicyUtils.OVERRIDE_FLAG     true
    oracle.jdbc.mapDateToTimestamp     false
    oracle.translated.locales     de,es,fr,it,ja,ko,pt_BR,zh_CN,zh_TW
    oracle.xdkjava.compatibility.version     9.0.4
    orai18n.library     /Applications/Development/SQLDeveloper.app/Contents/Resources/sqldeveloper/jlib/orai18n.jar
    os.arch     x86_64
    os.name     Mac OS X
    os.version     10.6.8
    path.separator     :
    reserved_filenames     con,aux,prn,lpt1,lpt2,lpt3,lpt4,lpt5,lpt6,lpt7,lpt8,lpt9,com1,com2,com3,com4,com5,com6,com7,com8,com9,conin$,conout,conout$
    socksNonProxyHosts     local|*.local|169.254/16|*.169.254/16
    sqldev.debug     false
    sun.arch.data.model     64
    sun.awt.exception.handler     apple.awt.CToolkit$EventQueueExceptionHandler
    sun.boot.class.path     ../../rdbms/jlib/ojdi.jar:
    /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Classes/jsfd.jar:
    /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Classes/classes.jar:
    /System/Library/Frameworks/JavaVM.framework/Frameworks/JavaRuntimeSupport.framework/Resources/Java/JavaRuntimeSupport.jar:
    /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Classes/ui.jar:
    /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Classes/laf.jar:
    /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Classes/sunrsasign.jar:
    /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Classes/jsse.jar:
    /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Classes/jce.jar:
    /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Classes/charsets.jar
    sun.boot.library.path     /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Libraries
    sun.cpu.endian     little
    sun.cpu.isalist     
    sun.io.unicode.encoding     UnicodeLittle
    sun.java.launcher     SUN_STANDARD
    sun.java2d.ddoffscreen     false
    sun.jnu.encoding     MacRoman
    sun.management.compiler     HotSpot 64-Bit Server Compiler
    sun.os.patch.level     unknown
    svnkit.sax.useDefault     true
    user.country     US
    user.dir     /Applications/Development/SQLDeveloper.app/Contents/Resources/sqldeveloper/sqldeveloper/bin
    user.home     /Users/ibrandt
    user.language     en
    user.name     ibrandt
    user.timezone     America/Los_Angeles
    windows.shell.font.languages     
    Extensions
    Name     Identifier     Version     Status
    ====     ==========     =======     ======
    Check For Updates     oracle.ide.webupdate     11.1.1.4.37.59.31     Loaded
    Code Editor     oracle.ide.ceditor     11.1.1.4.37.59.31     Loaded
    Component Palette     oracle.ide.palette1     11.1.1.4.37.59.31     Loaded
    Data Miner     oracle.dmt.dataminer     11.2.0.1.10.109     Loaded
    Database Connection Support     oracle.jdeveloper.db.connection     11.1.1.4.37.59.31     Loaded
    Database Object Explorers     oracle.ide.db.explorer     11.1.1.4.37.59.31     Loaded
    Database UI     oracle.ide.db     11.1.1.4.37.59.31     Loaded
    Diagram Framework     oracle.diagram     11.1.1.4.37.59.31     Loaded
    Diagram Javadoc Extension     oracle.diagram.javadoc     11.1.1.4.37.59.31     Loaded
    Diagram Thumbnail     oracle.diagram.thumbnail     11.1.1.4.37.59.31     Loaded
    Diff/Merge     oracle.ide.diffmerge     11.1.1.4.37.59.31     Loaded
    Extended IDE Platform     oracle.javacore     11.1.1.4.37.59.31     Loaded
    External Tools     oracle.ide.externaltools     11.1.1.4.37.59.31     Loaded
    File Support     oracle.ide.files     11.1.1.4.37.59.31     Loaded
    Help System     oracle.ide.help     11.1.1.4.37.59.31     Loaded
    History Support     oracle.jdeveloper.history     11.1.1.4.37.59.31     Loaded
    Import/Export Support     oracle.ide.importexport     11.1.1.4.37.59.31     Loaded
    Index Migrator support     oracle.ideimpl.indexing-migrator     11.1.1.4.37.59.31     Loaded
    JDeveloper Runner     oracle.jdeveloper.runner     11.1.1.4.37.59.31     Loaded
    JViews Registration Addin     oracle.diagram.registration     11.1.1.4.37.59.31     Loaded
    Log Window     oracle.ide.log     11.1.1.4.37.59.31     Loaded
    Mac OS X Adapter     oracle.ideimpl.apple     11.1.1.4.37.59.31     Loaded
    Navigator     oracle.ide.navigator     11.1.1.4.37.59.31     Loaded
    Object Gallery     oracle.ide.gallery     11.1.1.4.37.59.31     Loaded
    Oracle IDE     oracle.ide     11.1.1.4.37.59.31     Loaded
    Oracle SQL Developer     oracle.sqldeveloper     11.1.2.04.34     Loaded
    Oracle SQL Developer - 3rd Party Database Browsers     oracle.sqldeveloper.thirdparty.browsers     11.1.1.04.34     Loaded
    Oracle SQL Developer - DBA Navigator     oracle.sqldeveloper.dbanavigator     11.1.1.04.34     Loaded
    Oracle SQL Developer - Extras     oracle.sqldeveloper.extras     1.1.1.04.34     Loaded
    Oracle SQL Developer - File Navigator     oracle.sqldeveloper.filenavigator     11.1.1.04.34     Loaded
    Oracle SQL Developer - Migrations Antlr3 Translator     oracle.sqldeveloper.migration.translation.core_antlr3     11.1.1.04.34     Loaded
    Oracle SQL Developer - Migrations Application Migration     oracle.sqldeveloper.migration.application     11.1.1.04.34     Loaded
    Oracle SQL Developer - Migrations Core     oracle.sqldeveloper.migration     11.1.1.04.34     Loaded
    Oracle SQL Developer - Migrations DB2     oracle.sqldeveloper.migration.db2     11.1.1.04.34     Loaded
    Oracle SQL Developer - Migrations DB2 Translator     oracle.sqldeveloper.migration.translation.db2     11.1.1.04.34     Loaded
    Oracle SQL Developer - Migrations Microsoft Access     oracle.sqldeveloper.migration.msaccess     11.1.1.04.34     Loaded
    Oracle SQL Developer - Migrations Microsoft SQL Server     oracle.sqldeveloper.migration.sqlserver     11.1.1.04.34     Loaded
    Oracle SQL Developer - Migrations MySQL     oracle.sqldeveloper.migration.mysql     11.1.1.04.34     Loaded
    Oracle SQL Developer - Migrations Sybase Adaptive Server     oracle.sqldeveloper.migration.sybase     11.1.1.04.34     Loaded
    Oracle SQL Developer - Migrations T-SQL Translator     oracle.sqldeveloper.migration.translation.core     11.1.1.04.34     Loaded
    Oracle SQL Developer - Migrations Teradata     oracle.sqldeveloper.migration.teradata     11.1.1.04.34     Loaded
    Oracle SQL Developer - Migrations Translation UI     oracle.sqldeveloper.migration.translation.gui     11.1.1.04.34     Loaded
    Oracle SQL Developer - Object Viewer     oracle.sqldeveloper.oviewer     11.1.1.04.34     Loaded
    Oracle SQL Developer - Real Time SQL Monitoring     oracle.sqldeveloper.sqlmonitor     11.1.1.04.34     Loaded
    Oracle SQL Developer - Reports     oracle.sqldeveloper.report     11.1.1.04.34     Loaded
    Oracle SQL Developer - Scheduler     oracle.sqldeveloper.scheduler     11.1.1.04.34     Loaded
    Oracle SQL Developer - Schema Browser     oracle.sqldeveloper.schemabrowser     11.1.1.04.34     Loaded
    Oracle SQL Developer - SearchBar     oracle.sqldeveloper.searchbar     11.1.1.04.34     Loaded
    Oracle SQL Developer - Snippet     oracle.sqldeveloper.snippet     11.1.1.04.34     Loaded
    Oracle SQL Developer - Spatial     oracle.sqldeveloper.spatial     11.1.1.04.34     Loaded
    Oracle SQL Developer - TimesTen     oracle.sqldeveloper.timesten     2.0.0.04.34     Loaded
    Oracle SQL Developer - Tuning     oracle.sqldeveloper.tuning     11.1.1.04.34     Loaded
    Oracle SQL Developer - Unit Test     oracle.sqldeveloper.unit_test     11.1.1.04.34     Loaded
    Oracle SQL Developer - User Extensions Support     oracle.sqldeveloper.userextensions     11.1.1.04.34     Loaded
    Oracle SQL Developer - Worksheet v2     oracle.sqldeveloper.worksheet     11.1.1.04.34     Loaded
    Oracle SQL Developer - XML Schema     oracle.sqldeveloper.xmlschema     11.1.1.04.34     Loaded
    Oracle SQL Developer Data Modeler     oracle.datamodeler     3.0.0.665.2     Loaded
    Oracle SQL Developer Data Modeler - Reports     oracle.sqldeveloper.datamodeler_reports     11.1.1.04.34     Loaded
    PROBE Debugger     oracle.jdeveloper.db.debug.probe     11.1.1.4.37.59.31     Loaded
    Peek     oracle.ide.peek     11.1.1.4.37.59.31     Loaded
    Persistent Storage     oracle.ide.persistence     11.1.1.4.37.59.31     Loaded
    Property Inspector     oracle.ide.inspector     11.1.1.4.37.59.31     Loaded
    QuickDiff     oracle.ide.quickdiff     11.1.1.4.37.59.31     Loaded
    Replace With     oracle.ide.replace     11.1.1.4.37.59.31     Loaded
    Runner     oracle.ide.runner     11.1.1.4.37.59.31     Loaded
    VHV     oracle.ide.vhv     11.1.1.4.37.59.31     Loaded
    Versioning Support     oracle.jdeveloper.vcs     11.1.1.4.37.59.31     Loaded
    Versioning Support for Subversion     oracle.jdeveloper.subversion     11.1.1.4.37.59.31     Loaded
    Virtual File System     oracle.ide.vfs     11.1.1.4.37.59.31     Loaded
    Web Browser and Proxy     oracle.ide.webbrowser     11.1.1.4.37.59.31     Loaded
    XML Editing Framework IDE Extension     oracle.ide.xmlef     11.1.1.4.37.59.31     Loaded
    audit     oracle.ide.audit     11.1.1.4.37.59.31     Loaded
    classpath: protocol handler extension     oracle.jdeveloper.classpath     11.1.1.0.0     Loaded
    jdukshare     oracle.bm.jdukshare     11.1.1.4.37.59.31     Loaded
    mof-xmi     oracle.mof.xmi     11.1.1.4.37.59.31     Loaded
    oracle.ide.dependency     oracle.ide.dependency     11.1.1.4.37.59.31     Loaded
    oracle.ide.indexing     oracle.ide.indexing     11.1.1.4.37.59.31     Loaded
    palette2     oracle.ide.palette2     11.1.1.4.37.59.31     Loaded
    status     oracle.ide.status     11.1.1.4.37.59.31     Loaded

    are you using an "Expert Mode" query or not?
    With normal mode, the query is stored in an XML attribute.
    With expert mode, it's stored in a CDATA Section, which allows it to respect all user-spacing and newlines.
    XML attribute values are forced by the XML 1.0 spec to be normalized, and this is done by the parser when they are read in. That might account for your different in space treatment.

Maybe you are looking for

  • HOW CAN I MAKE A DVD FROM MY VIDEOS AND PHOTOS?

    I have videos and photos in iphoto and want to make a presentation that will include photos intersperced with video. Is that possible? If so please advise. Not a high-tech kind of person

  • Admin is unabled to install Flash ActiveX due to missing rights

    Hello! I have been using FlashPlayer ActiveX for a very long time without any problems. Now I tried to upgrade to 11.2.202.253 ActiveX and received the fllowing error message: "A neccesary file (C:\Windows\system32\Macromed\Flash\FlashUtil32_11_2_202

  • Error In DTW while importing COA

    Hi experts,   While importing COA through DTW error is displaying as "illegal parent number application defined or object defined error oCOA. Rajesh

  • Error when doing recovery

    Hello - I get the following error when running sql>alter database open resetlogs;: SQL> conn / as sysdba Connected. SQL> alter database open resetlogs; alter database open resetlogs ERROR at line 1: ORA-01264: Unable to create logfile file name ORA-1

  • QuickTime lossless Output

    Hi all, I have a ".avi uncompressed" file in AE, I want to have an output so I can import it to Final Cut Pro, since Final Cut does not supprt .avi I have to change it to something that it does without any quality loss. so I thought changing it to Qu