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
(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.
WolfgangThere'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.
MikeJust 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 PetePeter,
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 -
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? -
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;
nullHi 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 Loadedare 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
-
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
-
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