<?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: Bring Back the Hobgoblin: Dealing with RowInconsistentException</title>
	<atom:link href="http://www.avromroyfaderman.com/2008/05/bring-back-the-hobgoblin-dealing-with-rowinconsistentexception/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.avromroyfaderman.com/2008/05/bring-back-the-hobgoblin-dealing-with-rowinconsistentexception/</link>
	<description>Tricks, Tips, Thoughts, and Rants About Java EE, Oracle ADF, and Web Application Development</description>
	<lastBuildDate>Mon, 14 Jun 2010 09:19:26 -0700</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.6</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>By: Fahad Ansari</title>
		<link>http://www.avromroyfaderman.com/2008/05/bring-back-the-hobgoblin-dealing-with-rowinconsistentexception/comment-page-1/#comment-10500</link>
		<dc:creator>Fahad Ansari</dc:creator>
		<pubDate>Wed, 28 Oct 2009 17:46:31 +0000</pubDate>
		<guid isPermaLink="false">http://www.avromroyfaderman.com/?p=65#comment-10500</guid>
		<description>Nice post. I just wanted to add another case and also if you set -Djbo.debugoutput=console then JBO outputs the attribute with values that failed the consistency check.

The case that I ran into had to do with TIMESTAMP column. Our DBA&#039;s set the TIMESTAMP column in the database with precision (0). So whenever we set the value from jbo the row became inconsistent right away because in the database it set milliseconds as 0 because of precision.

Of course, the refresh flag did not help in this case because this was a history column and history columns cannot have refresh flags set to true.</description>
		<content:encoded><![CDATA[<p>Nice post. I just wanted to add another case and also if you set -Djbo.debugoutput=console then JBO outputs the attribute with values that failed the consistency check.</p>
<p>The case that I ran into had to do with TIMESTAMP column. Our DBA&#8217;s set the TIMESTAMP column in the database with precision (0). So whenever we set the value from jbo the row became inconsistent right away because in the database it set milliseconds as 0 because of precision.</p>
<p>Of course, the refresh flag did not help in this case because this was a history column and history columns cannot have refresh flags set to true.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: tilemahos</title>
		<link>http://www.avromroyfaderman.com/2008/05/bring-back-the-hobgoblin-dealing-with-rowinconsistentexception/comment-page-1/#comment-1905</link>
		<dc:creator>tilemahos</dc:creator>
		<pubDate>Mon, 08 Sep 2008 09:14:41 +0000</pubDate>
		<guid isPermaLink="false">http://www.avromroyfaderman.com/?p=65#comment-1905</guid>
		<description>oh right, it&#039;s that lost update thing. I think your suggestion is resonable.</description>
		<content:encoded><![CDATA[<p>oh right, it&#8217;s that lost update thing. I think your suggestion is resonable.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Avrom</title>
		<link>http://www.avromroyfaderman.com/2008/05/bring-back-the-hobgoblin-dealing-with-rowinconsistentexception/comment-page-1/#comment-1898</link>
		<dc:creator>Avrom</dc:creator>
		<pubDate>Sun, 07 Sep 2008 20:42:14 +0000</pubDate>
		<guid isPermaLink="false">http://www.avromroyfaderman.com/?p=65#comment-1898</guid>
		<description>Well, accorting to John Stegeman (http://stegemanoracle.blogspot.com/), whom I trust highly, this is simply part of the behavior or lock(). I&#039;m still inclined to stand by my claim that known or not, it&#039;s a bug--data loss protection should not be nearly so easily overcome. The best I can suggest, then, is to combine the diagnostic and locking code I suggested above: In case of a RowInconsistentException, check this row and its composed children for genuine inconsistencies, and either throw the exception or simply re-call lock() depending on whether you find a real inconsistency or not.</description>
		<content:encoded><![CDATA[<p>Well, accorting to John Stegeman (<a href="http://stegemanoracle.blogspot.com/)" rel="nofollow">http://stegemanoracle.blogspot.com/)</a>, whom I trust highly, this is simply part of the behavior or lock(). I&#8217;m still inclined to stand by my claim that known or not, it&#8217;s a bug&#8211;data loss protection should not be nearly so easily overcome. The best I can suggest, then, is to combine the diagnostic and locking code I suggested above: In case of a RowInconsistentException, check this row and its composed children for genuine inconsistencies, and either throw the exception or simply re-call lock() depending on whether you find a real inconsistency or not.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Avrom</title>
		<link>http://www.avromroyfaderman.com/2008/05/bring-back-the-hobgoblin-dealing-with-rowinconsistentexception/comment-page-1/#comment-1871</link>
		<dc:creator>Avrom</dc:creator>
		<pubDate>Fri, 05 Sep 2008 21:02:15 +0000</pubDate>
		<guid isPermaLink="false">http://www.avromroyfaderman.com/?p=65#comment-1871</guid>
		<description>So, I&#039;ve isolated the problem, and it looks to me (although I could be wrong) like a bug in lock()--if you call lock() twice on the same entity, it *always* succeeds the second time, even if the inconsistency problems haven&#039;t been solved. I&#039;ve started a thread on OTN about this:

http://forums.oracle.com/forums/thread.jspa?threadID=703011&amp;tstart=0

I&#039;ll post here about it when I have some more information, as well.</description>
		<content:encoded><![CDATA[<p>So, I&#8217;ve isolated the problem, and it looks to me (although I could be wrong) like a bug in lock()&#8211;if you call lock() twice on the same entity, it *always* succeeds the second time, even if the inconsistency problems haven&#8217;t been solved. I&#8217;ve started a thread on OTN about this:</p>
<p><a href="http://forums.oracle.com/forums/thread.jspa?threadID=703011&#038;tstart=0" rel="nofollow">http://forums.oracle.com/forums/thread.jspa?threadID=703011&#038;tstart=0</a></p>
<p>I&#8217;ll post here about it when I have some more information, as well.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Avrom</title>
		<link>http://www.avromroyfaderman.com/2008/05/bring-back-the-hobgoblin-dealing-with-rowinconsistentexception/comment-page-1/#comment-1868</link>
		<dc:creator>Avrom</dc:creator>
		<pubDate>Fri, 05 Sep 2008 17:30:06 +0000</pubDate>
		<guid isPermaLink="false">http://www.avromroyfaderman.com/?p=65#comment-1868</guid>
		<description>I&#039;ve duplicated your issue. I&#039;m looking into it right now.</description>
		<content:encoded><![CDATA[<p>I&#8217;ve duplicated your issue. I&#8217;m looking into it right now.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: tilemahos</title>
		<link>http://www.avromroyfaderman.com/2008/05/bring-back-the-hobgoblin-dealing-with-rowinconsistentexception/comment-page-1/#comment-1866</link>
		<dc:creator>tilemahos</dc:creator>
		<pubDate>Fri, 05 Sep 2008 14:47:10 +0000</pubDate>
		<guid isPermaLink="false">http://www.avromroyfaderman.com/?p=65#comment-1866</guid>
		<description>yes i change the same row, if you give it a try yourself please let me know of the result

thanks 
Tilemahos</description>
		<content:encoded><![CDATA[<p>yes i change the same row, if you give it a try yourself please let me know of the result</p>
<p>thanks<br />
Tilemahos</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Avrom</title>
		<link>http://www.avromroyfaderman.com/2008/05/bring-back-the-hobgoblin-dealing-with-rowinconsistentexception/comment-page-1/#comment-1865</link>
		<dc:creator>Avrom</dc:creator>
		<pubDate>Fri, 05 Sep 2008 14:21:21 +0000</pubDate>
		<guid isPermaLink="false">http://www.avromroyfaderman.com/?p=65#comment-1865</guid>
		<description>Thanks for your additional example.

I&#039;m a bit curious about your second case. Does it actually prevent JBO-25014 for you if someone has changed *the same row* that has been changed in this transaction? REFRESH_WITH_DB_ONLY_IF_UNCHANGED should have no effect on rows that have been changed within the transaction.</description>
		<content:encoded><![CDATA[<p>Thanks for your additional example.</p>
<p>I&#8217;m a bit curious about your second case. Does it actually prevent JBO-25014 for you if someone has changed *the same row* that has been changed in this transaction? REFRESH_WITH_DB_ONLY_IF_UNCHANGED should have no effect on rows that have been changed within the transaction.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: tilemahos</title>
		<link>http://www.avromroyfaderman.com/2008/05/bring-back-the-hobgoblin-dealing-with-rowinconsistentexception/comment-page-1/#comment-1861</link>
		<dc:creator>tilemahos</dc:creator>
		<pubDate>Fri, 05 Sep 2008 07:15:36 +0000</pubDate>
		<guid isPermaLink="false">http://www.avromroyfaderman.com/?p=65#comment-1861</guid>
		<description>I also want to add another case similar to the case no 1 you mentioned. A field that is marked as refresh after appers after update/insert having null value and of course JBO-25014 is here again. 
This is happening in case that the field is being mentioned in the trigger but is value is not set. This is happening due to an update .. returning bug see http://forums.oracle.com/forums/message.jspa?messageID=2740885

for more info

By the way, i run your code and i think that the instruction
refresh(REFRESH_WITH_DB_ONLY_IF_UNCHANGED &#124; REFRESH_CONTAINEES);
prevents the appearance of JBO-25014 even if really someone change the row in between!

Tilemahos</description>
		<content:encoded><![CDATA[<p>I also want to add another case similar to the case no 1 you mentioned. A field that is marked as refresh after appers after update/insert having null value and of course JBO-25014 is here again.<br />
This is happening in case that the field is being mentioned in the trigger but is value is not set. This is happening due to an update .. returning bug see <a href="http://forums.oracle.com/forums/message.jspa?messageID=2740885" rel="nofollow">http://forums.oracle.com/forums/message.jspa?messageID=2740885</a></p>
<p>for more info</p>
<p>By the way, i run your code and i think that the instruction<br />
refresh(REFRESH_WITH_DB_ONLY_IF_UNCHANGED | REFRESH_CONTAINEES);<br />
prevents the appearance of JBO-25014 even if really someone change the row in between!</p>
<p>Tilemahos</p>
]]></content:encoded>
	</item>
</channel>
</rss>
