[mapguide-internals] Proposed minor changes to RFC 9

Steve Dang steve.dang at autodesk.com
Tue Mar 27 01:05:49 EDT 2007


Hi Jason,

My answers are inline ...

Thanks,
Steve.

-----Original Message-----
From: mapguide-internals-bounces at lists.osgeo.org
[mailto:mapguide-internals-bounces at lists.osgeo.org] On Behalf Of Jason
Birch
Sent: Monday, March 26, 2007 9:52 PM
To: MapGuide Internals Mail List
Subject: RE: [mapguide-internals] Proposed minor changes to RFC 9

Hi Steve,
 
I'm not sure that I fully understand.  
 
The RFC adds a layer-based UpdateFeatures that only requires a
PropertyCollection.  This isn't changing, right?  What's changing is how
this is implemented in the back end?

SHD> Right.
 
My primary concern is how transactional logic is handled in the back
end.  Does it automatically use transactions for providers that support
it, and not for those that don't?

SHD> Yes.
 
I'd also hesitate to deprecate something in the FeatureService when
there are folks that are using it natively and might find the extra
control of specifying the transaction mode useful (and worth any
performance penalty).  Is there a downside to leaving the old method
signature in place, and just adding a second supported signature?

SHD> No downside. If we decide to support two overloaded
FeatureService::UpdateFeatures methods, then we may want to do the same
for MgLayer as well:

        MgPropertyCollection* MgLayer::UpdateFeatures(
                MgFeatureCommandCollection* commands);

        MgPropertyCollection* MgLayer::UpdateFeatures(
                MgFeatureCommandCollection* commands,
                bool useTransaction); 

Or combine them into one that can utilize or override whatever the
provider supports,

Or perhaps just support the first method for now and the second one
later (i.e. forget about my second proposal :))

Jason

________________________________

From: Steve Dang
Subject: RE: [mapguide-internals] Proposed minor changes to RFC 9

In addition:

I've found that MgLayer::UpdateFeatures will be slow because of the
overheads (additional requests from the web tier) that need to determine
the provider name and whether or not it supports transactions.

So, I propose to deprecate:

        MgPropertyCollection* MgFeatureService::UpdateFeatures(
                MgResourceIdentifier* resource,
                MgFeatureCommandCollection* commands,
                bool useTransaction);

and add:

        MgPropertyCollection* MgFeatureService::UpdateFeatures(
                MgResourceIdentifier* resource,
                MgFeatureCommandCollection* commands);

The MgLayer::UpdateFeatures will call this new method and all the
overheads above will be done on the server side.




More information about the mapguide-internals mailing list