I have a problem with customers which upgraded their installation to Oracle 12 R 2.
When you query a lot of lines from a table with an empty CLOB Column and you query that column with nvl(mycolumn, 'my default value'), then approx. at rownum 100 the column is empty instead of containing 'my default value').
As I use this construct in a plenty of scripts, this is really a very ugly bug.
I'm using ODAC 9 in the latest Version 9.7.28, on the client side I tested with Oracle Client 11 and 12.
I'm still using Delphi XE2 with Update 4.
You can prepare a test scenario with the following script:
Code: Select all
CREATE TABLE TEST_CLOB_ORA12
(
ID VARCHAR2 (32) DEFAULT sys_guid() NOT NULL
, BEM VARCHAR2 (4000)
, BEM_CLOB CLOB
, BEM2_CLOB CLOB
);
ALTER TABLE TEST_CLOB_ORA12
ADD CONSTRAINT PK_TEST_CLOB_ORA12 PRIMARY KEY ( ID );
DECLARE
vLfdNr integer;
begin
FOR vLfdNr IN 1..200
LOOP
insert into TEST_CLOB_ORA12 (bem, BEM2_CLOB) values ( 'Row Nr ' || vLfdNr, 'Bem for Row Nr ' || vLfdNr );
END LOOP;
end;
/
COMMIT;
Code: Select all
select id
, bem
, NVL( bem_clob, 'nvl_value') as test_field
, BEM2_CLOB
from TEST_CLOB_ORA12
With Oracle 12C R1 everything went ok.
I have prepared a little Demoproject, based on DUnitX, which I can send you, if necessary.
Could you please confirm this bug and look for a solution for this problem?
Thanx in advance for your help.
With regards,
Stefan "ostijo" Grosskreutz