<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
		>
<channel>
	<title>Comments on: Conditional SQL &#8211; 3</title>
	<atom:link href="http://jonathanlewis.wordpress.com/2010/10/31/conditional-sql-3/feed/" rel="self" type="application/rss+xml" />
	<link>http://jonathanlewis.wordpress.com/2010/10/31/conditional-sql-3/</link>
	<description>Just another Oracle weblog</description>
	<lastBuildDate>Tue, 18 Jun 2013 17:11:36 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
	<item>
		<title>By: Jonathan Lewis</title>
		<link>http://jonathanlewis.wordpress.com/2010/10/31/conditional-sql-3/#comment-37658</link>
		<dc:creator><![CDATA[Jonathan Lewis]]></dc:creator>
		<pubDate>Thu, 04 Nov 2010 07:48:50 +0000</pubDate>
		<guid isPermaLink="false">http://jonathanlewis.wordpress.com/?p=4716#comment-37658</guid>
		<description><![CDATA[Zahir,
I think Narenda has probably answered your question. A minor detail, though: the concatenation path is no available for &quot;:bind is null or col = :bind&quot;, it&#039;s only available for the nvl() and a specific case of decode().

Technically, then, it&#039;s possible that the code I supplied could have been modified to use the nvl() mechanism rather than being rewritten with the UNION ALL mechanism  - but it&#039;s not always appropriate thanks to the issues of NULLs that I have pointed out elsewhere.]]></description>
		<content:encoded><![CDATA[<p>Zahir,<br />
I think Narenda has probably answered your question. A minor detail, though: the concatenation path is no available for &#8220;:bind is null or col = :bind&#8221;, it&#8217;s only available for the nvl() and a specific case of decode().</p>
<p>Technically, then, it&#8217;s possible that the code I supplied could have been modified to use the nvl() mechanism rather than being rewritten with the UNION ALL mechanism  &#8211; but it&#8217;s not always appropriate thanks to the issues of NULLs that I have pointed out elsewhere.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Narendra</title>
		<link>http://jonathanlewis.wordpress.com/2010/10/31/conditional-sql-3/#comment-37645</link>
		<dc:creator><![CDATA[Narendra]]></dc:creator>
		<pubDate>Mon, 01 Nov 2010 04:21:48 +0000</pubDate>
		<guid isPermaLink="false">http://jonathanlewis.wordpress.com/?p=4716#comment-37645</guid>
		<description><![CDATA[Zahir,

I am sure Jonathan will explain it much better but let me see what I can do :)
I think what Tom has mentioned in his reply is that 8i was the last version where oracle ALWAYS generated a plan containing a single access path (full table scan) for these type of queries. Starting from 9i onwards, oracle is capable to generate a plan that can have two access paths and either of those will be chosen at run time. If you read Jonathan&#039;s post (linked above), it explains this in detail (and also tells that the plan swiches back to full table scan when you have more than one sunch predicates in WHERE clause.)

p.s. Apologies Jonathan for jumping in your question.]]></description>
		<content:encoded><![CDATA[<p>Zahir,</p>
<p>I am sure Jonathan will explain it much better but let me see what I can do :)<br />
I think what Tom has mentioned in his reply is that 8i was the last version where oracle ALWAYS generated a plan containing a single access path (full table scan) for these type of queries. Starting from 9i onwards, oracle is capable to generate a plan that can have two access paths and either of those will be chosen at run time. If you read Jonathan&#8217;s post (linked above), it explains this in detail (and also tells that the plan swiches back to full table scan when you have more than one sunch predicates in WHERE clause.)</p>
<p>p.s. Apologies Jonathan for jumping in your question.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Zahir Mohideen</title>
		<link>http://jonathanlewis.wordpress.com/2010/10/31/conditional-sql-3/#comment-37644</link>
		<dc:creator><![CDATA[Zahir Mohideen]]></dc:creator>
		<pubDate>Mon, 01 Nov 2010 01:16:43 +0000</pubDate>
		<guid isPermaLink="false">http://jonathanlewis.wordpress.com/?p=4716#comment-37644</guid>
		<description><![CDATA[Hello Jonathan , 

It was mentioned in Oracle 8i manual ( the concept of predicate collapsing) .
I was of the same thinking as yours about the above statement  .

And I asked the follow up question to the similar posting in ask tom site 
( http://asktom.oracle.com/pls/apex/f?p=100:11:0::::P11_QUESTION_ID:2689943800346359019#2691231100346040851). 


Per Tom , this is no longer the case .  Please advise , if I misunderstood the concept or nvl expansion .

Cheers.]]></description>
		<content:encoded><![CDATA[<p>Hello Jonathan , </p>
<p>It was mentioned in Oracle 8i manual ( the concept of predicate collapsing) .<br />
I was of the same thinking as yours about the above statement  .</p>
<p>And I asked the follow up question to the similar posting in ask tom site<br />
( <a href="http://asktom.oracle.com/pls/apex/f?p=100:11:0" rel="nofollow">http://asktom.oracle.com/pls/apex/f?p=100:11:0</a>::::P11_QUESTION_ID:2689943800346359019#2691231100346040851). </p>
<p>Per Tom , this is no longer the case .  Please advise , if I misunderstood the concept or nvl expansion .</p>
<p>Cheers.</p>
]]></content:encoded>
	</item>
</channel>
</rss>
