awips2/ncep/gov.noaa.nws.ncep.viz.rsc.ncgrid/dgdriv_c/dbscandb.c
Steve Harris 9f8cb727a5 12.4.1-10 baseline
Former-commit-id: bf53d06834caa780226121334ac1bcf0534c3f16
2012-05-01 18:06:13 -05:00

82 lines
2.9 KiB
C

#include "geminc.h"
#include "gemprm.h"
#include "dbcmn.h"
#include <sys/timeb.h>
void db_scandb ( const char *modelName, const char *dbTag, const char *ensTag,
const char *timeTmplt, char *fileNames, int *iret)
/************************************************************************
* *
* db_scandb *
* *
* m.gamazaychikov/SAIC 09/11 Created *
************************************************************************/
{
int ier, ier1, ierm;
char queryType[25];
char queryText[320], diagMessage[720];
struct timeb t_callback, t_current;
/*---------------------------------------------------------------------*/
diagMessage[0] = '\0';
*iret = 0;
if ( flnmClbkPtr == NULL ) {
ier = -17;
er_wmsg ( "DB", &ier, "db_scandb", &ier1, 2, strlen("db_scandb") );
db_msgcave ("db_scandb", "error", "!!!* flnmClbkPtr=NULL *!!!", &ierm);
*iret = ier;
return;
}
sprintf (diagMessage, "%s %s %s %s %s %s %s %s", "modelName=", modelName, "dbTag=",dbTag, "ensTag=", ensTag, "timeTmplt=", timeTmplt);
db_msgcave ("db_scandb", "debug", diagMessage, &ierm);
/*
* Populate the query strings
*/
fileNames[0] = '\0';
queryText[0] = '\0';
gEventName[0] = '\0';
sprintf ( queryType, "%s", "scanDb" );
sprintf ( ePlugIn, "%s", "ncgrib" );
sprintf ( eSrc, "%s", "GRID" );
sprintf ( eParameters, "%s|%s|%s|%s", modelName,dbTag,ensTag,timeTmplt );
sprintf ( eLibClass, "%s", "GempakScanDbRequest" );
/*
* Get the query text
*/
db_getQueryText ( queryType, queryText, &ier );
if ( ier !=0 ) {
ier = -3;
er_wmsg ( "DB", &ier, NULL, &ier1, 2, 0 );
*iret = ier;
return;
}
/*
* Execute the callback to get the filenames
*/
sprintf (diagMessage, "%s %s", "calling callback with ", queryText);
db_msgcave ("db_scandb", "debug", diagMessage, &ierm);
ftime(&t_callback);
flnmClbkPtr(queryText);
ftime(&t_current);
sprintf (diagMessage, "%s %d", "time spent in callback ", (int) (1000.0 * (t_current.time - t_callback.time) + (t_current.millitm - t_callback.millitm)));
db_msgcave ("db_scandb", "info", diagMessage, &ierm);
if ( flnmStrLength > 0 && flnmStrBack != NULL ) {
strcpy (fileNames, flnmStrBack);
G_FREE( flnmStrBack, char );
// sprintf (diagMessage, "%s %s", "got this flnm string", fileNames);
// db_msgcave ("db_scandb", "debug", diagMessage, &ierm);
}
else {
sprintf (diagMessage, "%s %s %s", "!!! *could not get flnm string* !!! for", modelName,timeTmplt);
db_msgcave ("db_scandb", "error", diagMessage, &ierm);
ier = -18;
er_wmsg ( "DB", &ier, "fileNames", &ier1, 2, strlen("fileNames") );
*iret = ier;
return;
}
return;
}