[fdo-users] Fdo Postgis Autogenated identity property

Mateusz Loskot mateusz at loskot.net
Fri Nov 16 12:28:16 EST 2007


Bruno,

Thanks for the good catch.
Would you mind to report it as a ticket to the FDO Trac system?

http://trac.osgeo.org/fdo

And I will take care of it.
-- Mat

Bruno Scott wrote:
> Actually it is mandatory 
> there is the piece of code where you can find the limitation:
> 
> void SchemaDescription::DescribeSchema(Connection* conn, FdoString*
> schemaName) 
> { 
>   ...
>         ////////////////// SET AUTO-GENERATED TO SINGLE COLUMN PK OF
> INTEGRAL TYPE ////////////////// 
>   
>          // TODO: It is possible, that user connects to a datastore that was
> not created 
>          // with FDO, using ApplySchema command, so single column PRIMARY
> KEY 
>          // of integral type, may not have associated sequence named
> according scheme: 
>          // <tablename>_<columnname>_seq 
>          // The PostGIS provider uses such scheme to bind a sequence to PK
> column. 
>   
>          // TODO: In future, it would be a good idea to automatically 
>          // replace PK of integral type with serial data type, in
> ApplySchema command. 
>   
>          FdoPtr<FdoDataPropertyDefinitionCollection> propsIdentity; 
>          propsIdentity = featClass->GetIdentityProperties(); 
>          if (1 == propsIdentity->GetCount()) 
>          { 
>              FdoPtr<FdoDataPropertyDefinition> propId =
> propsIdentity->GetItem(0); 
>              assert(NULL != propId); 
>   
>              if (FdoDataType_Int16 == propId->GetDataType()  
>                  || FdoDataType_Int32 == propId->GetDataType() 
>                  || FdoDataType_Int64 == propId->GetDataType()) 
>              { 
>                  propId->SetIsAutoGenerated(true); 
>              } 
>          } 
>  
> 
> With FDO it is possible to create a column with Primary = true and
> autogenerate = false.
> I think the PostGis provider should not do that assumption and let the user
> manage the primary key
> if the autogenerate flag is set to false.
> 
> 
> Bruno
> 
> 
> 
> 
> 
> 
> christophe_geomap wrote:
>> When i have only 1 identity property (int32), postgis provider set the
>> property autogenerate.
>> Is there a way to have 1 identity property (int32) without using a
>> sequence or is there a ticket about this ?
>>
>> Thanks
>>
>> Christophe
>>
> 


-- 
Mateusz Loskot
http://mateusz.loskot.net


More information about the fdo-users mailing list