Subject: | The RULE (and CHOOSE) OPTIMIZER_MODE has been deprecated and desupported in 11g |
Date: | Fri, 6 Dec 2013 14:37:03 +0000 |
To: | "bug-DBD-Oracle [...] rt.cpan.org" <bug-DBD-Oracle [...] rt.cpan.org> |
From: | Andy Bucksch <Andy.Bucksch [...] ext.imperia-ag.de> |
Hi,
as the title implies, since oracle 11g the RULE (and CHOOSE) OPTIMIZER_MODE has been deprecated and desupported.
More infos about that: http://www.confio.com/logicalread/oracle-11g-optimizer-changes-affect-tuning-mc02/#.UqHZDcO5TtE
Oracle::DBD in version 1.68 produces SQL statements like:
SELECT *
FROM (
SELECT /*+ CHOOSE */ NULL TABLE_CAT , t.OWNER TABLE_SCHEM , t.TABLE_NAME TABLE_NAME , decode(t.OWNER , 'SYS' , 'SYSTEM ' , 'SYSTEM' , 'SYSTEM ' , '' ) || t.TABLE_TYPE TABLE_TYPE , c.COMMENTS REMARKS
FROM ALL_TAB_COMMENTS c , ALL_CATALOG t
WHERE c.OWNER (+) = t.OWNER AND c.TABLE_NAME (+) = t.TABLE_NAME AND c.TABLE_TYPE (+) = t.TABLE_TYPE )
WHERE TABLE_SCHEM LIKE '%' ESCAPE '\' AND TABLE_NAME LIKE '%TEST_KD_NEWS' ESCAPE '\' ORDER BY TABLE_TYPE, TABLE_SCHEM, TABLE_NAME
which shows that the CHOOSE hint is still applied by DBD::Oracle.
I'm no Oracle expert just a perl developer, please keep that in mind.
Greetings,
Andy