<?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"
	>
<channel>
	<title>Comments on: Undocumented LNNVL SQL function now safe to use</title>
	<atom:link href="http://awads.net/wp/2006/05/02/undocumented-lnnvl-sql-function-now-safe-to-use/feed/" rel="self" type="application/rss+xml" />
	<link>http://awads.net/wp/2006/05/02/undocumented-lnnvl-sql-function-now-safe-to-use/</link>
	<description>News, views, tips and tricks on Oracle and other fun stuff</description>
	<pubDate>Thu, 07 Aug 2008 23:45:16 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.5</generator>
		<item>
		<title>By: Laurent Schneider</title>
		<link>http://awads.net/wp/2006/05/02/undocumented-lnnvl-sql-function-now-safe-to-use/#comment-50019</link>
		<dc:creator>Laurent Schneider</dc:creator>
		<pubDate>Tue, 26 Sep 2006 09:52:14 +0000</pubDate>
		<guid isPermaLink="false">http://awads.net/wp/2006/05/02/undocumented-lnnvl-sql-function-now-safe-to-use/#comment-50019</guid>
		<description>&lt;p&gt;I would not even pretend it is safe to use in 10g !&lt;/p&gt;

&lt;p&gt;SQL&#62; select * from dual where not lnnvl(1=1);
select * from dual where not lnnvl(1=1)
*
ERROR at line 1:
ORA-03113: end-of-file on communication channel&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p>I would not even pretend it is safe to use in 10g !</p>
<p>SQL&gt; select * from dual where not lnnvl(1=1);<br />
select * from dual where not lnnvl(1=1)<br />
*<br />
ERROR at line 1:<br />
ORA-03113: end-of-file on communication channel</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Karl</title>
		<link>http://awads.net/wp/2006/05/02/undocumented-lnnvl-sql-function-now-safe-to-use/#comment-5505</link>
		<dc:creator>Karl</dc:creator>
		<pubDate>Wed, 03 May 2006 19:31:29 +0000</pubDate>
		<guid isPermaLink="false">http://awads.net/wp/2006/05/02/undocumented-lnnvl-sql-function-now-safe-to-use/#comment-5505</guid>
		<description>&lt;p&gt;Now i wait for an article about the spivns() undocumented oracle function. It starts a space invaders clone. And guess the unlimited dbms_output buffering introduced in 10.2 was the base for it!
;-)
Karl&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p>Now i wait for an article about the spivns() undocumented oracle function. It starts a space invaders clone. And guess the unlimited dbms_output buffering introduced in 10.2 was the base for it! <img src='http://awads.net/wp/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> Karl</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Eddie Awad</title>
		<link>http://awads.net/wp/2006/05/02/undocumented-lnnvl-sql-function-now-safe-to-use/#comment-5500</link>
		<dc:creator>Eddie Awad</dc:creator>
		<pubDate>Wed, 03 May 2006 18:56:00 +0000</pubDate>
		<guid isPermaLink="false">http://awads.net/wp/2006/05/02/undocumented-lnnvl-sql-function-now-safe-to-use/#comment-5500</guid>
		<description>&lt;p&gt;Chuck, thanks for digging it up in 10.1.&lt;/p&gt;

&lt;p&gt;I thought that the "search across the documentation libraries" should have returned results from 10.1 also, but it looks like this is not the case!&lt;/p&gt;

&lt;p&gt;I have updated the post accordingly. Thanks again.&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p>Chuck, thanks for digging it up in 10.1.</p>
<p>I thought that the &#8220;search across the documentation libraries&#8221; should have returned results from 10.1 also, but it looks like this is not the case!</p>
<p>I have updated the post accordingly. Thanks again.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Chuck</title>
		<link>http://awads.net/wp/2006/05/02/undocumented-lnnvl-sql-function-now-safe-to-use/#comment-5498</link>
		<dc:creator>Chuck</dc:creator>
		<pubDate>Wed, 03 May 2006 18:40:53 +0000</pubDate>
		<guid isPermaLink="false">http://awads.net/wp/2006/05/02/undocumented-lnnvl-sql-function-now-safe-to-use/#comment-5498</guid>
		<description>&lt;p&gt;I did see it in the 10.1 docs. Oddly enough the Super Oracle search engine at tahiti didn't find it when searching across all docs.  Drilling into the 10.1 link and searching did reveal to docs.&lt;/p&gt;

&lt;p&gt;http://download-west.oracle.com/docs/cd/B14117_01/server.101/b10759/functions068.htm#i1479295&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p>I did see it in the 10.1 docs. Oddly enough the Super Oracle search engine at tahiti didn&#8217;t find it when searching across all docs.  Drilling into the 10.1 link and searching did reveal to docs.</p>
<p><a href="http://download-west.oracle.com/docs/cd/B14117_01/server.101/b10759/functions068.htm#i1479295" rel="nofollow">http://download-west.oracle.com/docs/cd/B14117_01/server.101/b10759/functions068.htm#i1479295</a></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Eddie Awad</title>
		<link>http://awads.net/wp/2006/05/02/undocumented-lnnvl-sql-function-now-safe-to-use/#comment-5431</link>
		<dc:creator>Eddie Awad</dc:creator>
		<pubDate>Wed, 03 May 2006 00:01:10 +0000</pubDate>
		<guid isPermaLink="false">http://awads.net/wp/2006/05/02/undocumented-lnnvl-sql-function-now-safe-to-use/#comment-5431</guid>
		<description>&lt;p&gt;Gary, you have valid concerns. The advice has always been to avoid using undocumented features.&lt;/p&gt;

&lt;p&gt;The fact that LNNVL has been internally used by the Oracle optimizer (shows up in the query plan in certain situations) in versions prior to 10g, and that LNNVL has been officially documented in 10gR2, make it less of a concern (to me at least) if I want to use it in 9i for example, especially when I know that I will upgrade to 10gR2 in the near future.&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p>Gary, you have valid concerns. The advice has always been to avoid using undocumented features.</p>
<p>The fact that LNNVL has been internally used by the Oracle optimizer (shows up in the query plan in certain situations) in versions prior to 10g, and that LNNVL has been officially documented in 10gR2, make it less of a concern (to me at least) if I want to use it in 9i for example, especially when I know that I will upgrade to 10gR2 in the near future.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Gary</title>
		<link>http://awads.net/wp/2006/05/02/undocumented-lnnvl-sql-function-now-safe-to-use/#comment-5429</link>
		<dc:creator>Gary</dc:creator>
		<pubDate>Tue, 02 May 2006 23:35:55 +0000</pubDate>
		<guid isPermaLink="false">http://awads.net/wp/2006/05/02/undocumented-lnnvl-sql-function-now-safe-to-use/#comment-5429</guid>
		<description>&lt;p&gt;"So, if youâ€™re stuck with Oracle 8i or 9i, you can safely use the undocumented LNNVL function, knowing that it has become documented and supported in 10g."&lt;/p&gt;

&lt;p&gt;I think 'safely' may be going a little to far. I'd be wary about using any feature prior to the version in which it was documented, as there may have been reasons why it was left undocumented.
In this case, my main concern would be whether the CBO is able to correctly determine costs/selectivity/cardinality for that condition. I'd probably have reservations about using it with 'exotic' datatypes too.&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p>&#8220;So, if youâ€™re stuck with Oracle 8i or 9i, you can safely use the undocumented LNNVL function, knowing that it has become documented and supported in 10g.&#8221;</p>
<p>I think &#8217;safely&#8217; may be going a little to far. I&#8217;d be wary about using any feature prior to the version in which it was documented, as there may have been reasons why it was left undocumented.<br />
In this case, my main concern would be whether the CBO is able to correctly determine costs/selectivity/cardinality for that condition. I&#8217;d probably have reservations about using it with &#8216;exotic&#8217; datatypes too.</p>
]]></content:encoded>
	</item>
</channel>
</rss>
