<?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/"
		>
<channel>
	<title>Comments on: Encyclopedia Spine Problem</title>
	<atom:link href="http://www.ardentperf.com/2007/05/21/encyclopedia-spine-problem/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.ardentperf.com/2007/05/21/encyclopedia-spine-problem/</link>
	<description>Jeremy Schneider</description>
	<lastBuildDate>Wed, 30 Nov 2011 21:26:13 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
	<item>
		<title>By: Jeremy</title>
		<link>http://www.ardentperf.com/2007/05/21/encyclopedia-spine-problem/#comment-214</link>
		<dc:creator>Jeremy</dc:creator>
		<pubDate>Tue, 22 May 2007 20:58:14 +0000</pubDate>
		<guid isPermaLink="false">http://www.ardentperf.com/2007/05/21/encyclopedia-spine-problem/#comment-214</guid>
		<description>Sheesh... how did I miss the ntile() function.  Duuh.  Just noticed that everyone else used that, so I updated my query to do the same.  Also updated a few variable names to make it easier to follow.  And realized that I wasn&#039;t even using the row_number(), so I removed it.  Somehow problems like this are just never &quot;done&quot; for me.  :)</description>
		<content:encoded><![CDATA[<p>Sheesh&#8230; how did I miss the ntile() function.  Duuh.  Just noticed that everyone else used that, so I updated my query to do the same.  Also updated a few variable names to make it easier to follow.  And realized that I wasn&#8217;t even using the row_number(), so I removed it.  Somehow problems like this are just never &#8220;done&#8221; for me.  :)</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Dominic Delmolino</title>
		<link>http://www.ardentperf.com/2007/05/21/encyclopedia-spine-problem/#comment-213</link>
		<dc:creator>Dominic Delmolino</dc:creator>
		<pubDate>Tue, 22 May 2007 19:01:25 +0000</pubDate>
		<guid isPermaLink="false">http://www.ardentperf.com/2007/05/21/encyclopedia-spine-problem/#comment-213</guid>
		<description>Pretty cool.  Yeah, it&#039;s easy once you read and understand that paper.  But I&#039;m not sure everyone speaks Regex so well...</description>
		<content:encoded><![CDATA[<p>Pretty cool.  Yeah, it&#8217;s easy once you read and understand that paper.  But I&#8217;m not sure everyone speaks Regex so well&#8230;</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Jeremy</title>
		<link>http://www.ardentperf.com/2007/05/21/encyclopedia-spine-problem/#comment-208</link>
		<dc:creator>Jeremy</dc:creator>
		<pubDate>Tue, 22 May 2007 12:52:15 +0000</pubDate>
		<guid isPermaLink="false">http://www.ardentperf.com/2007/05/21/encyclopedia-spine-problem/#comment-208</guid>
		<description>Oops, bitten by the cut-and-paste-backslash-eater again.  I copied the query into wordpress and it ate all my backslashes.  Should be correct now, I escaped them.

Your output actually makes perfect sense because this was the only line affected (there was a second but it&#039;s almost identical):
&lt;pre&gt;&lt;code&gt;&#039;^&#039;&#124;&#124;rpad(regexp_replace(sn_prev,&#039;(.)&#039;,&#039;(\1&#039;),length(sn_prev)*4,&#039;)?&#039;) search_sn,

&lt;/code&gt;&lt;/pre&gt;

It was missing the backslash which effectively made the search string &quot;^(1(1(1)?)?)?&quot; rather than &quot;^(C(O(L)?)?)?&quot; ...  which obviously isn&#039;t going to find any matches - therefor the algorithm thought that there were no Common Leading Strings and sent back only the first character!

Anyway it should work now...

On a side note, I also tried using the extended regexp syntax &quot;^((?:C(?:O(?:L)?)?)?)&quot; as was discussed in &lt;a href=&quot;http://people.cornell.edu/pages/tco2/papers/common_leading_substring/2000-06-09-0830&quot; rel=&quot;nofollow&quot;&gt;the CLS paper&lt;/a&gt; to prevent capturing on all those internal parenthesis...  but Oracle doesn&#039;t seem to support that operator for regular expressions.</description>
		<content:encoded><![CDATA[<p>Oops, bitten by the cut-and-paste-backslash-eater again.  I copied the query into wordpress and it ate all my backslashes.  Should be correct now, I escaped them.</p>
<p>Your output actually makes perfect sense because this was the only line affected (there was a second but it&#8217;s almost identical):</p>
<pre><code>'^'||rpad(regexp_replace(sn_prev,'(.)','(\1'),length(sn_prev)*4,')?') search_sn,

</code></pre>
<p>It was missing the backslash which effectively made the search string &#8220;^(1(1(1)?)?)?&#8221; rather than &#8220;^(C(O(L)?)?)?&#8221; &#8230;  which obviously isn&#8217;t going to find any matches &#8211; therefor the algorithm thought that there were no Common Leading Strings and sent back only the first character!</p>
<p>Anyway it should work now&#8230;</p>
<p>On a side note, I also tried using the extended regexp syntax &#8220;^((?:C(?:O(?:L)?)?)?)&#8221; as was discussed in <a href="http://people.cornell.edu/pages/tco2/papers/common_leading_substring/2000-06-09-0830" rel="nofollow">the CLS paper</a> to prevent capturing on all those internal parenthesis&#8230;  but Oracle doesn&#8217;t seem to support that operator for regular expressions.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Dominic Brooks</title>
		<link>http://www.ardentperf.com/2007/05/21/encyclopedia-spine-problem/#comment-207</link>
		<dc:creator>Dominic Brooks</dc:creator>
		<pubDate>Tue, 22 May 2007 08:26:10 +0000</pubDate>
		<guid isPermaLink="false">http://www.ardentperf.com/2007/05/21/encyclopedia-spine-problem/#comment-207</guid>
		<description>Hi,

Just cut and pasted your solution into 10.2.0.3.0 on Linux - the spines were coming out funny:

SPINE,SN,EN
#... thru B...,#_OF_PRODUCTS,BLOCKSZ
B... thru C...,BLOCKS_CACHED,CONSTR_NAME
C... thru D...,CONSUMED_CPU_TIME,DEFMAXEXTS
D... thru E...,DEFMAXTRANS,ENQUEUE_TIME
E... thru F...,ENQ_CSCN,FROM_VERSION
F... thru I...,FR_OPERATIONS,INTALG
I... thru L...,INTCOL,LINSTANCE#
L... thru M...,LISTENER,MRCT_BASELINE_ID
M... thru O...,MRCT_PURGE_TIME_NUM,OPEXPR_C1
O... thru P...,OPEXPR_N1,POLOWN
P... thru R...,POLPKG,REF_MAKE_USER
R... thru S...,REF_NAME,SERVICE_HASH
S... thru S...,SERVICE_ID,STORAGE
S... thru T...,STORAGESIZE,TRUE_RULES
T... thru Z...,TRUNCATED,ZERO_RESULTS</description>
		<content:encoded><![CDATA[<p>Hi,</p>
<p>Just cut and pasted your solution into 10.2.0.3.0 on Linux &#8211; the spines were coming out funny:</p>
<p>SPINE,SN,EN<br />
#&#8230; thru B&#8230;,#_OF_PRODUCTS,BLOCKSZ<br />
B&#8230; thru C&#8230;,BLOCKS_CACHED,CONSTR_NAME<br />
C&#8230; thru D&#8230;,CONSUMED_CPU_TIME,DEFMAXEXTS<br />
D&#8230; thru E&#8230;,DEFMAXTRANS,ENQUEUE_TIME<br />
E&#8230; thru F&#8230;,ENQ_CSCN,FROM_VERSION<br />
F&#8230; thru I&#8230;,FR_OPERATIONS,INTALG<br />
I&#8230; thru L&#8230;,INTCOL,LINSTANCE#<br />
L&#8230; thru M&#8230;,LISTENER,MRCT_BASELINE_ID<br />
M&#8230; thru O&#8230;,MRCT_PURGE_TIME_NUM,OPEXPR_C1<br />
O&#8230; thru P&#8230;,OPEXPR_N1,POLOWN<br />
P&#8230; thru R&#8230;,POLPKG,REF_MAKE_USER<br />
R&#8230; thru S&#8230;,REF_NAME,SERVICE_HASH<br />
S&#8230; thru S&#8230;,SERVICE_ID,STORAGE<br />
S&#8230; thru T&#8230;,STORAGESIZE,TRUE_RULES<br />
T&#8230; thru Z&#8230;,TRUNCATED,ZERO_RESULTS</p>
]]></content:encoded>
	</item>
</channel>
</rss>
<!-- WP Super Cache is installed but broken. The path to wp-cache-phase1.php in wp-content/advanced-cache.php must be fixed! -->
