[mapguide-commits] r5949 - trunk/MgDev/Server/src/Services/Feature
svn_mapguide at osgeo.org
svn_mapguide at osgeo.org
Mon Jun 27 21:37:00 EDT 2011
Author: hubu
Date: 2011-06-27 18:36:59 -0700 (Mon, 27 Jun 2011)
New Revision: 5949
Modified:
trunk/MgDev/Server/src/Services/Feature/ServerFeatureService.cpp
trunk/MgDev/Server/src/Services/Feature/ServerFeatureService.h
trunk/MgDev/Server/src/Services/Feature/ServerSelectFeatures.cpp
trunk/MgDev/Server/src/Services/Feature/ServerSelectFeatures.h
Log:
On behalf of: Spark Liu
Fix ticket 1728.
When executing command (by MgServerSelectFeatures or MgServerFeatureService.ExecuteSqlQuery), if fetch size is not specified, the DataCacheSize will be used as fetch size.
Modified: trunk/MgDev/Server/src/Services/Feature/ServerFeatureService.cpp
===================================================================
--- trunk/MgDev/Server/src/Services/Feature/ServerFeatureService.cpp 2011-06-24 15:25:06 UTC (rev 5948)
+++ trunk/MgDev/Server/src/Services/Feature/ServerFeatureService.cpp 2011-06-28 01:36:59 UTC (rev 5949)
@@ -62,6 +62,15 @@
/// </summary>
MgServerFeatureService::MgServerFeatureService() : MgFeatureService()
{
+ // Get data cache size
+ MgConfiguration* config = MgConfiguration::GetInstance();
+ if(config)
+ {
+ config->GetIntValue(MgConfigProperties::FeatureServicePropertiesSection,
+ MgConfigProperties::FeatureServicePropertyDataCacheSize,
+ m_nDataCacheSize,
+ MgConfigProperties::DefaultFeatureServicePropertyDataCacheSize);
+ }
}
@@ -738,8 +747,7 @@
{
MG_LOG_TRACE_ENTRY(L"MgServerFeatureService::ExecuteSqlQuery()");
- MgServerSqlCommand sqlCommand;
- return sqlCommand.ExecuteQuery(resource, sqlStatement, NULL, NULL);
+ return ExecuteSqlQuery(resource, sqlStatement, NULL, NULL);
}
@@ -785,8 +793,7 @@
{
MG_LOG_TRACE_ENTRY(L"MgServerFeatureService::ExecuteSqlQuery()");
- MgServerSqlCommand sqlCommand;
- return sqlCommand.ExecuteQuery(resource, sqlStatement, params, transaction);
+ return ExecuteSqlQuery(resource, sqlStatement, params, transaction, m_nDataCacheSize);
}
Modified: trunk/MgDev/Server/src/Services/Feature/ServerFeatureService.h
===================================================================
--- trunk/MgDev/Server/src/Services/Feature/ServerFeatureService.h 2011-06-24 15:25:06 UTC (rev 5948)
+++ trunk/MgDev/Server/src/Services/Feature/ServerFeatureService.h 2011-06-28 01:36:59 UTC (rev 5949)
@@ -1044,6 +1044,8 @@
void FeatureSourceToString(MgResourceIdentifier* resource, string& resourceContent);
//This method just used for OGC WFS certification
STRING SchemaToXml(MgFeatureSchemaCollection* schema, CREFSTRING namespacePrefix, CREFSTRING namespaceUrl);
+
+ INT32 m_nDataCacheSize;
};
#endif
Modified: trunk/MgDev/Server/src/Services/Feature/ServerSelectFeatures.cpp
===================================================================
--- trunk/MgDev/Server/src/Services/Feature/ServerSelectFeatures.cpp 2011-06-24 15:25:06 UTC (rev 5948)
+++ trunk/MgDev/Server/src/Services/Feature/ServerSelectFeatures.cpp 2011-06-28 01:36:59 UTC (rev 5949)
@@ -47,14 +47,19 @@
// Set a default join query batch size
m_nJoinQueryBatchSize = MgConfigProperties::DefaultFeatureServicePropertyJoinQueryBatchSize;
- // Get the join batch size
MgConfiguration* config = MgConfiguration::GetInstance();
if(config)
{
+ // Get the join batch size
config->GetIntValue(MgConfigProperties::FeatureServicePropertiesSection,
MgConfigProperties::FeatureServicePropertyJoinQueryBatchSize,
m_nJoinQueryBatchSize,
MgConfigProperties::DefaultFeatureServicePropertyJoinQueryBatchSize);
+ // Get data cache size
+ config->GetIntValue(MgConfigProperties::FeatureServicePropertiesSection,
+ MgConfigProperties::FeatureServicePropertyDataCacheSize,
+ m_nDataCacheSize,
+ MgConfigProperties::DefaultFeatureServicePropertyDataCacheSize);
}
}
@@ -370,10 +375,11 @@
// Fetch size
void MgServerSelectFeatures::ApplyFetchSize()
{
- CHECKNULL(m_options, L"MgServerSelectFeatures.ApplyFetchSize");
CHECKNULL(m_command, L"MgServerSelectFeatures.ApplyFetchSize");
-
- m_command->SetFetchSize(m_options->GetFetchSize());
+ if(m_options)
+ m_command->SetFetchSize(m_options->GetFetchSize());
+ else
+ m_command->SetFetchSize(m_nDataCacheSize);
}
// Spatial Filter
Modified: trunk/MgDev/Server/src/Services/Feature/ServerSelectFeatures.h
===================================================================
--- trunk/MgDev/Server/src/Services/Feature/ServerSelectFeatures.h 2011-06-24 15:25:06 UTC (rev 5948)
+++ trunk/MgDev/Server/src/Services/Feature/ServerSelectFeatures.h 2011-06-28 01:36:59 UTC (rev 5949)
@@ -89,6 +89,8 @@
// This setting limits the batch size used by the join query algorithm
INT32 m_nJoinQueryBatchSize;
+
+ INT32 m_nDataCacheSize;
};
#endif
More information about the mapguide-commits
mailing list