[mapguide-commits] r8628 - in branches/2.6/MgDev: . Server/src/Services/Feature
svn_mapguide at osgeo.org
svn_mapguide at osgeo.org
Wed Apr 29 06:22:58 PDT 2015
Author: jng
Date: 2015-04-29 06:22:58 -0700 (Wed, 29 Apr 2015)
New Revision: 8628
Modified:
branches/2.6/MgDev/
branches/2.6/MgDev/Server/src/Services/Feature/ServerFeatureReader.cpp
branches/2.6/MgDev/Server/src/Services/Feature/ServerFeatureReader.h
Log:
Merged revision(s) 8626 from trunk/MgDev:
Merged revision(s) 8625 from sandbox/adsk/3.0m:
Fix ticket: ReadNext method loops when using SqLite database
http://trac.osgeo.org/mapguide/ticket/1996
........
Also fix tab/space formatting as part of this merge
........
Property changes on: branches/2.6/MgDev
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/2.4/MgDev:6749-6756,6777-6783,6785-6787,6789,6791-6794,6796-6801,6954-6962,6986-7006
/sandbox/adsk/3.0m:8563,8584,8607
/sandbox/jng/createruntimemap:7486-7555
/sandbox/rfc94:5099-5163
/trunk/MgDev:8209-8210,8230,8313,8333,8359,8388,8392,8423,8433,8439,8443-8444,8518-8519,8567-8568,8571,8588-8589,8595,8616-8618
+ /branches/2.4/MgDev:6749-6756,6777-6783,6785-6787,6789,6791-6794,6796-6801,6954-6962,6986-7006
/sandbox/adsk/3.0m:8563,8584,8607,8625
/sandbox/jng/createruntimemap:7486-7555
/sandbox/rfc94:5099-5163
/trunk/MgDev:8209-8210,8230,8313,8333,8359,8388,8392,8423,8433,8439,8443-8444,8518-8519,8567-8568,8571,8588-8589,8595,8616-8618,8626
Modified: branches/2.6/MgDev/Server/src/Services/Feature/ServerFeatureReader.cpp
===================================================================
--- branches/2.6/MgDev/Server/src/Services/Feature/ServerFeatureReader.cpp 2015-04-29 13:21:03 UTC (rev 8627)
+++ branches/2.6/MgDev/Server/src/Services/Feature/ServerFeatureReader.cpp 2015-04-29 13:22:58 UTC (rev 8628)
@@ -38,6 +38,7 @@
m_fdoReader = FDO_SAFE_ADDREF(fdoReader);
m_forceIdProps = SAFE_ADDREF(forceIdProps); //This is only passed in for select queries that involve the FDO Join APIs
m_removeFromPoolOnDestruction = false;
+ m_readerDepleted = false;
// The reader takes ownership of the FDO connection
m_connection->OwnReader();
@@ -57,6 +58,7 @@
m_connection = NULL;
m_fdoReader = NULL;
m_removeFromPoolOnDestruction = false;
+ m_readerDepleted = false;
}
//////////////////////////////////////////////////////////////////
@@ -96,6 +98,9 @@
{
CHECKNULL(m_fdoReader, L"MgServerFeatureReader.ReadNext");
+ if (m_readerDepleted)
+ return false;
+
bool retVal = false;
MG_FEATURE_SERVICE_TRY()
@@ -104,6 +109,9 @@
MG_FEATURE_SERVICE_CATCH_AND_THROW(L"MgServerFeatureReader.ReadNext")
+ if (!retVal)
+ m_readerDepleted = true;
+
return retVal;
}
@@ -1157,6 +1165,9 @@
CHECKNULL((FdoIFeatureReader*)m_fdoReader, L"MgServerFeatureReader.AddFeatures");
CHECKNULL((MgFeatureSet*)m_featureSet, L"MgServerFeatureReader.AddFeatures");
+ if (m_readerDepleted)
+ return;
+
INT32 desiredFeatures = 0;
// Access the class definition
@@ -1184,6 +1195,7 @@
if (++desiredFeatures == count)
break;
}
+ m_readerDepleted = true;
}
//some providers will throw if ReadNext is called more than once
catch (FdoException* e)
Modified: branches/2.6/MgDev/Server/src/Services/Feature/ServerFeatureReader.h
===================================================================
--- branches/2.6/MgDev/Server/src/Services/Feature/ServerFeatureReader.h 2015-04-29 13:21:03 UTC (rev 8627)
+++ branches/2.6/MgDev/Server/src/Services/Feature/ServerFeatureReader.h 2015-04-29 13:22:58 UTC (rev 8628)
@@ -575,6 +575,7 @@
FdoIFeatureReader* m_fdoReader;
bool m_removeFromPoolOnDestruction;
Ptr<MgStringCollection> m_forceIdProps;
+ FdoBoolean m_readerDepleted;
CLASS_ID:
static const INT32 m_cls_id = PlatformBase_FeatureService_FeatureReader;
More information about the mapguide-commits
mailing list