Commit 18542d8f authored by miller86's avatar miller86

fixing problems with treat all dbs as time varying

git-svn-id: http://visit.ilight.com/svn/visit/trunk/src@1903 18c085ea-50e0-402c-830e-de6fd14e8384
parent a0721d27
......@@ -1581,14 +1581,16 @@ avtDatabase::GetMetaData(int timeState, bool forceReadAllCyclesTimes,
// Mark C. Miller, 22Sep03, changed name to Get'New'SIL. Put result
// in MRU cache
//
// Mark C. Miller, Wed Aug 22 20:16:59 PDT 2007
// Added treatAllDBsAsTimeVarying
// ****************************************************************************
void
avtDatabase::GetNewSIL(int timeState)
avtDatabase::GetNewSIL(int timeState, bool treatAllDBsAsTimeVarying)
{
// build a new sil for the given timestep
avtSIL *newsil = new avtSIL;
PopulateSIL(newsil, timeState);
PopulateSIL(newsil, timeState, treatAllDBsAsTimeVarying);
// put result in front of MRU cache
CachedSILEntry tmp = {newsil, timeState};
......@@ -1607,11 +1609,15 @@ avtDatabase::GetNewSIL(int timeState)
// Programmer: Mark C. Miller
// Creation: September 30, 2003
//
// Modifications:
//
// Mark C. Miller, Wed Aug 22 20:16:59 PDT 2007
// Added logic for treatAllDBsAsTimeVarying
// ****************************************************************************
avtSIL *
avtDatabase::GetSIL(int timeState)
avtDatabase::GetSIL(int timeState, bool treatAllDBsAsTimeVarying)
{
if (SILIsInvariant())
if (SILIsInvariant() && !treatAllDBsAsTimeVarying)
{
// since its invariant, get it at time 0
......@@ -1646,7 +1652,7 @@ avtDatabase::GetSIL(int timeState)
delete tmp.sil;
}
GetNewSIL(timeState);
GetNewSIL(timeState, treatAllDBsAsTimeVarying);
}
}
......
......@@ -269,6 +269,9 @@ typedef struct {
//
// Mark C. Miller, Thu Jun 14 10:26:37 PDT 2007
// Added support to treat all databases as time varying
//
// Mark C. Miller, Wed Aug 22 20:16:59 PDT 2007
// Added treatAllDBsAsTimeVarying to SIL methods
// ****************************************************************************
class DATABASE_API avtDatabase
......@@ -292,7 +295,8 @@ class DATABASE_API avtDatabase
bool forceReadAllCyclesTimes = false,
bool forceReadThisStateCycleTime = false,
bool treatAllDBsAsTimeVarying = false);
avtSIL *GetSIL(int stateIndex);
avtSIL *GetSIL(int stateIndex,
bool treatAllDBsAsTimeVarying = false);
int GetMostRecentTimestep() const;
virtual void ActivateTimestep(int stateIndex) {;};
......@@ -366,7 +370,8 @@ class DATABASE_API avtDatabase
void GetNewMetaData(int stateIndex,
bool forceReadAllCyclesTimes = false);
void GetNewSIL(int stateIndex);
void GetNewSIL(int stateIndex,
bool treatAllDBsAsTimeVarying = false);
void AddMeshQualityExpressions(avtDatabaseMetaData *);
void AddTimeDerivativeExpressions(avtDatabaseMetaData *);
......@@ -377,7 +382,8 @@ class DATABASE_API avtDatabase
virtual void SetCycleTimeInDatabaseMetaData(avtDatabaseMetaData *, int) = 0;
virtual void SetDatabaseMetaData(avtDatabaseMetaData *,
int=0, bool=false) = 0;
virtual void PopulateSIL(avtSIL *, int=0) = 0;
virtual void PopulateSIL(avtSIL *, int=0,
bool treatAllDBsAsTimeVarying = false) = 0;
void PopulateDataObjectInformation(avtDataObject_p&,
const char *,
......
......@@ -2983,13 +2983,17 @@ avtGenericDatabase::GetAuxiliaryData(avtDataSpecification_p spec,
// Brad Whitlock, Wed May 14 09:12:42 PDT 2003
// Added optional timeState argument.
//
// Mark C. Miller, Wed Aug 22 20:16:59 PDT 2007
// Added treatAllDBsAsTimeVarying
//
// ****************************************************************************
void
avtGenericDatabase::PopulateSIL(avtSIL *sil, int timeState)
avtGenericDatabase::PopulateSIL(avtSIL *sil, int timeState,
bool treatAllDBsAsTimeVarying)
{
int timerHandle = visitTimer->StartTimer();
avtDatabaseMetaData *md = GetMetaData(timeState);
avtDatabaseMetaData *md = GetMetaData(timeState, treatAllDBsAsTimeVarying);
avtSILGenerator gen;
gen.CreateSIL(md, sil);
visitTimer->StopTimer(timerHandle, "Creating a SIL object.");
......
......@@ -313,6 +313,8 @@ class vtkUnstructuredGrid;
// Hank Childs, Thu Jul 26 16:32:50 PDT 2007
// Added method CreateSimplifiedNestingRepresentation.
//
// Mark C. Miller, Wed Aug 22 20:16:59 PDT 2007
// Added treatAllDBsAsTimeVarying to PopulateSIL
// ****************************************************************************
class DATABASE_API avtGenericDatabase : public avtDatasetDatabase
......@@ -356,7 +358,8 @@ class DATABASE_API avtGenericDatabase : public avtDatasetDatabase
static bool issuedOriginalConnectivityWarning;
virtual void PopulateSIL(avtSIL *, int=0);
virtual void PopulateSIL(avtSIL *, int=0,
bool treatAllDBsAsTimeVarying = false);
virtual void PopulateIOInformation(int ts, avtIOInformation &);
virtual void SetCycleTimeInDatabaseMetaData(avtDatabaseMetaData *md, int timeState);
virtual void SetDatabaseMetaData(avtDatabaseMetaData *md,
......
......@@ -443,6 +443,9 @@ NetworkManager::ClearNetworksWithDatabase(const std::string &db)
//
// Mark C. Miller, Thu Jun 14 10:26:37 PDT 2007
// Added support to treat all databases as time varying
//
// Mark C. Miller, Wed Aug 22 20:16:59 PDT 2007
// Added treatAllDBsAsTimeVarying to GetSIL call
// ****************************************************************************
NetnodeDB *
......@@ -487,7 +490,7 @@ NetworkManager::GetDBFromCache(const string &filename, int time,
forceReadAllCyclesAndTimes,
forceReadThisCycleAndTime,
treatAllDBsAsTimeVarying);
cachedDB->GetDB()->GetSIL(time);
cachedDB->GetDB()->GetSIL(time, treatAllDBsAsTimeVarying);
}
return cachedDB;
......@@ -524,7 +527,7 @@ NetworkManager::GetDBFromCache(const string &filename, int time,
forceReadAllCyclesAndTimes,
forceReadThisCycleAndTime,
treatAllDBsAsTimeVarying);
db->GetSIL(time);
db->GetSIL(time, treatAllDBsAsTimeVarying);
}
netDB = new NetnodeDB(db);
......@@ -689,6 +692,9 @@ NetworkManager::GetDBFromCache(const string &filename, int time,
//
// Mark C. Miller, Thu Jun 14 10:26:37 PDT 2007
// Added support to treat all databases as time varying
//
// Mark C. Miller, Wed Aug 22 20:16:59 PDT 2007
// Added treatAllDBsAsTimeVarying to GetSIL call.
// ****************************************************************************
void
......@@ -735,7 +741,8 @@ NetworkManager::StartNetwork(const string &format,
// Set up the data spec.
avtSILRestriction_p silr =
new avtSILRestriction(workingNet->GetNetDB()->GetDB()->GetSIL(time), atts);
new avtSILRestriction(workingNet->GetNetDB()->GetDB()->
GetSIL(time, treatAllDBsAsTimeVarying), atts);
avtDataSpecification *dspec = new avtDataSpecification(var.c_str(), time, silr);
// Set up some options from the data specification
......
......@@ -2509,6 +2509,9 @@ FileServerList::GetTreatAllDBsAsTimeVarying() const
//
// Mark C. Miller, Wed Aug 2 19:58:44 PDT 2006
// Totally re-wrote to mimic metadata cache behavior
//
// Mark C. Miller, Wed Aug 22 20:16:59 PDT 2007
// Added use of treatAllDBsAsTimeVarying to GetSIL call to server.
// ****************************************************************************
const avtSIL *
......@@ -2554,7 +2557,8 @@ FileServerList::GetSIL(const QualifiedFilename &filename, int timeState,
return 0;
MDServerProxy *mds = svit->second->server;
const SILAttributes *sil = mds->GetSIL(filename.PathAndFile(), timeState);
const SILAttributes *sil = mds->GetSIL(filename.PathAndFile(),
timeState, treatAllDBsAsTimeVarying);
// cache what we got
if (sil)
......@@ -2565,8 +2569,9 @@ FileServerList::GetSIL(const QualifiedFilename &filename, int timeState,
// decide on the right key
string useKey = mdKeys[0]; // non-state-qualified key
if (treatAllDBsAsTimeVarying || GetMetaData(filename, timeState, ANY_STATE, !GET_NEW_MD, 0)->
GetMustRepopulateOnStateChange())
if (treatAllDBsAsTimeVarying ||
GetMetaData(filename, timeState, ANY_STATE, !GET_NEW_MD, 0)->
GetMustRepopulateOnStateChange())
useKey = mdKeys[1]; // state-qualified key
// cache it. Note MRU handles deletion
......
......@@ -105,6 +105,8 @@ GetSILRPCExecutor::~GetSILRPCExecutor()
// Handle errors through exceptions instead of error codes. This allows
// real error messages to make it to the user.
//
// Mark C. Miller, Wed Aug 22 20:16:59 PDT 2007
// Added treatAllDBsAsTimeVarying
// ****************************************************************************
void
......@@ -118,7 +120,8 @@ GetSILRPCExecutor::Update(Subject *s)
TRY
{
// Either send a successful reply or send an error.
parent->ReadSIL(rpc->GetFile(), rpc->GetTimeState());
parent->ReadSIL(rpc->GetFile(), rpc->GetTimeState(),
rpc->GetTreatAllDBsAsTimeVarying());
#ifdef DEBUG
debug2 << "SIL=" << endl;
parent->GetCurrentSIL()->Print(debug2);
......
......@@ -797,10 +797,13 @@ MDServerConnection::GetCurrentMetaData() const
// Hank Childs, Thu Jan 11 16:14:25 PST 2007
// Capture the list of plugins used to open a file.
//
// Mark C. Miller, Wed Aug 22 20:16:59 PDT 2007
// Added treatAllDBsAsTimeVarying
// ****************************************************************************
void
MDServerConnection::ReadSIL(std::string file, int timeState)
MDServerConnection::ReadSIL(std::string file, int timeState,
bool treatAllDBsAsTimeVarying)
{
if(currentSIL != NULL)
{
......@@ -819,7 +822,7 @@ MDServerConnection::ReadSIL(std::string file, int timeState)
avtDatabase *db = GetDatabase(file, ts, false, plugins);
if (db != NULL)
{
avtSIL *s = db->GetSIL(ts);
avtSIL *s = db->GetSIL(ts, treatAllDBsAsTimeVarying);
// Delete the SIL attributes if they are not NULL.
if(currentSIL != NULL)
......
......@@ -181,6 +181,9 @@ class Xfer;
//
// Mark C. Miller, Thu Jun 14 10:26:37 PDT 2007
// Added support to treat all databases as time varying
//
// Mark C. Miller, Wed Aug 22 20:16:59 PDT 2007
// Added treatAllDBsAsTimeVarying to ReadSIL
// ****************************************************************************
class MDServerConnection
......@@ -232,7 +235,8 @@ public:
bool treatAllDBsAsTimeVarying);
avtDatabaseMetaData *GetCurrentMetaData() const;
void ReadSIL(std::string file, int timeState);
void ReadSIL(std::string file, int timeState,
bool treatAllDBsAsTimeVarying);
SILAttributes *GetCurrentSIL() const;
DBPluginInfoAttributes *GetDBPluginInfo();
......
......@@ -443,14 +443,18 @@ MDServerProxy::GetMetaData(const string &file, int timeState,
// Brad Whitlock, Tue May 13 15:36:51 PST 2003
// I added timeState.
//
// Mark C. Miller, Wed Aug 22 20:16:59 PDT 2007
// Added treatAllDBsAsTimeVarying
// ****************************************************************************
const SILAttributes *
MDServerProxy::GetSIL(const string &file, int timeState)
MDServerProxy::GetSIL(const string &file, int timeState,
bool treatAllDBsAsTimeVarying)
{
// Try and get the SIL from the MD Server. This could throw an
// exception, but we don't want to catch it here.
const SILAttributes *s = getSILRPC(file, timeState);
const SILAttributes *s = getSILRPC(file, timeState,
treatAllDBsAsTimeVarying);
#ifdef DEBUG
// Write the metadata to stdout.
......
......@@ -158,6 +158,8 @@ class DBPluginInfoAttributes;
// Mark C. Miller, Thu Jun 14 10:26:37 PDT 2007
// Added support to treat all databases as time varying
//
// Mark C. Miller, Wed Aug 22 20:16:59 PDT 2007
// Added treatAllDBsAsTimeVarying to GetSIL
// ****************************************************************************
class MDSERVER_PROXY_API MDServerProxy : public RemoteProxyBase
......@@ -219,7 +221,8 @@ public:
bool forceReadAllCyclesTimes = false,
const std::string &forcedFileType = "",
bool treatAllDBsAsTimeVarying = false);
const SILAttributes *GetSIL(const std::string &, int=0);
const SILAttributes *GetSIL(const std::string &, int=0,
bool treatAllDBsAsTimeVarying = false);
std::string ExpandPath(const std::string &);
void CloseDatabase();
void CloseDatabase(const std::string &);
......
......@@ -52,11 +52,14 @@ using std::string;
//
// Modifications:
//
// Mark C. Miller, Wed Aug 22 20:16:59 PDT 2007
// Added treatAllDBsAsTimeVarying
// ****************************************************************************
GetSILRPC::GetSILRPC() : BlockingRPC("si",&sil)
GetSILRPC::GetSILRPC() : BlockingRPC("sib",&sil)
{
timeState = 0;
treatAllDBsAsTimeVarying = false;
}
// ****************************************************************************
......@@ -114,16 +117,19 @@ GetSILRPC::TypeName() const
// Brad Whitlock, Tue May 13 15:33:32 PST 2003
// Added timeState.
//
// Mark C. Miller, Wed Aug 22 20:16:59 PDT 2007
// Added treatAllDBsAsTimeVarying
// ****************************************************************************
const SILAttributes *
GetSILRPC::operator()(const string &f, int ts)
GetSILRPC::operator()(const string &f, int ts, bool treatAllDBsAsTimeVarying)
{
debug3 << "Executing GetSIL RPC on file " << f.c_str()
<< ", timestate = " << ts << endl;
SetFile(f);
SetTimeState(ts);
SetTreatAllDBsAsTimeVarying(treatAllDBsAsTimeVarying);
// Try to execute the RPC.
Execute();
......@@ -152,6 +158,8 @@ GetSILRPC::operator()(const string &f, int ts)
// Brad Whitlock, Tue May 13 15:34:13 PST 2003
// Added timeState.
//
// Mark C. Miller, Wed Aug 22 20:16:59 PDT 2007
// Added treatAllDBsAsTimeVarying
// ****************************************************************************
void
......@@ -159,6 +167,7 @@ GetSILRPC::SelectAll()
{
Select(0, (void*)&file);
Select(1, (void*)&timeState);
Select(2, (void*)&treatAllDBsAsTimeVarying);
}
// ****************************************************************************
......@@ -201,6 +210,20 @@ GetSILRPC::SetTimeState(int ts)
Select(1, (void*)&timeState);
}
// ****************************************************************************
// Method: GetSILRPC::SetTreatAllDBsAsTimeVarying
//
// Programmer: Mark C. Miller
// Creation: August 22, 2007
//
// ****************************************************************************
void
GetSILRPC::SetTreatAllDBsAsTimeVarying(bool val)
{
treatAllDBsAsTimeVarying = val;
Select(2, (void*)&treatAllDBsAsTimeVarying);
}
// ****************************************************************************
// Method: GetSILRPC::GetFile
//
......@@ -238,3 +261,16 @@ GetSILRPC::GetTimeState() const
{
return timeState;
}
// ****************************************************************************
// Method: GetSILRPC::GetTreatAllDBsAsTimeVarying
//
// Programmer: Mark C. Miller
// Creation: August 22, 2007
//
// ****************************************************************************
bool
GetSILRPC::GetTreatAllDBsAsTimeVarying() const
{
return treatAllDBsAsTimeVarying;
}
......@@ -60,6 +60,8 @@
// Brad Whitlock, Tue May 13 15:31:25 PST 2003
// I added timeState.
//
// Mark C. Miller, Wed Aug 22 20:16:59 PDT 2007
// Added treatAllDBsAsTimeVarying
// ****************************************************************************
class MDSERVER_RPC_API GetSILRPC : public BlockingRPC
......@@ -71,15 +73,18 @@ public:
virtual const std::string TypeName() const;
// Invokation method
const SILAttributes *operator()(const std::string&, int ts = 0);
const SILAttributes *operator()(const std::string&, int ts = 0,
bool treatAllDBsAsTimeVarying = false);
// Property setting methods
void SetFile(const std::string&);
void SetTimeState(int ts);
void SetTreatAllDBsAsTimeVarying(bool val);
// Property getting methods
std::string GetFile() const;
int GetTimeState() const;
bool GetTreatAllDBsAsTimeVarying() const;
// Property selection methods
virtual void SelectAll();
......@@ -87,6 +92,7 @@ private:
SILAttributes sil;
std::string file;
int timeState;
bool treatAllDBsAsTimeVarying;
};
......
......@@ -889,6 +889,10 @@ AddPlotAction::~AddPlotAction()
// Mark C. Miller, Thu Jun 14 10:26:37 PDT 2007
// Added bool to treat all databases as time varying to call to
// PopulateVariableLists
//
// Mark C. Miller, Wed Aug 22 20:16:59 PDT 2007
// Changed how treatAllDBsAsTimeVarying to be obtained from
// ViewerWindowManager which manages the GlobalAttributes object
// ****************************************************************************
void
......@@ -912,9 +916,11 @@ AddPlotAction::Update()
// Repopulate the menu variable list using information from the
// new file.
//
bool treatAllDBsAsTimeVarying =
ViewerWindowManager::Instance()->GetClientAtts()->GetTreatAllDBsAsTimeVarying();
if(menuPopulator.PopulateVariableLists(plotList->GetHostDatabaseName(),
md, sil, exprList,
fileServer->GetTreatAllDBsAsTimeVarying()))
treatAllDBsAsTimeVarying))
{
// Print to the debug logs.
debug4 << "AddPlotAction::Update: Either the host or the database " << endl
......
......@@ -56,6 +56,7 @@
#include <AnnotationAttributes.h>
#include <ConstructDDFAttributes.h>
#include <ExportDBAttributes.h>
#include <GlobalAttributes.h>
#include <PickAttributes.h>
#include <ProcessAttributes.h>
#include <QueryAttributes.h>
......@@ -1769,6 +1770,9 @@ ViewerEngineManager::ExternalRender(const ExternalRenderRequestInfo& reqInfo,
//
// Mark C. Miller, Wed Nov 16 10:46:36 PST 2005
// Added mesh management attributes
//
// Mark C. Miller, Wed Aug 22 20:16:59 PDT 2007
// Obtained treatAllDBsAsTimeVarying from VWM instead of VFS
// ****************************************************************************
avtDataObjectReader_p
......@@ -1817,7 +1821,9 @@ ViewerEngineManager::GetDataObjectReader(ViewerPlot *const plot)
}
// Tell the engine to generate the plot
bool treatAllDBsAsTimeVarying = ViewerFileServer::Instance()->GetTreatAllDBsAsTimeVarying();
bool treatAllDBsAsTimeVarying =
ViewerWindowManager::Instance()->GetClientAtts()->
GetTreatAllDBsAsTimeVarying();
engine->ReadDataObject(defaultFormat,
plot->GetDatabaseName(),
plot->GetVariableName(),
......
......@@ -35,7 +35,6 @@
*
*****************************************************************************/
#include <stdio.h> // for sprintf
#include <stdlib.h>
#include <snprintf.h>
#include <ViewerFileServer.h>
......@@ -49,6 +48,7 @@
#include <DataNode.h>
#include <DBPluginInfoAttributes.h>
#include <GetMetaDataException.h>
#include <GlobalAttributes.h>
#include <HostProfileList.h>
#include <HostProfile.h>
#include <LostConnectionException.h>
......@@ -74,6 +74,31 @@
// A static pointer to the one and only instance of ViewerFileServer
ViewerFileServer *ViewerFileServer::instance = NULL;
// ****************************************************************************
// Function: GetTreatAllDBsAsTimeVarying
//
// Programmer: Mark C. Miller
// Creation: August 22, 2007
// ****************************************************************************
static bool GetTreatAllDBsAsTimeVarying()
{
ViewerWindowManager *wM = ViewerWindowManager::Instance();
return wM->GetClientAtts()->GetTreatAllDBsAsTimeVarying();
}
// ****************************************************************************
// Function: GetTreatAllDBsAsTimeVarying
//
// Programmer: Mark C. Miller
// Creation: August 22, 2007
// ****************************************************************************
static bool GetTryHarderCyclesTimes()
{
ViewerWindowManager *wM = ViewerWindowManager::Instance();
return wM->GetClientAtts()->GetTryHarderCyclesTimes();
}
// ****************************************************************************
// Method: ViewerFileServer::ViewerFileServer
//
......@@ -104,6 +129,10 @@ ViewerFileServer *ViewerFileServer::instance = NULL;
//
// Mark C. Miller, Tue May 31 20:12:42 PDT 2005
// Added initialization of tryHarderCyclesTimes
//
// Mark C. Miller, Wed Aug 22 20:16:59 PDT 2007
// Replaced tryHarderCyclesTimes and treatAllDBsAsTimeVarying with
// static functions calling VWM
// ****************************************************************************
ViewerFileServer::ViewerFileServer() : ViewerServerManager(), servers(),
......@@ -111,8 +140,6 @@ ViewerFileServer::ViewerFileServer() : ViewerServerManager(), servers(),
{
databaseCorrelationList = new DatabaseCorrelationList;
dbPluginInfoAtts = new DBPluginInfoAttributes;
tryHarderCyclesTimes = false;
treatAllDBsAsTimeVarying = false;
}
// ****************************************************************************
......@@ -128,12 +155,14 @@ ViewerFileServer::ViewerFileServer() : ViewerServerManager(), servers(),
//
// Mark C. Miller, Tue May 31 20:12:42 PDT 2005
// Added initialization of tryHarderCyclesTimes
//
// Mark C. Miller, Wed Aug 22 20:16:59 PDT 2007
// Replaced tryHarderCyclesTimes and treatAllDBsAsTimeVarying with
// static functions calling VWM
// ****************************************************************************
ViewerFileServer::ViewerFileServer(const ViewerFileServer &) : ViewerServerManager()
{
tryHarderCyclesTimes = false;
treatAllDBsAsTimeVarying = false;
}
// ****************************************************************************
......@@ -273,6 +302,8 @@ ViewerFileServer::Instance()
// Brad Whitlock, Fri Mar 26 10:47:51 PDT 2004
// I rewrote the method so it uses GetMetaDataForState.
//
// Mark C. Miller, Wed Aug 22 20:16:59 PDT 2007
// Added logic for treatAllDBsAsTimeVarying
// ****************************************************************************
bool
......@@ -283,6 +314,8 @@ ViewerFileServer::MetaDataIsInvariant(const std::string &host,
// Get the metadata for the specified state and then return whether it
// is invariant.
//
if (GetTreatAllDBsAsTimeVarying())
return false;
const avtDatabaseMetaData *md = GetMetaDataForState(host, filename, state);
return (md != 0) ? (!md->GetMustRepopulateOnStateChange()) : true;
}
......@@ -474,7 +507,7 @@ ViewerFileServer::GetMetaDataForState(const std::string &host,
// If the metadata does not change over time or if it does and
// the time states match then return what we found.
//
if((!treatAllDBsAsTimeVarying &&
if((!GetTreatAllDBsAsTimeVarying() &&
!pos->second->GetMustRepopulateOnStateChange()) ||
ts == timeState)
{
......@@ -522,6 +555,9 @@ ViewerFileServer::GetMetaDataForState(const std::string &host,
// Hank Childs, Fri Jan 12 09:12:11 PST 2007
// Clean up error message a bit.
//
// Mark C. Miller, Wed Aug 22 20:16:59 PDT 2007
// Changed refernce to treatAllDBsAsTimeVarying as a function call to
// the static method here. Likewise for TryHarderCyclesTimes.
// ****************************************************************************
const avtDatabaseMetaData *
......@@ -555,9 +591,9 @@ ViewerFileServer::GetMetaDataHelper(const std::string &host,
const avtDatabaseMetaData *md =
servers[host]->proxy->GetMetaData(db, timeState,
forceReadAllCyclesAndTimes ||
tryHarderCyclesTimes,
GetTryHarderCyclesTimes(),
forcedFileType,
treatAllDBsAsTimeVarying);
GetTreatAllDBsAsTimeVarying());
if(md != NULL)
{
......@@ -570,8 +606,9 @@ ViewerFileServer::GetMetaDataHelper(const std::string &host,
// into the name though if we got it using ANY_STATEs
//
std::string key(ComposeDatabaseName(host, db));
if (mdCopy->GetMustRepopulateOnStateChange() &&
timeState != ANY_STATE)
if ((mdCopy->GetMustRepopulateOnStateChange() ||
GetTreatAllDBsAsTimeVarying()) &&
timeState != ANY_STATE)