[gdal-dev] OGR OCI Driver improvement

Nicolas Simon nicolas.simon at spw.wallonie.be
Wed Jul 29 11:15:47 EDT 2009


Dear developpers,

I use OCI driver for a while and I found some problems

These problems are blocking for me and I already have solution for some of them.

My firsts questions are organisational. 
What to do to have the code I proposed tested by other people sharing the same problem ?
How to get these patch included in the main trunk for a future release of GDAL ?

I'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  ?

Problems are
	1)	Bad dimension support when using existing layer (DIM parameter is only valid during Creation)  Ticket #3025 => I have solution

	2)	When adding new feature in multi-user environment, FID generated by different client may conflict. 
	  
	Proposition
	 Let existing FID generation for compatibility purpose.
	 When FID are generated on the basis of an oracle sequence (my situation)  retrieving the FID through INSERT ... RETURNING FID_FIELD INTO :variable
	And using this variable to set the FID's Feature

	Note: this proposition fix a problem  when poFeature->GetFID() == OGRNullFID because SetFID is not called in this case.

	=> I have solution

	3)	OCITableLayer.SetFeature() not compliant with OGR Documentation

	Documentation says that SetFeature Rewrite an existing feature.  
	3.1) Actual implementation try to make a delete before an insert and doesn't test if delete effectively delete one row. 
	3.2) Implementation with delete + insert is not nice if we have 
	-	logic to generate new FID
	-	trigger on update    

	I write a code that translate SetFeature in an update statement.
=> I have solution

	Concerning compliance with the documentation, documentation should by updated if  inserting new feature is permitted. In this case,  I could adapt my code to make an insert if no row is processed by the update. 

	4)	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.
	  
	Thanks a lot, and I expect that I could contribute in the improvement of the OCI driver

================================================== 
Nicolas Simon, Informaticien 
Service Public de Wallonie (SPW)
Direction générale opérationnelle Agriculture, Ressources Naturelles et Environnement (DGARNE)
Département des Aides
Direction de l'Octroi des Aides agricoles - Service Informatique
14, Chaussée de Louvain - 4e étage 
5000 Namur 
BELGIUM 



-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.osgeo.org/pipermail/gdal-dev/attachments/20090729/819bba36/attachment.html


More information about the gdal-dev mailing list