[mapguide-internals] Exception thrown on null values?

Jason Birch Jason.Birch at nanaimo.ca
Thu Feb 28 17:59:13 EST 2008


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


More information about the mapguide-internals mailing list