[fdo-internals] RE: FDO OSGeo PostGIS Provider

Jason Birch Jason.Birch at nanaimo.ca
Fri Apr 4 17:04:20 EDT 2008

This is all good news.  It's great to see the PostGIS provider maturing.


For the previous 3.2 binary release of the provider, I just pulled down
the 3.3 trunk version into a local 3.2 tree and built it.  I may have
had to change a couple things, but I don't think so.  Bruno, would you
be willing to do this for 3.2, or should we look at having the OSGeo SAC
set up yet another repository for us?  Greg, how are you handling this
for the SQL 2008 provider?  It would be nice if the 3.2 repositories
could eventually be archived and taken offline, but given that most of
the live implementations of FDO are still using 3.2, it will take a
while until we get to that point.


I'm not sure how Mateusz feels about this, but I think that if the first
few of Bruno's patches look good that it would be more efficient for him
to be given commit access, and for Mateusz (or others) to do post-commit


I'm assuming that we have received Bruno's contribution agreements?




From: fdo-internals-bounces at lists.osgeo.org
[mailto:fdo-internals-bounces at lists.osgeo.org] On Behalf Of Greg Boone
Sent: Friday, April 04, 2008 13:29
To: Bruno Scott
Cc: FDO Internals Mail List
Subject: [fdo-internals] RE: FDO OSGeo PostGIS Provider


Hi Bruno,


Thanks for the update. J


For 3.3/3.4, Submit your changes into 


3.4 -- https://svn.osgeo.org/fdo/trunk/Providers/PostGIS

3.3 -- https://svn.osgeo.org/fdo/branches/3.3/Providers/PostGIS


Please have Mateusz review and if needed, submit those submissions


For 3.2.x 


This is a trickier issue. We do not have a SVN repository available for
PostGIS built on 3.2.x. We could create a new SVN repository that
follows the existing 3.2.x pattern as described on


This repository name would be:


You would need Jason or Frank to help you with this.


Once all the submissions are in, we can kick off the respective 3.2.x
and 3.3.x builds and post patches on fdo.osgeo.org.




From: Bruno Scott [mailto:Bruno at geomapgis.com] 
Sent: Friday, March 28, 2008 7:30 AM
To: Greg Boone
Cc: Gwenael Bachelot
Subject: RE: FDO OSGeo PostGIS Provider


Hi Greg

We have still a couple issues with the PostGIS Driver

#94 <http://trac.osgeo.org/fdo/ticket/94>  

Generate extent for features assigned to default spatial context

                We're going to check that one

#106 <http://trac.osgeo.org/fdo/ticket/106>  

PostGIS provider cannot delete a feature class

                Deleting works with feature class and non feature class

                But the table must be empty


#117 <http://trac.osgeo.org/fdo/ticket/117>  

PostGIS provider does not display attribute names in MapGuide when no PK

This is a normal behavior


#171 <http://trac.osgeo.org/fdo/ticket/171>  

Fdo Postgis Autogenated identity property is mandatory

                Not mandatory anymore

#178 <http://trac.osgeo.org/fdo/ticket/178>  

PostGIS : Can't insert in a non-feature class

                Non-feature class works well with insert,delete,update
and for displaying with join

232 <http://trac.osgeo.org/fdo/ticket/232>  

Fdo Postgis null and not null filter does not work

                Not yet implemented, I will add this one in our unit


#233 <http://trac.osgeo.org/fdo/ticket/233>  

Fdo Postgis in and not in filter does not work



234 <http://trac.osgeo.org/fdo/ticket/234>  

Fdo Postgis currently does not support anything but lowercase

Still some pending problems with that one


#235 <http://trac.osgeo.org/fdo/ticket/235>  

Fdo Postgis Exception with insert


#236 <http://trac.osgeo.org/fdo/ticket/236>  

Fdo Postgis does not support non spatial classes


#241 <http://trac.osgeo.org/fdo/ticket/241>  

Implement Support for SelectAggregates, SpatialExtents and Count

                Select Count works fine now, so selectAggregates also

                Nothing was implemented

                More testing should be done


Other things, there was a discussion with the community according to the
class naming convention

So we have fallow the community recommendation and we have replaces the
"shema~class" by "class" only.



We ran our test in different environments

                100% FDO / C++ program ( without any map or Mapguide)

                Map 2008 / fdo 3.2

                Map 2009 / fdo 3.3

                Mapguide 1.2 / fdo 3.2

                Mapguide 2.0 / fdo 3.3

Using the same Postgres/PostGIS version as Matheus ( 8.2.4 + 1.2.1)


We have 3 primary spatial tables with all the same columns (one for
point, one for line/multi-line and one for polygon/multi-polygon)

KEY_1                    Int32

STRING_1            String

INT32_1               Int32

DOUBLE_1          Double

DATE_1                DateTime

STR_CODE_1      String    64

INT_CODE_1      Int32


plus one primary alpha table (without geometry)

and one primary X/Y table ( Postgis provider does not support displaying
it YET)


We have one secondary alpha table for 1-1 joining ( KEY_1 = j_KEY_1)
with the 5 primary tables

J_KEY_1               Int32                                      

J_STRING_1       String

J_INT32_1           Int32

J_DOUBLE_1      Double

J_DATE_1            DateTime

J_STR_CODE_1 String

J_INT_CODE_1  Int32


We have two secondary alpha table for n-1 joining (INT_CODE_1 =
INT_CODE_1 / STR_CODE_1 = STR_CODE_1) with the  5 primary tables

INT_CODE_1      Int32                      

DESC_1                 String    


STR_CODE_1      String

DESC_1                 String


Unit test  with FDO/C++ ( all test succeed, 0 failed)

    Schema modification

                Drop spatial table ( failed if data in the table)

                Drop non-spatial table ( failed if data in the table)

                Create spatial table

                Create non-spatial table

    All our test table are dropped and recreated using FDO prior doing
any other test


  Alpha Filter test


FdoCommandType_Select (select column from ... )

FdoCommandType_SelectAggregates ( select Count(1) from ... )

FdoCommandType_SQLCommand ( complexe query with 1-1 / n-1 joins )

    Key = 1

    Key In (1,2)

    Key Not In (1,2)

    Key > 99

    Key >= 99

    Key < 2

    Key <= 2

    String = 'Bb'

    String In ('Bb','Dd')

    String Not In ('Bb','Dd')

    String Like 'B%'

    String Not Like 'B%'

    Int = 10010

    Int > 10990

    Int >= 10990

    Int < 10020

    Int <= 10020

    Double = 20010.0000001

    Double > 118010.0097903

    Double >= 118010.0097903

    Double < 21010.0001

    Double <= 21010.0001

    Date = 2007-01-01

    Date > 2007-04-09

    Date >= 2007-04-09

    Date < 2007-01-02

    Date <= 2007-01-02

    DateTime = 2007-01-01 00:00:00

    DateTime > 2007-04-09 00:00:00

    DateTime >= 2007-04-09 00:00:00

    DateTime < 2007-01-02 00:00:00

    DateTime <= 2007-01-02 00:00:00


  Spatial Filter test


FdoCommandType_Select (select column from ... )

FdoCommandType_SelectAggregates ( select Count(1) from ... )

FdoCommandType_SQLCommand ( complexe query with join )



geometry ENVELOPEINTERSECTS GeomFromText(POINT XY ...')"

we didn't test the LINESTRING ( we should )


  Update test

                Insert simple polygon

                Insert multi polygon

                Insert polygon with hole

Insert linestring

Insert multi linestring

                Insert point

                Insert alpha ( no geometry in table)

                Delete polygon

Delete linestring

                Delete point

                Delete alpha ( no geometry in table)

                Update int32 ( on spatial and non-spatial table)

                Update String ( on spatial and non-spatial table)

                Update double ( on spatial and non-spatial table)

                Update date ( on spatial and non-spatial table)

                Update datetime ( on spatial and non-spatial table)

                Update geometry simple polygon

                Update geometry multi polygon

                Update geometry polygon with hole

                Update geometry linestring

                Update geometry multi linestring

                Update geometry point


Test with Map 2008

                Connecting OK

                Attaching table with srid OK        

                Attaching table without srid -> map display a warning

                Display point ok

                Display linestring ok

                Display polygon ok

                Joining spatial table to non-spatial table ok

                Table view display ok

                Updating in the table view ok but the check-in crashes

                Check-out crashes map


Test with Map 2009

                This after noon


Test with Mapguide 1.2

                Everything seems ok

                But still some testing to do with srid


Test with Mapguide 2.0

                Everything seems ok

                But still some testing to do with srid


We are actually investigating on the crash problem within map 2008.


I don't know exactly what are the process to submit all our code changes
with the release 3.2.2 and 3.3.0.

If you could provide some help on that point it will be appreciated.







From: Greg Boone [mailto:greg.boone at autodesk.com] 
Sent: jeudi 27 mars 2008 18:29
To: Bruno Scott (External)
Subject: FDO OSGeo PostGIS Provider


Hi Bruno,


I was wondering if you could provide an update on the status of the FDO
OSGeo PostGIS Provider modifications that your team has been working on?


What changes have been made so far and how do these relate to the FDO
Track issues that have been logged?


What is your plan to submit changes to the FDO OSGeo SVN?


When can your changes be rolled into our formalized build process and
released as an official patch to the FDO 3.3 release?


Will you changes also support FDO 3.2? 


If so, we need to get that the FDO 3.2 code dropped as well, and an
official provider release posted.




-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.osgeo.org/pipermail/fdo-internals/attachments/20080404/517114a2/attachment-0001.html

More information about the fdo-internals mailing list