[fdo-trac] #806: KingOra - Very Long Int64 Values Crash FeatureReader
FDO
trac_fdo at osgeo.org
Fri Dec 30 08:01:35 EST 2011
#806: KingOra - Very Long Int64 Values Crash FeatureReader
-----------------------------------+----------------------------------------
Reporter: crispinatime | Owner: haris
Type: defect | Status: new
Priority: major | Milestone: 3.6.0
Component: KingOracle Provider | Version: 3.7.0
Severity: 3 | Keywords:
External_id: |
-----------------------------------+----------------------------------------
When an Oracle schema contains what FDO considers an Int64 - eg
"NUMBER(15,0)" and that field contains very large numbers there is an
exception thrown in KingOra because of a call to
m_OciStatement->GetLong(). Where the same column definition contains
lesser values all is OK.
To address this, in "c_KgOraReader.h" in the following template class I
changed the call to a GetDouble and returned with a cast. But I'm not a
proper C++ programmer!
template <class FDO_READER> FdoInt64
c_KgOraReader<FDO_READER>::GetInt64(FdoString* propertyName)
{
... snip...
double val = m_OciStatement->GetDouble(oraind);
return (FdoInt64)val;
... snip...
}
Because of the inneficiency in the MapGuide reader for tooltips (it
doesn't optimise for the columns required but instead reads all fields
because one of them may be needed in an expression editor... one day this
will be fixed in MG) this can result in no tooltips being displayed and
noise in MG error logs.
--
Ticket URL: <http://trac.osgeo.org/fdo/ticket/806>
FDO <http://fdo.osgeo.org/>
Feature Data Objects
More information about the fdo-trac
mailing list