[mapguide-internals] Exception thrown on null values?
Zac Spitzer
zac.spitzer at gmail.com
Thu Feb 28 18:58:49 EST 2008
I really like Trevor's suggestion of oracle null style string handling
of this. MG 2.0
is already much slower than 1.2, any additional over header is going
to be painful.
On Fri, Feb 29, 2008 at 9:59 AM, Jason Birch <Jason.Birch at nanaimo.ca> wrote:
> Oh, just looked at the example a bit closer, and the calling function
> printFeatureReader() does the IsNull check.
>
>
> Jason
>
> -----Original Message-----
> From: mapguide-internals-bounces at lists.osgeo.org
>
> [mailto:mapguide-internals-bounces at lists.osgeo.org] On Behalf Of Jason
> Birch
>
>
> Sent: Thursday, February 28, 2008 14:24
> To: MapGuide Internals Mail List
> Subject: RE: [mapguide-internals] Exception thrown on null values?
>
> Ahh. I guess I can see where that would be a problem. With PHP, you
> can just set the variable to NULL, regardless of the "type" :)
>
> I guess... if this isn't fixable (without changing the FDO spec) could
> we look at changing the documentation to reflect calling IsNull as a
> best practice? For example, the printPropertyValueFromFeatRead()
> function on this page:
>
> http://mapguide.osgeo.org/files/mapguide/docs/webapi/d6/ddc/class_mg_fea
> ture_reader.htm
>
> Should probably have something like this in it:
>
> if ($featureReader->IsNull($propertyName))
> {
> $val = NULL;
> }
> else
> {
> switch ($propertyType) {
> ...
>
> Hmm. While I'm at it, the \n's in the source for that example should
> probably be double-escaped.
>
> Jason
>
>
>
> -----Original Message-----
> From: mapguide-internals-bounces at lists.osgeo.org
> [mailto:mapguide-internals-bounces at lists.osgeo.org] On Behalf Of Trevor
> Wekel
> Sent: Thursday, February 28, 2008 14:02
> To: MapGuide Internals Mail List
> Subject: RE: [mapguide-internals] Exception thrown on null values?
>
> Hi Jason,
>
> Since we have multiple web tier implementation languages, creating a
> standard for NULL is tricky. I'm not aware of constructs in .Net, PHP,
> and Java for NULL scalar values. For a string, we could return "" or
> maybe "<null>". Not sure what to do with NULL for doubles and integers.
>
>
>
> -----Original Message-----
> From: mapguide-internals-bounces at lists.osgeo.org
> [mailto:mapguide-internals-bounces at lists.osgeo.org] On Behalf Of Jason
> Birch
> Sent: Thursday, February 28, 2008 2:48 PM
> To: MapGuide Internals Mail List
> Subject: RE: [mapguide-internals] Exception thrown on null values?
>
> Am I allowed to say "lame"? :) NULL is a perfectly valid value for
> most data types, and throwing an exception in this case adds a lot of
> additional processing that should not be required.
>
> I personally feel that this is a case where MapGuide could make
> application developers lives a lot easier and improve (slightly?) the
> performance of web-level apps by swallowing the exception and returning
> NULL.
>
> Jason
>
> -----Original Message-----
> From: mapguide-internals-bounces at lists.osgeo.org
> [mailto:mapguide-internals-bounces at lists.osgeo.org] On Behalf Of Traian
> Stanev
> Sent: Thursday, February 28, 2008 13:31
> To: 'MapGuide Internals Mail List'
> Subject: RE: [mapguide-internals] Exception thrown on null values?
>
> I think this complies with the FDO spec, which requires an exception to
> be thrown when the value is null and you try to get it anyway. The two
> solutions are to check for IsNull() before getting it, or to catch the
> exception. The code *could* in theory return NULL in this case, but...
>
> Traian
>
> > -----Original Message-----
> > From: mapguide-internals-bounces at lists.osgeo.org [mailto:mapguide-
> > internals-bounces at lists.osgeo.org] On Behalf Of Jason Birch
> > Sent: Thursday, February 28, 2008 4:29 PM
> > To: MapGuide Internals Mail List
> > Subject: [mapguide-internals] Exception thrown on null values?
> >
> > Hi,
> >
> > I'm seeing a case in MGOS 2.0 where MgFeatureReader->GetString() is
> > throwing an exception when the value of the string is null.
> >
> > Is this expected behaviour? Has it changed since 1.2? I believe that
> > I've seen a similar error in geometry, but don't have a test case for
> > that yet.
> >
> > This is relatively easy to work around with a try/catch and
> suppressing
> > the error output if the message includes "null", but it's a bit
> > annoying. Is there a better way of dealing with this?
> >
> > Jason
> > _______________________________________________
> > mapguide-internals mailing list
> > mapguide-internals at lists.osgeo.org
> > http://lists.osgeo.org/mailman/listinfo/mapguide-internals
> _______________________________________________
> mapguide-internals mailing list
> mapguide-internals at lists.osgeo.org
> http://lists.osgeo.org/mailman/listinfo/mapguide-internals
> _______________________________________________
> mapguide-internals mailing list
> mapguide-internals at lists.osgeo.org
> http://lists.osgeo.org/mailman/listinfo/mapguide-internals
> _______________________________________________
> mapguide-internals mailing list
> mapguide-internals at lists.osgeo.org
> http://lists.osgeo.org/mailman/listinfo/mapguide-internals
> _______________________________________________
> mapguide-internals mailing list
> mapguide-internals at lists.osgeo.org
> http://lists.osgeo.org/mailman/listinfo/mapguide-internals
> _______________________________________________
> mapguide-internals mailing list
> mapguide-internals at lists.osgeo.org
> http://lists.osgeo.org/mailman/listinfo/mapguide-internals
>
--
Zac Spitzer -
http://zacster.blogspot.com (My Blog)
+61 405 847 168
More information about the mapguide-internals
mailing list