[fdo-internals] RE: MOTION: FDO RFC 34 - FDO Reader Access By Index

Haris Kurtagic haris at sl-king.com
Wed Sep 16 03:03:58 EDT 2009


H,

I am travelling and don't have internet connection often, so sorry If I
missed some parts of discussion.

 

I agree with Traian. I think that providers should be fixed to support
such index access which corresponds to class definition.

If providers are not able to do it ,  then better to have this index
lookup inside providers.

 

I think it would be important to encourage writing good FDO client code.
Having tables and index lookups and ... on client for accessing data
trough FDO, doesn't look good to me.

 

Haris

 

 

 

 

From: fdo-internals-bounces at lists.osgeo.org
[mailto:fdo-internals-bounces at lists.osgeo.org] On Behalf Of Traian
Stanev
Sent: Tuesday, September 15, 2009 20:39
To: FDO Internals Mail List
Subject: [fdo-internals] RE: MOTION: FDO RFC 34 - FDO Reader Access By
Index

 

 

I'd rather have such index->index lookup table inside one or two
providers than make every application programmer have to make such
lookup table in client code, because it seems like instances of such
loops would be more common than providers that cannot implement such
table internally.

 

Traian

 

 

From: fdo-internals-bounces at lists.osgeo.org
[mailto:fdo-internals-bounces at lists.osgeo.org] On Behalf Of Greg Boone
Sent: Tuesday, September 15, 2009 2:30 PM
To: FDO Internals Mail List
Subject: [fdo-internals] RE: MOTION: FDO RFC 34 - FDO Reader Access By
Index

 

See inline...

 

From: fdo-internals-bounces at lists.osgeo.org
[mailto:fdo-internals-bounces at lists.osgeo.org] On Behalf Of Traian
Stanev
Sent: Tuesday, September 15, 2009 1:58 PM
To: FDO Internals Mail List
Subject: [fdo-internals] RE: MOTION: FDO RFC 34 - FDO Reader Access By
Index

 

 

There is no technical reason making this impossible, since this is new
API and presumably all existing providers that want to add support for
this will have to comply with the RFC. If the RFC says that the order
has to match the one returned by GetClassDefinition, then why would you
expect future providers to not honor that?

 

[GB] I am sure that they could do this, but I would not wish to force
them to do so for existing providers.  Especially those providers
outside the Open Source community.

 

A common use case is that one gets the class definition from the reader
and then loops over its properties using a for loop inside the reader's
ReadNext() loop. Such loop would be a prime candidate for using the
indexed Get calls. If the index of the properties in the class
definition does not match the index to use in Get by index, then this
common use case cannot effectively benefit from this RFC, significantly
reducing the value of the Get by index APIs. I guess a workaround for
this would be for the application programmer to create an index->index
lookup table in such cases before looping, but that sounds worksome to
do too often, which would be an obstacle to adoption of the indexed Get
APIs.

 

[GB] I agree that in this situation, a client index->index lookup will
be required. Depending on the number of different queries being executed
this may be problematic. It may be the case that it would have to be
done for all queries.

 

Traian

 

 

From: fdo-internals-bounces at lists.osgeo.org
[mailto:fdo-internals-bounces at lists.osgeo.org] On Behalf Of Greg Boone
Sent: Tuesday, September 15, 2009 10:35 AM
To: FDO Internals Mail List
Subject: [fdo-internals] RE: MOTION: FDO RFC 34 - FDO Reader Access By
Index

 

I think we will still require these methods since we can never guarantee
that all existing and future providers will behave in the expected
manner in all select scenarios. 

 

Greg

 

From: fdo-internals-bounces at lists.osgeo.org
[mailto:fdo-internals-bounces at lists.osgeo.org] On Behalf Of Traian
Stanev
Sent: Tuesday, September 15, 2009 10:25 AM
To: FDO Internals Mail List
Subject: [fdo-internals] RE: MOTION: FDO RFC 34 - FDO Reader Access By
Index

 

 

How hard would it be to fix the providers internally so that the index
of the properties in the collection returned with GetClassDefinition
corresponds to the index needed for getting the property by index? I
suspect it is not too hard since it would involve the same amount of
work as implementing this new GetPropertyIndex API, but will not add new
API that one has to call before getting the properties by index.

 

 

Traian

 

 

From: fdo-internals-bounces at lists.osgeo.org
[mailto:fdo-internals-bounces at lists.osgeo.org] On Behalf Of Klain Qin
Sent: Monday, September 14, 2009 11:02 PM
To: FDO Internals Mail List
Subject: [fdo-internals] RE: MOTION: FDO RFC 34 - FDO Reader Access By
Index

 

Hi all,

 

While this RFC is being voted, I've updated it again in order to use
access by index API more efficiently and correctly. 

 

Previously in order to use access by index functions for
FdoIFeatureReader or FdoIDataReader, the API users will have to know
beforehand how index is mapping to property name. And mapping is
different for different provider implementations like SqlLite/SDF and
RDBMS. E.g. with the same FDO schema definition, SqlLite and RDBMS will
arrange the property order returned from GetClassDefinition()
differently:

 

a.       If you don't set selected property names be returned from an
FdoISelect command 

 

SqlLite provider will arrange the properties in the order: Identity
property -> Geometry property -> the left will be arranged in the order
of how they are added into the class definition, like ID -> geometry ->
datetime-> double 

For RDBMS provider the order is: identity property -> the left is
ordered by the first character of the property name like ID ->
datetime-> double -> geometry

 

b.      If you do set selected property names to be returned from an
FdoISelect command

 

SqlLite provider will respect the order of how they are added to
selected properties. 

SDF provider will respect the order of corresponding properties defined
in the original class definition(without setting selected properties)

 

So to resolve this inconvenience, RFC 34 is updated again to add another
function for getting the index of a specific property name. Now both of
the property name and index related functions are moved to FdoIReader as
they are needed for both FdoIFeatureReader and FdoIDataReader. 

FdoString* GetPropertyName(FdoInt32 index);

FdoInt32 GetPropertyIndex(FdoString* propertyName);

Can you take a look again at this RFC?

 

http://trac.osgeo.org/fdo/wiki/FDORfc34

 

Thanks,

Klain

 

From: fdo-internals-bounces at lists.osgeo.org
[mailto:fdo-internals-bounces at lists.osgeo.org] On Behalf Of Greg Boone
Sent: Monday, September 14, 2009 11:33 PM
To: FDO Internals Mail List
Subject: [fdo-internals] MOTION: FDO RFC 34 - FDO Reader Access By Index

 

Hi all,

 

There were no further comments on RFC 34:
http://trac.osgeo.org/fdo/wiki/FDORfc34  - FDO Reader Access By Index.

 

I would like to motion a vote to accept this RFC.

 

Thanks,

Greg.

 

 

 

From: fdo-internals-bounces at lists.osgeo.org
[mailto:fdo-internals-bounces at lists.osgeo.org] On Behalf Of Greg Boone
Sent: Wednesday, September 09, 2009 12:41 PM
To: FDO Internals Mail List
Subject: [fdo-internals] RE: FDO RFC 34 - FDO Reader Access By Index

 

Hi All,

 

FDO RFC 34 - Access By Index: http://trac.osgeo.org/fdo/wiki/FDORfc34
<http://trac.osgeo.org/fdo/wiki/FDORfc34>  has been updated and is ready
for a secondary review. 

 

Please refer to the section labeled: "Provider Implementation"

 

Please respond with comments by end of day, Friday September 11.

 

Greg

 

From: fdo-internals-bounces at lists.osgeo.org
[mailto:fdo-internals-bounces at lists.osgeo.org] On Behalf Of Greg Boone
Sent: Thursday, August 06, 2009 9:39 AM
To: FDO Internals Mail List
Subject: [fdo-internals] FDO RFC 34 - FDO Reader Access By Index

 

Hi All,

 

FDO RFC 34, http://trac.osgeo.org/fdo/wiki/FDORfc34, is ready for
review. 

 

Please review and respond with comments.

 

Greg

 

 

 

 

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.osgeo.org/pipermail/fdo-internals/attachments/20090916/3ba2ee9b/attachment-0001.html


More information about the fdo-internals mailing list