Sophie

Sophie

distrib > Fedora > 14 > i386 > by-pkgid > 864d1c3c3cd8df4e3a2692faf8776e05 > files > 1231

db4o-doc-7.4-2.fc13.i686.rpm

<html>
  <head>
    <META http-equiv="Content-Type" content="text/html; charset=utf-8">
    <title>Monitoring Optimization</title>
    <link rel="stylesheet" type="text/css" href="../../../style.css">
  </head>
  <body>
    <div class="CommonContent">
      <div class="CommonContentArea">
        <h1>Monitoring Optimization</h1><script>
//We attach this function to a browser object as a variable so that if multiple of these blocks are
//present on the same page, then they will simply over-write eachother with the same function instead
//of generating a naming collision.
window.WikiCodeFormattingCopyToClipboard = function copyToClipboard(sID){
	var sContent = document.getElementById(sID).innerText;
	if( window.clipboardData && clipboardData.setData )
	{
		clipboardData.setData("Text", sContent);
	}
	else
	{
		alert("You must enable javascript access to your clipboard for this feature to work. Please referr to your browser documentation or Google search for instructions.");
	}
}
</script><p><font color="#990000">This topic applies to Java version only.</font>&nbsp;</p>
<p>This feature is not complete and can only be used for experiments<br></p><p>Currently you can only attach a listener to the ObjectContainer:</p>

<div class="FormattedSourceCode"><div class="fscHeader"><span class="fscFileName">NQExample.java: <span class="fscMemberName">nqListener</span></span></div><div class="fscCode"><pre ID="ResourcesReferenceTuningNative_Query_OptimizationnqoptimizationJava.ZipsNQExample.Java_NQExample.Java_NqListener_235_62"><div><!--

Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/

--><span style="color: #008080;">1</span><img id="ResourcesReferenceTuningNative_Query_OptimizationnqoptimizationJava.ZipsNQExample.Java_NQExample.Java_NqListener_235_62_32_305_Open_Image" src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/ExpandedBlockStart.gif" align="top" onClick="this.style.display='none'; document.getElementById('ResourcesReferenceTuningNative_Query_OptimizationnqoptimizationJava.ZipsNQExample.Java_NQExample.Java_NqListener_235_62_32_305_Open_Text').style.display='none'; document.getElementById('ResourcesReferenceTuningNative_Query_OptimizationnqoptimizationJava.ZipsNQExample.Java_NQExample.Java_NqListener_235_62_32_305_Closed_Image').style.display='inline'; document.getElementById('ResourcesReferenceTuningNative_Query_OptimizationnqoptimizationJava.ZipsNQExample.Java_NQExample.Java_NqListener_235_62_32_305_Closed_Text').style.display='inline';"/><img id="ResourcesReferenceTuningNative_Query_OptimizationnqoptimizationJava.ZipsNQExample.Java_NQExample.Java_NqListener_235_62_32_305_Closed_Image" src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/ContractedBlock.gif" align="top" style="display: none;" onClick="this.style.display='none'; document.getElementById('ResourcesReferenceTuningNative_Query_OptimizationnqoptimizationJava.ZipsNQExample.Java_NQExample.Java_NqListener_235_62_32_305_Closed_Text').style.display='none'; document.getElementById('ResourcesReferenceTuningNative_Query_OptimizationnqoptimizationJava.ZipsNQExample.Java_NQExample.Java_NqListener_235_62_32_305_Open_Image').style.display='inline'; document.getElementById('ResourcesReferenceTuningNative_Query_OptimizationnqoptimizationJava.ZipsNQExample.Java_NQExample.Java_NqListener_235_62_32_305_Open_Text').style.display='inline';"/><span style="color: #0000FF;">public</span><span style="color: #000000;"> </span><span style="color: #0000FF;">static</span><span style="color: #000000;"> </span><span style="color: #0000FF;">void</span><span style="color: #000000;"> nqListener() </span><span id="ResourcesReferenceTuningNative_Query_OptimizationnqoptimizationJava.ZipsNQExample.Java_NQExample.Java_NqListener_235_62_32_305_Closed_Text" style="border: solid 1px #808080; background-color: #FFFFFF; display: none;">...</span><span id="ResourcesReferenceTuningNative_Query_OptimizationnqoptimizationJava.ZipsNQExample.Java_NQExample.Java_NqListener_235_62_32_305_Open_Text"><span style="color: #000000;">{
</span><span style="color: #008080;">2</span><span style="color: #000000;"><img src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/InBlock.gif" align="top"/>    ObjectContainer db </span><span style="color: #000000;">=</span><span style="color: #000000;"> Db4o.openFile(DBFILENAME);
</span><span style="color: #008080;">3</span><span style="color: #000000;"><img src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/InBlock.gif" align="top"/>    ((InternalObjectContainer)db).getNativeQueryHandler().addListener(
</span><span style="color: #008080;">4</span><span style="color: #000000;"><img id="ResourcesReferenceTuningNative_Query_OptimizationnqoptimizationJava.ZipsNQExample.Java_NQExample.Java_NqListener_235_62_190_300_Open_Image" src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" onClick="this.style.display='none'; document.getElementById('ResourcesReferenceTuningNative_Query_OptimizationnqoptimizationJava.ZipsNQExample.Java_NQExample.Java_NqListener_235_62_190_300_Open_Text').style.display='none'; document.getElementById('ResourcesReferenceTuningNative_Query_OptimizationnqoptimizationJava.ZipsNQExample.Java_NQExample.Java_NqListener_235_62_190_300_Closed_Image').style.display='inline'; document.getElementById('ResourcesReferenceTuningNative_Query_OptimizationnqoptimizationJava.ZipsNQExample.Java_NQExample.Java_NqListener_235_62_190_300_Closed_Text').style.display='inline';"/><img id="ResourcesReferenceTuningNative_Query_OptimizationnqoptimizationJava.ZipsNQExample.Java_NQExample.Java_NqListener_235_62_190_300_Closed_Image" src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/ContractedSubBlock.gif" align="top" style="display: none;" onClick="this.style.display='none'; document.getElementById('ResourcesReferenceTuningNative_Query_OptimizationnqoptimizationJava.ZipsNQExample.Java_NQExample.Java_NqListener_235_62_190_300_Closed_Text').style.display='none'; document.getElementById('ResourcesReferenceTuningNative_Query_OptimizationnqoptimizationJava.ZipsNQExample.Java_NQExample.Java_NqListener_235_62_190_300_Open_Image').style.display='inline'; document.getElementById('ResourcesReferenceTuningNative_Query_OptimizationnqoptimizationJava.ZipsNQExample.Java_NQExample.Java_NqListener_235_62_190_300_Open_Text').style.display='inline';"/>        </span><span style="color: #0000FF;">new</span><span style="color: #000000;"> Db4oQueryExecutionListener() </span><span id="ResourcesReferenceTuningNative_Query_OptimizationnqoptimizationJava.ZipsNQExample.Java_NQExample.Java_NqListener_235_62_190_300_Closed_Text" style="border: solid 1px #808080; background-color: #FFFFFF; display: none;">...</span><span id="ResourcesReferenceTuningNative_Query_OptimizationnqoptimizationJava.ZipsNQExample.Java_NQExample.Java_NqListener_235_62_190_300_Open_Text"><span style="color: #000000;">{
</span><span style="color: #008080;">5</span><span style="color: #000000;"><img id="ResourcesReferenceTuningNative_Query_OptimizationnqoptimizationJava.ZipsNQExample.Java_NQExample.Java_NqListener_235_62_254_294_Open_Image" src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" onClick="this.style.display='none'; document.getElementById('ResourcesReferenceTuningNative_Query_OptimizationnqoptimizationJava.ZipsNQExample.Java_NQExample.Java_NqListener_235_62_254_294_Open_Text').style.display='none'; document.getElementById('ResourcesReferenceTuningNative_Query_OptimizationnqoptimizationJava.ZipsNQExample.Java_NQExample.Java_NqListener_235_62_254_294_Closed_Image').style.display='inline'; document.getElementById('ResourcesReferenceTuningNative_Query_OptimizationnqoptimizationJava.ZipsNQExample.Java_NQExample.Java_NqListener_235_62_254_294_Closed_Text').style.display='inline';"/><img id="ResourcesReferenceTuningNative_Query_OptimizationnqoptimizationJava.ZipsNQExample.Java_NQExample.Java_NqListener_235_62_254_294_Closed_Image" src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/ContractedSubBlock.gif" align="top" style="display: none;" onClick="this.style.display='none'; document.getElementById('ResourcesReferenceTuningNative_Query_OptimizationnqoptimizationJava.ZipsNQExample.Java_NQExample.Java_NqListener_235_62_254_294_Closed_Text').style.display='none'; document.getElementById('ResourcesReferenceTuningNative_Query_OptimizationnqoptimizationJava.ZipsNQExample.Java_NQExample.Java_NqListener_235_62_254_294_Open_Image').style.display='inline'; document.getElementById('ResourcesReferenceTuningNative_Query_OptimizationnqoptimizationJava.ZipsNQExample.Java_NQExample.Java_NqListener_235_62_254_294_Open_Text').style.display='inline';"/>          </span><span style="color: #0000FF;">public</span><span style="color: #000000;"> </span><span style="color: #0000FF;">void</span><span style="color: #000000;"> notifyQueryExecuted(NQOptimizationInfo info) </span><span id="ResourcesReferenceTuningNative_Query_OptimizationnqoptimizationJava.ZipsNQExample.Java_NQExample.Java_NqListener_235_62_254_294_Closed_Text" style="border: solid 1px #808080; background-color: #FFFFFF; display: none;">...</span><span id="ResourcesReferenceTuningNative_Query_OptimizationnqoptimizationJava.ZipsNQExample.Java_NQExample.Java_NqListener_235_62_254_294_Open_Text"><span style="color: #000000;">{
</span><span style="color: #008080;">6</span><span style="color: #000000;"><img src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/InBlock.gif" align="top"/>            System.err.println(info);
</span><span style="color: #008080;">7</span><span style="color: #000000;"><img src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top"/>          }</span></span><span style="color: #000000;">
</span><span style="color: #008080;">8</span><span style="color: #000000;"><img src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top"/>        }</span></span><span style="color: #000000;">);
</span><span style="color: #008080;">9</span><span style="color: #000000;"><img src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/ExpandedBlockEnd.gif" align="top"/>  }</span></span></div></pre></div></div>

<p>The listener will be notified on each native query call and will be&nbsp;passed the Predicate object processed, the optimized expression tree (if successful) and the success status of the optimization run:</p>
<p><code>ObjectContainerBase.UNOPTIMIZED ("UNOPTIMIZED")</code></p><p>if the predicate could not be optimized and is run in unoptimized mode</p>
<p><code>ObjectContainerBase.PREOPTIMIZED ("PREOPTIMIZED")</code></p>
<p>if the predicate already was optimized (due to class file or load time instrumentation)</p>
<p><code>ObjectContainerBase.DYNOPTIMIZED ("DYNOPTIMIZED")</code></p>
<p>if the predicate was optimized at query execution time</p><br></div>
    </div>
    <div id="footer">
					This revision (10) was last Modified 2007-09-08T14:45:39 by Tetyana.
				</div>
  </body>
</html>