<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<HTML>
<HEAD>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
<META NAME="Generator" CONTENT="MS Exchange Server version 6.5.7654.12">
<TITLE>OGR OCI Driver improvement</TITLE>
</HEAD>
<BODY>
<!-- Converted from text/rtf format -->

<P><FONT FACE="Times New Roman">Dear developpers,</FONT>
</P>

<P><SPAN LANG="en-gb"><FONT FACE="Times New Roman">I use OCI driver for a while and I found some problems</FONT></SPAN>
</P>

<P><SPAN LANG="en-gb"><FONT FACE="Times New Roman">These problems are blocking for me and I already have solution for some of them.</FONT></SPAN>
</P>

<P><SPAN LANG="en-gb"><FONT FACE="Times New Roman">My firsts questions are organisational. </FONT></SPAN>

<BR><SPAN LANG="en-gb"><FONT FACE="Times New Roman">What to do to have the code I proposed tested by other people sharing the same problem ?</FONT></SPAN>

<BR><SPAN LANG="en-gb"><FONT FACE="Times New Roman">How to get these patch included in the main trunk for a future release of GDAL ?</FONT></SPAN>
</P>

<P><SPAN LANG="en-gb"><FONT FACE="Times New Roman">I&#8217;m conscientious that the development team could not provide solution to all problems in a short delay, so how can I help to get quick (and stable) adaptation&nbsp; ?</FONT></SPAN></P>

<P><SPAN LANG="en-gb"><FONT FACE="Times New Roman">Problems are</FONT></SPAN>
<UL>
<P><SPAN LANG="en-gb"><FONT FACE="Times New Roman">1)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Bad dimension support when using existing layer (DIM parameter is only valid during Creation)&nbsp; Ticket #3025 =&gt; I have solution</FONT></SPAN></P>

<P><SPAN LANG="en-gb"><FONT FACE="Times New Roman">2)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; When adding new feature in multi-user environment, FID generated by different client may conflict. </FONT></SPAN>

<BR><SPAN LANG="en-gb"><FONT FACE="Times New Roman">&nbsp; </FONT></SPAN>

<BR><SPAN LANG="en-gb"><FONT FACE="Times New Roman">Proposition</FONT></SPAN>

<BR><SPAN LANG="en-gb"><FONT FACE="Times New Roman">&nbsp;Let existing FID generation for compatibility purpose.</FONT></SPAN>

<BR><SPAN LANG="en-gb"><FONT FACE="Times New Roman">&nbsp;When FID are generated on the basis of an oracle sequence (my situation)&nbsp; retrieving the FID through INSERT &#8230; RETURNING FID_FIELD INTO :variable</FONT></SPAN></P>

<P><SPAN LANG="en-gb"><FONT FACE="Times New Roman">And using this variable to set the FID's Feature</FONT></SPAN>
</P>

<P><SPAN LANG="en-gb"><FONT FACE="Times New Roman">Note: this proposition fix a problem&nbsp; when poFeature-&gt;GetFID() == OGRNullFID because SetFID is not called in this case.</FONT></SPAN>
</P>

<P><SPAN LANG="en-gb"><FONT FACE="Times New Roman">=&gt; I have solution</FONT></SPAN>
</P>

<P><SPAN LANG="en-gb"><FONT FACE="Times New Roman">3)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; OCITableLayer.SetFeature() not compliant with OGR Documentation</FONT></SPAN>
</P>

<P><SPAN LANG="en-gb"><FONT FACE="Times New Roman">Documentation says that SetFeature Rewrite an existing feature.&nbsp; </FONT></SPAN>

<BR><SPAN LANG="en-gb"><FONT FACE="Times New Roman">3.1) Actual implementation try to make a delete before an insert and doesn&#8217;t test if delete effectively delete one row. </FONT></SPAN></P>

<P><SPAN LANG="en-gb"><FONT FACE="Times New Roman">3.2) Implementation with delete + insert is not nice if we have </FONT></SPAN>

<BR><SPAN LANG="en-gb"><FONT FACE="Times New Roman">-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; logic to generate new FID</FONT></SPAN>

<BR><SPAN LANG="en-gb"><FONT FACE="Times New Roman">-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; trigger on update&nbsp;&nbsp;&nbsp; </FONT></SPAN>
</P>

<P><SPAN LANG="en-gb"><FONT FACE="Times New Roman">I write a code that translate SetFeature in an update statement.</FONT></SPAN>
</UL>
<P><SPAN LANG="en-gb"><FONT FACE="Times New Roman">=&gt; I have solution</FONT></SPAN>
</P>
<UL>
<P><SPAN LANG="en-gb"><FONT FACE="Times New Roman">Concerning compliance with the documentation, documentation should by updated if&nbsp; inserting new feature is permitted. In this case,&nbsp; I could adapt my code to make an insert if no row is processed by the update. </FONT></SPAN></P>

<P><SPAN LANG="en-gb"><FONT FACE="Times New Roman">4)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Presently, driver return that it support Transactions in TestCapability. It is not the case. It should return false until true transaction support will be implemented.</FONT></SPAN></P>

<P><SPAN LANG="en-gb"><FONT FACE="Times New Roman">&nbsp; </FONT></SPAN>

<BR><SPAN LANG="en-gb"><FONT FACE="Times New Roman">Thanks a lot, and I expect that I could contribute in the improvement of the OCI driver</FONT></SPAN>
</P>
</UL>
<P><SPAN LANG="fr-be"><FONT SIZE=2 FACE="Courier New">==================================================</FONT><BR>
<FONT SIZE=2 FACE="Courier New">Nicolas Simon, Informaticien</FONT> </SPAN>

<BR><SPAN LANG="fr"><FONT SIZE=2 FACE="Courier New">Service Public de Wallonie (SPW)</FONT></SPAN>

<BR><SPAN LANG="fr"><FONT SIZE=2 FACE="Courier New">Direction générale opérationnelle Agriculture, Ressources Naturelles et Environnement (DGARNE)</FONT></SPAN>

<BR><SPAN LANG="fr"><FONT SIZE=2 FACE="Courier New">Département des Aides</FONT></SPAN>

<BR><SPAN LANG="fr"><FONT SIZE=2 FACE="Courier New">Direction de l'Octroi des Aides agricoles - Service Informatique</FONT></SPAN>

<BR><SPAN LANG="fr-be"><FONT SIZE=2 FACE="Courier New">14, Chaussée de Louvain - 4e étage</FONT><FONT FACE="Times New Roman"><BR>
</FONT><FONT SIZE=2 FACE="Courier New">5000 Namur</FONT><FONT FACE="Times New Roman"><BR>
</FONT><FONT SIZE=2 FACE="Courier New">BELGIUM</FONT> </SPAN>
</P>

</BODY>
</HTML>