
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en" dir="ltr">
	<head>
		<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
				<meta name="keywords" content="SMILA/Documentation/DeltaIndexingManager,SMILA/Documentation/General JPA Configuration in SMILA" />
		<link rel="shortcut icon" href="http://wiki.eclipse.org/SMILA/Documentation/favicon.ico" />
		<link rel="search" type="application/opensearchdescription+xml" href="http://wiki.eclipse.org/opensearch_desc.php" title="Eclipsepedia (English)" />
<link rel="alternate" type="application/rss+xml" title="Eclipsepedia RSS Feed" href="http://wiki.eclipse.org/index.php?title=Special:Recentchanges&amp;feed=rss" />
<link rel="alternate" type="application/atom+xml" title="Eclipsepedia Atom Feed" href="http://wiki.eclipse.org/index.php?title=Special:Recentchanges&amp;feed=atom" />
	
		
		<title>SMILA/Documentation/DeltaIndexingManager - Eclipsepedia</title>

		<style type="text/css" media="screen,projection">/*<![CDATA[*/ @import "/skins/eclipsenova/novaWide.css?116"; /*]]>*/</style>
		<link rel="stylesheet" type="text/css" media="print" href="http://wiki.eclipse.org/skins/eclipsenova/eclipsenovaPrint.css?116" />
		<link rel="stylesheet" type="text/css" media="handheld" href="http://wiki.eclipse.org/skins/eclipsenova/handheld.css?116" />
		<link rel="stylesheet" type="text/css" href="http://wiki.eclipse.org/skins/eclipsenova/Nova/css/header.css" media="screen" />
		<link rel="stylesheet" type="text/css" href="http://wiki.eclipse.org/skins/eclipsenova/tabs.css" media="screen" />
		<link rel="stylesheet" type="text/css" href="http://wiki.eclipse.org/skins/eclipsenova/Nova/css/visual.css" media="screen" />
		<link rel="stylesheet" type="text/css" href="http://wiki.eclipse.org/skins/eclipsenova/Nova/css/layout.css" media="screen" />
		<link rel="stylesheet" type="text/css" href="http://wiki.eclipse.org/skins/eclipsenova/Nova/css/footer.css" media="screen" />
	        <!--[if IE]><link rel="stylesheet" type="text/css" href="/skins/eclipsenova/IEpngfix.css" media="screen" /><![endif]-->
		<!--[if lt IE 5.5000]><style type="text/css">@import "/skins/eclipsenova/IE50Fixes.css?116";</style> <![endif]-->
		<!--[if IE 5.5000]><style type="text/css">@import "/skins/eclipsenova/IE55Fixes.css?116";</style><![endif]-->
		<!--[if IE 6]><style type="text/css">@import "/skins/eclipsenova/IE60Fixes.css?116";</style><![endif]-->
		<!--[if IE 7]><style type="text/css">@import "/skins/eclipsenova/IE70Fixes.css?116";</style><![endif]-->
		<!--[if lt IE 7]><script type="text/javascript" src="/skins/common/IEFixes.js?116"></script>
		<meta http-equiv="imagetoolbar" content="no" /><![endif]-->
		<script type= "text/javascript">/*<![CDATA[*/
var skin = "eclipsenova";
var stylepath = "/skins";
var wgArticlePath = "/$1";
var wgScriptPath = "";
var wgScript = "/index.php";
var wgServer = "http://wiki.eclipse.org";
var wgCanonicalNamespace = "";
var wgCanonicalSpecialPageName = false;
var wgNamespaceNumber = 0;
var wgPageName = "SMILA/Documentation/DeltaIndexingManager";
var wgTitle = "SMILA/Documentation/DeltaIndexingManager";
var wgAction = "view";
var wgRestrictionEdit = [];
var wgRestrictionMove = [];
var wgArticleId = "18207";
var wgIsArticle = true;
var wgUserName = null;
var wgUserGroups = null;
var wgUserLanguage = "en";
var wgContentLanguage = "en";
var wgBreakFrames = false;
var wgCurRevisionId = "247423";
var wgVersion = "1.12.0";
var wgEnableAPI = true;
var wgEnableWriteAPI = false;
/*]]>*/</script>
                
		<script type="text/javascript" src="http://wiki.eclipse.org/skins/common/wikibits.js?116"><!-- wikibits js --></script>

<!-- Performance mods similar to those for bug 166401 -->
		<script type="text/javascript" src="http://wiki.eclipse.org/index.php?title=-&amp;action=raw&amp;gen=js&amp;useskin=eclipsenova"><!-- site js --></script>

		<!-- Head Scripts -->
				<script type="text/javascript" src="http://wiki.eclipse.org/skins/common/ajax.js?116"></script>
<style type="text/css">/*<![CDATA[*/
.source-java {line-height: normal; font-size: medium;}
.source-java li {line-height: normal;}
/**
 * GeSHi Dynamically Generated Stylesheet
 * --------------------------------------
 * Dynamically generated stylesheet for java
 * CSS class: source-java, CSS id: 
 * GeSHi (C) 2004 - 2007 Nigel McNie (http://qbnz.com/highlighter)
 */
.source-java .de1, .source-java .de2 {font-family: 'Courier New', Courier, monospace; font-weight: normal;}
.source-java  {}
.source-java .head {}
.source-java .foot {}
.source-java .imp {font-weight: bold; color: red;}
.source-java .ln-xtra {color: #cc0; background-color: #ffc;}
.source-java li {font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;}
.source-java li.li2 {font-weight: bold;}
.source-java .kw1 {color: #7F0055; font-weight: bold;}
.source-java .kw2 {color: #7F0055; font-weight: bold;}
.source-java .kw3 {color: #000000; font-weight: normal}
.source-java .kw4 {color: #7F0055; font-weight: bold;}
.source-java .co1 {color: #3F7F5F; font-style: italic;}
.source-java .co2 {color: #3F7F5F;}
.source-java .co3 {color: #3F7F5F; font-style: italic; font-weight: bold;}
.source-java .coMULTI {color: #3F5FBF; font-style: italic;}
.source-java .es0 {color: #000000;}
.source-java .br0 {color: #000000;}
.source-java .st0 {color: #2A00ff;}
.source-java .nu0 {color: #000000;}
.source-java .me1 {color: #000000;}
.source-java .me2 {color: #000000;}

/*]]>*/
</style>
<style type="text/css">/*<![CDATA[*/
@import "/index.php?title=MediaWiki:Geshi.css&usemsgcache=yes&action=raw&ctype=text/css&smaxage=18000";
/*]]>*/
</style><link rel="stylesheet" type="text/css" href="DeltaIndexingManager.html" />	</head>
<body  class="mediawiki ns-0 ltr page-SMILA_Documentation_DeltaIndexingManager">
	<div id="globalWrapper">


		<div id="column-one">
<!-- Eclipse Additions for the Top Nav start here M. Ward-->

		      <div id="header">
               <div id="header-graphic">
                 <img src="http://wiki.eclipse.org/skins/eclipsenova/eclipse.png" alt="Eclipse Wiki">
               </div>
<!-- Pulled 101409 Mward	   -->
            
            <div class="portlet" id="p-personal">
              <div class="pBody">
              <ul>
                <li id="pt-login"><a href="http://wiki.eclipse.org/index.php?title=Special:Userlogin&amp;returnto=SMILA/Documentation/DeltaIndexingManager">Log in</a></li>
                      </ul>
              </div>
            </div>

            <div id="header-icons">
	      <div id="sites">
              <ul id="sitesUL">
                <li><a href="http://www.eclipse.org"><img src="http://dev.eclipse.org/custom_icons/eclipseIcon.png" width="28" height="28" alt="Eclipse Foundation" title="Eclipse Foundation" /><div>Eclipse Foundation</div></a></li>
                <li><a href="http://marketplace.eclipse.org"><img src="http://dev.eclipse.org/custom_icons/marketplace.png" width="28" height="28" alt="Eclipse Marketplace" title="Eclipse Marketplace" /><div>Eclipse Marketplace</div></a></li>
                <li><a href="https://bugs.eclipse.org/bugs"><img src="http://dev.eclipse.org/custom_icons/system-search-bw.png" width="28" height="28" alt="Bugzilla" title="Bugzilla" /><div>Bugzilla</div></a></li>
                <li><a href="http://live.eclipse.org"><img src="http://dev.eclipse.org/custom_icons/audio-input-microphone-bw.png" width="28" height="28" alt="Live" title="Live" /><div>Eclipse Live</div></a></li>
                <li><a href="http://planeteclipse.org"><img src="http://dev.eclipse.org/large_icons/devices/audio-card.png" width="28" height="28" alt="PlanetEclipse" title="Planet" /><div>Planet Eclipse</div></a></li>
                <li><a href="http://portal.eclipse.org"><img src="http://dev.eclipse.org/custom_icons/preferences-system-network-proxy-bw.png" width="28" height="28" alt="Portal" title="Portal" /><div>My Foundation Portal</div></a></li>
              </ul>
              </div>
            </div>
        </div> 
<!-- NEW HEADER STUFF HERE -->
       <div id="header-menu">
         <div id="header-nav">
               <ul> 		 <li><a class="first_one" href="http://wiki.eclipse.org/" target="_self">Home</a></li>                  <li><a  href="http://www.eclipse.org/downloads/" target="_self">Downloads</a></li> 
                 <li><a  href="http://www.eclipse.org/users/" target="_self">Users</a></li> 
                 <li><a  href="http://www.eclipse.org/membership/" target="_self">Members</a></li> 
                 <li><a  href="http://wiki.eclipse.org/index.php/Development_Resources" target="_self">Committers</a></li> 
                 <li><a  href="http://www.eclipse.org/resources/" target="_self">Resources</a></li> 
                 <li><a  href="http://www.eclipse.org/projects/" target="_self">Projects</a></li> 
                 <li><a  href="http://www.eclipse.org/org/" target="_self">About Us</a></li> 
                </ul>
         </div>
         <div id="header-utils">
<!-- moved the search window here -->
                           <form action="http://wiki.eclipse.org/Special:Search" >
                  <input class="input" name="search" type="text" accesskey="f" value="" />
                    <input type='submit' onclick="this.submit();" name="go" id="searchGoButton" class="button" title="Go to a page with this exact name if one exists" value="Go" />&nbsp;
                    <input type='submit' onclick="this.submit();" name="fulltext" class="button" id="mw-searchButton" title="Search Eclipsepedia for this text"  value="Search" />
                </form>
		 </div>
      </div>


<!-- Eclipse Additions for the Header stop here -->
<!-- Additions and mods for leftside nav Start here -->

<!--Started nav  rip here-->
<!-- these are the nav controls main page, changes etc -->
    <div id="novaContent" class="faux">
            <div id="leftcol">
          <ul id="leftnav">
<!-- these are the page controls, edit history etc -->
            	  <li class="separator"><a class="separator">Navigation &#160;&#160;</li>
                                <li id="n-mainpage"><a href="http://wiki.eclipse.org/Main_Page">Main Page</a></li>
	                                <li id="n-portal"><a href="http://wiki.eclipse.org/Eclipsepedia:Community_Portal">Community portal</a></li>
	                                <li id="n-currentevents"><a href="http://wiki.eclipse.org/Eclipsepedia:Current_events">Current events</a></li>
	                                <li id="n-recentchanges"><a href="http://wiki.eclipse.org/Special:Recentchanges">Recent changes</a></li>
	                                <li id="n-randompage"><a href="http://wiki.eclipse.org/Special:Random">Random page</a></li>
	                                <li id="n-help"><a href="http://wiki.eclipse.org/Help:Contents">Help</a></li>
		  <li class="separator"><a class="separator">Toolbox &#160;&#160;</a></li>

				<li id="t-whatlinkshere"><a href="http://wiki.eclipse.org/Special:Whatlinkshere/SMILA/Documentation/DeltaIndexingManager">What links here</a></li>
				<li id="t-recentchangeslinked"><a href="http://wiki.eclipse.org/Special:Recentchangeslinked/SMILA/Documentation/DeltaIndexingManager">Related changes</a></li>
                <!-- This is the toolbox section -->
<li id="t-upload"><a href="http://wiki.eclipse.org/Special:Upload">Upload file</a></li>
<li id="t-specialpages"><a href="http://wiki.eclipse.org/Special:Specialpages">Special pages</a></li>
				<li id="t-print"><a href="http://wiki.eclipse.org/index.php?title=SMILA/Documentation/DeltaIndexingManager&amp;printable=yes">Printable version</a></li>				<li id="t-permalink"><a href="http://wiki.eclipse.org/index.php?title=SMILA/Documentation/DeltaIndexingManager&amp;oldid=247423">Permanent link</a></li>	  </ul>
        </div>


<!-- Additions and mods for leftside nav End here -->


  <div id="column-content">
    <div id="content">
      <a name="top" id="top"></a>

              <div id="tabs">
         <ul class="primary">
                                         <li class="active"><a href="DeltaIndexingManager.html"><span class="tab">Page</span></a></li>
                                                         <li><a href="http://wiki.eclipse.org/index.php?title=Talk:SMILA/Documentation/DeltaIndexingManager&amp;action=edit"><span class="tab">Discussion</span></a></li>
                                         <li><a href="http://wiki.eclipse.org/index.php?title=SMILA/Documentation/DeltaIndexingManager&amp;action=edit"><span class="tab">View source</span></a></li>
                                         <li><a href="http://wiki.eclipse.org/index.php?title=SMILA/Documentation/DeltaIndexingManager&amp;action=history"><span class="tab">History</span></a></li>
                                         <li><a href="http://wiki.eclipse.org/index.php?title=Special:Userlogin&amp;returnto=SMILA/Documentation/DeltaIndexingManager"><span class="tab">Edit</span></a></li>
                  </ul>
        </div>


          <script type="text/javascript"> if (window.isMSIE55) fixalpha(); </script>
            <h1 class="firstHeading">SMILA/Documentation/DeltaIndexingManager</h1>
      <div id="bodyContent">
        <h3 id="siteSub">From Eclipsepedia</h3>
        <div id="contentSub"><span class="subpages">&lt; <a href="../../SMILA.html" title="SMILA">SMILA</a> | <a href="../Documentation.html" title="SMILA/Documentation">Documentation</a></span></div>
                              <div id="jump-to-nav">Jump to: <a href="DeltaIndexingManager.html#column-one">navigation</a>, <a href="DeltaIndexingManager.html#searchInput">search</a></div>          <!-- start content -->
          <table id="toc" class="toc" summary="Contents"><tr><td><div id="toctitle"><h2>Contents</h2></div>
<ul>
<li class="toclevel-1"><a href="DeltaIndexingManager.html#Overview"><span class="tocnumber">1</span> <span class="toctext">Overview</span></a></li>
<li class="toclevel-1"><a href="DeltaIndexingManager.html#API"><span class="tocnumber">2</span> <span class="toctext">API</span></a></li>
<li class="toclevel-1"><a href="DeltaIndexingManager.html#Implementations"><span class="tocnumber">3</span> <span class="toctext">Implementations</span></a>
<ul>
<li class="toclevel-2"><a href="DeltaIndexingManager.html#org.eclipse.smila.connectivity.deltaindexing.impl"><span class="tocnumber">3.1</span> <span class="toctext">org.eclipse.smila.connectivity.deltaindexing.impl</span></a>
<ul>
<li class="toclevel-3"><a href="DeltaIndexingManager.html#Filter_Property"><span class="tocnumber">3.1.1</span> <span class="toctext">Filter Property</span></a></li>
<li class="toclevel-3"><a href="DeltaIndexingManager.html#Configuration"><span class="tocnumber">3.1.2</span> <span class="toctext">Configuration</span></a></li>
</ul>
</li>
<li class="toclevel-2"><a href="DeltaIndexingManager.html#org.eclipse.smila.connectivity.deltaindexing.jpa.impl"><span class="tocnumber">3.2</span> <span class="toctext">org.eclipse.smila.connectivity.deltaindexing.jpa.impl</span></a>
<ul>
<li class="toclevel-3"><a href="DeltaIndexingManager.html#Filter_Property_2"><span class="tocnumber">3.2.1</span> <span class="toctext">Filter Property</span></a></li>
<li class="toclevel-3"><a href="DeltaIndexingManager.html#Configuration_2"><span class="tocnumber">3.2.2</span> <span class="toctext">Configuration</span></a></li>
<li class="toclevel-3"><a href="DeltaIndexingManager.html#Limitations"><span class="tocnumber">3.2.3</span> <span class="toctext">Limitations</span></a></li>
</ul>
</li>
</ul>
</li>
</ul>
</td></tr></table><script type="text/javascript"> if (window.showTocToggle) { var tocShowText = "show"; var tocHideText = "hide"; showTocToggle(); } </script>
<a name="Overview"></a><h2> <span class="mw-headline"> Overview </span></h2>
<p>The DeltaIndexingManager stores information about the last modification of each record and can determine if a record has changed since its last processing. This decision is based on a hash value provided by a crawler. How such hash is computed depends on the crawler and its configuration. For example the filesystem crawler usually computes the hash from file's last modification date.
It provides functionality to manage this information, to determine if already processed documents have changed, to mark documents that have not changed (visited flag) and to determine documents that are indexed but no longer exist in the datasource.
</p><p>Before you can use delta indexing you have to create a working session with the DeltaIndexingManager by calling <tt>init(final String dataSourceID)</tt>. This will generate a new session and lock the given data source (if not already locked by another session), and return the session ID. This session ID has to be used for all upcomming calls to DeltaIndexingManager. With calling <tt>finish(final String sessionId)</tt> the lock is released and the session is destroyed.
</p><p><br />
</p>
<a name="API"></a><h2> <span class="mw-headline"> API </span></h2>
<p>for the current definition of the interface in trunk see Javadoc: <a href="http://build.eclipse.org/rt/smila/javadoc/current/org/eclipse/smila/connectivity/deltaindexing/DeltaIndexingManager.html" class="external text" title="http://build.eclipse.org/rt/smila/javadoc/current/org/eclipse/smila/connectivity/deltaindexing/DeltaIndexingManager.html" rel="nofollow">org.eclipse.smila.connectivity.deltaindexing.DeltaIndexingManager</a>
</p>
<a name="Implementations"></a><h2> <span class="mw-headline">Implementations</span></h2>
<p>SMILA comes at the moment with two implementations: a memory and a database backed implementation and others may provide further implementations for the DeltaIndexingManager interface.
</p><p>In general it makes sense to only activate one DeltaIndexingManager Impl. at a time. This is achieved by just starting the desired impl. bundle. If multiple implementations are started, a client using the DeltaIndexingManager has to use a filter has to provide an OSGi Filter when requesting the service, otherwise it gets a reference randomly. Each component description includes a property named <tt>smila.connectivity.deltaindexing.impl</tt> that can be used for filtering. At the moment the only component that has a reference to the DeltaIndexingManager is the ConnectivityManager.
</p><p>Below is a list of the currently available implementations.
</p>
<a name="org.eclipse.smila.connectivity.deltaindexing.impl"></a><h3> <span class="mw-headline">org.eclipse.smila.connectivity.deltaindexing.impl</span></h3>
The implementation stores the delta indexing information in memory. When stopping/starting the DeltaIndexingManager the current state is written to/read from files located at <pre>workspace\.metadata\.plugins\org.eclipse.smila.connectivity.deltaindexing</pre> These files are named according to the dataSourceId. This implementation is only usefull during development, as the in memory storage will certainly lead to OutOfMemoryExceptions when used with a high data load.
<a name="Filter_Property"></a><h4> <span class="mw-headline"> Filter Property </span></h4>
<p><tt>&lt;property name="smila.connectivity.deltaindexing.impl" value="memory"/&gt;</tt>
</p>
<a name="Configuration"></a><h4> <span class="mw-headline"> Configuration </span></h4>
<p>There are no configuration options available for this bundle.
</p><p><br />
</p><p><br />
</p>
<a name="org.eclipse.smila.connectivity.deltaindexing.jpa.impl"></a><h3> <span class="mw-headline">org.eclipse.smila.connectivity.deltaindexing.jpa.impl</span></h3>
<p>This implementation uses eclipseLink JPA to store the delta indexing information in an apache derby database. The data is stored in the two tables <tt>DATA_SOURCES</tt> and <tt>DELTA_INDEXING</tt>:
</p>
<table class="wikitable" border="1" style="text-align:left">
<caption> DATA_SOURCES
</caption><tr>
<th> Column
</th><th> Type
</th><th> Description
</th></tr>
<tr>
<th> SOURCE_ID
</th><td> VARCHAR
</td><td> a hashed value of the Id object of the record
</td></tr>
<tr>
<th> LOCKED
</th><td> BOOLEAN
</td><td> a flag if this data source was locked
</td></tr>
<tr>
<th> LOCKED_BY
</th><td> VARCHAR
</td><td> the id of the thread that locked this data source
</td></tr>
</table>
<p><br />
</p>
<table class="wikitable" border="1" style="text-align:left">
<caption> DELTA_INDEXING
</caption><tr>
<th> Column
</th><th> Type
</th><th> Description
</th></tr>
<tr>
<th> ID_HASH
</th><td> VARCHAR
</td><td> the hashed value of the Id object of the record
</td></tr>
<tr>
<th> HASH
</th><td> VARCHAR
</td><td> the delta indexing hash value
</td></tr>
<tr>
<th> SOURCE_ID
</th><td> VARCHAR
</td><td> the data source Id
</td></tr>
<tr>
<th> IS_COMPOUND
</th><td> BOOLEAN
</td><td> flag if this entry is a compound object
</td></tr>
<tr>
<th> PARENT_ID_HASH
</th><td> VARCHAR
</td><td> the hashed value of the parent Id object. This is only set if this Id is an element of a compound object, otherwise it is NULL
</td></tr>
<tr>
<th> VISITED
</th><td> BOOLEAN
</td><td> flag if this entry was already visited
</td></tr>
<tr>
<th> MODIFIED
</th><td> BOOLEAN
</td><td> flag if this entry was modified
</td></tr>
<tr>
<th> ID
</th><td> BLOB
</td><td> the serialized Id object. This is needed to reconstruct the Id objects for method obsoleteIdIterator()
</td></tr>
</table>
<p><br />
</p>
<a name="Filter_Property_2"></a><h4> <span class="mw-headline"> Filter Property </span></h4>
<p><tt>&lt;property name="smila.connectivity.deltaindexing.impl" value="jpa"/&gt;</tt>
</p><p><br />
</p>
<a name="Configuration_2"></a><h4> <span class="mw-headline"> Configuration </span></h4>
<div class="messagebox" style="background-color: #def3fe; border: 1px solid #c5d7e0; color: black; padding: 5px; margin: 1ex 0; min-height: 35px; padding-left: 45px;">
<div style="float: left; margin-left: -40px;"><a href="http://wiki.eclipse.org/Image:Note.png" class="image" title="Note.png"><img alt="" src="http://wiki.eclipse.org/images/c/cc/Note.png" width="35" height="35" border="0" /></a></div>
<div><b>todo</b><br />this section needs to take this new page into account: <a href="General_JPA_Configuration_in_SMILA.html" title="SMILA/Documentation/General JPA Configuration in SMILA">SMILA/Documentation/General_JPA_Configuration_in_SMILA</a></div>
</div>
<p>The only configuration needed is a typicall eclipseLink configuration property file. Therin you can specify settings for logging, database connection settings. For more information please refer to the eclipseLink documentation [<a href="http://wiki.eclipse.org/Using_EclipseLink_JPA_Extensions_(ELUG)#Using_EclipseLink_JPA_Extensions_for_JDBC" class="external autonumber" title="http://wiki.eclipse.org/Using_EclipseLink_JPA_Extensions_(ELUG)#Using_EclipseLink_JPA_Extensions_for_JDBC" rel="nofollow">[1]</a>].
The configuration is located at <tt>configuration/org.eclipse.smila.connectivity.deltaindexing.jpa.impl/persistence.properties</tt>. 
</p>
<div dir="ltr" style="text-align: left;"><pre class="source-java"># EclipseLink properties
eclipselink.<span class="me1">logging</span>.<span class="me1">level</span>=INFO
eclipselink.<span class="me1">target</span>-server=None
eclipselink.<span class="me1">target</span>-database=org.<span class="me1">eclipse</span>.<span class="me1">persistence</span>.<span class="me1">platform</span>.<span class="me1">database</span>.<span class="me1">DerbyPlatform</span>
eclipselink.<span class="me1">jdbc</span>.<span class="me1">driver</span>=org.<span class="me1">apache</span>.<span class="me1">derby</span>.<span class="me1">jdbc</span>.<span class="me1">EmbeddedDriver</span>
eclipselink.<span class="me1">jdbc</span>.<span class="me1">url</span>=jdbc:derby:workspace/.<span class="me1">metadata</span>/.<span class="me1">plugins</span>/org.<span class="me1">eclipse</span>.<span class="me1">smila</span>.<span class="me1">connectivity</span>.<span class="me1">deltaindexing</span>.<span class="me1">jpa</span>.<span class="me1">impl</span>/deltaindexingstorage;create=<span class="kw2">true</span>
eclipselink.<span class="me1">jdbc</span>.<span class="me1">password</span>=smila
eclipselink.<span class="me1">jdbc</span>.<span class="me1">user</span>=smila
eclipselink.<span class="me1">ddl</span>-generation=drop-and-create-tables</pre></div>
<p>After starting Smila for the first time, the DDL generation setting will print out some nasty warnings, complaining that it can't create some tables. These warnings are not critical. You can get rid of them by setting <tt>eclipselink.ddl-generation=none</tt>, but only after Smila was started at least once (and the tables were created).
</p>
<a name="Limitations"></a><h4> <span class="mw-headline"> Limitations </span></h4>
<p>At the moment it is necessary to import all packages containing JDBCDriver classes in <tt>org.eclipse.smila.connectivity.deltaindexing.jpa.impl</tt>. So for changing from derby to another database it is not sufficient to change the configuration in <tt>persistence.properties</tt>, you also have to add import package statementsv for the JDBC driver to use to your bundles manifest. This will hopefully be changed with the next release of eclipseLink.
</p>
<!-- 
NewPP limit report
Preprocessor node count: 67/1000000
Post-expand include size: 913/2097152 bytes
Template argument size: 387/2097152 bytes
#ifexist count: 0/100
-->

<!-- Saved in parser cache with key wikidb:pcache:idhash:18207-0!1!0!!en!2!edit=0 and timestamp 20111027143950 -->
<div class="printfooter">
Retrieved from "<a href="DeltaIndexingManager.html">http://wiki.eclipse.org/SMILA/Documentation/DeltaIndexingManager</a>"</div>
                    <!-- end content -->
          <div class="visualClear"></div>
        </div>
      </div>


    </div>


	<!-- Yoink of toolbox for phoenix moved up -->


  </div>
  </div>
              <div id="clearFooter"/>
            <div id="footer" >  
	      <ul id="footernav">
                <li class="first"><a href="http://www.eclipse.org/">Home</a></li>
               	<li><a href="http://www.eclipse.org/legal/privacy.php">Privacy Policy</a></li>
	        <li><a href="http://www.eclipse.org/legal/termsofuse.php">Terms of Use</a></li>
		<li><a href="http://www.eclipse.org/legal/copyright.php">Copyright Agent</a></li>
                <li><a href="http://www.eclipse.org/org/foundation/contact.php">Contact</a></li>
               	<li><a href="http://wiki.eclipse.org/Eclipsepedia:About" title="Eclipsepedia:About">About Eclipsepedia</a></li>
	      </ul>
              <span id="copyright">Copyright &copy; 2011 The Eclipse Foundation. All Rights Reserved</span>
	      <p id="footercredit">This page was last modified 07:04, 21 April 2011 by <a href="http://wiki.eclipse.org/index.php?title=User:Juergen.schumacher.attensity.com&amp;action=edit" class="new" title="User:Juergen.schumacher.attensity.com">Juergen Schumacher</a>. Based on work by <a href="http://wiki.eclipse.org/User:Daniel.stucky.empolis.com" title="User:Daniel.stucky.empolis.com">Daniel Stucky</a>, <a href="http://wiki.eclipse.org/User:Tmenzel.brox.de" title="User:Tmenzel.brox.de">thomas menzel</a> and <a href="http://wiki.eclipse.org/User:Igor.novakovic.empolis.com" title="User:Igor.novakovic.empolis.com">Igor Novakovic</a>.</p>
	      <p id="footerviews">This page has been accessed 3,695 times.</p>
	    </div>

            <script type="text/javascript">
              var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
              document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
            </script>
            <script type="text/javascript">
              var pageTracker = _gat._getTracker("UA-910670-4");
              pageTracker._trackPageview();
            </script>
 
 	



		

<!-- 			<div class="visualClear"></div> -->
	
		<script type="text/javascript">if (window.runOnloadHook) runOnloadHook();</script>
</div>

<!-- Served in 0.252 secs. --></body></html>
