23 static constexpr
const char * subValueCount =
"OpenM.SubValues";
26 static constexpr
const char * runName =
"OpenM.RunName";
29 static constexpr
const char * runId =
"OpenM.RunId";
32 static constexpr
const char * runCreated =
"OpenM.RunCreated";
35 static constexpr
const char * restartRunId =
"OpenM.RestartRunId";
38 static constexpr
const char * setId =
"OpenM.SetId";
41 static constexpr
const char * setName =
"OpenM.SetName";
44 static constexpr
const char * baseRunName =
"OpenM.BaseRunName";
47 static constexpr
const char * baseRunId =
"OpenM.BaseRunId";
50 static constexpr
const char * baseRunDigest =
"OpenM.BaseRunDigest";
53 static constexpr
const char * taskId =
"OpenM.TaskId";
56 static constexpr
const char * taskName =
"OpenM.TaskName";
59 static constexpr
const char * taskRunName =
"OpenM.TaskRunName";
62 static constexpr
const char * taskRunId =
"OpenM.TaskRunId";
65 static constexpr
const char * taskWait =
"OpenM.TaskWait";
68 static constexpr
const char * profile =
"OpenM.Profile";
71 static constexpr
const char * threadCount =
"OpenM.Threads";
74 static constexpr
const char * notOnRoot =
"OpenM.NotOnRoot";
77 static constexpr
const char * dbConnStr =
"OpenM.Database";
80 static constexpr
const char * useSparse =
"OpenM.SparseOutput";
83 static constexpr
const char * sparseNull =
"OpenM.SparseNullValue";
86 static constexpr
const char * doubleFormat =
"OpenM.DoubleFormat";
89 static constexpr
const char * paramDir =
"OpenM.ParamDir";
92 static constexpr
const char * useIdCsv =
"OpenM.IdCsv";
95 static constexpr
const char * useIdParamValue =
"OpenM.IdParameterValue";
98 static constexpr
const char * progressPercent =
"OpenM.ProgressPercent";
101 static constexpr
const char * progressStep =
"OpenM.ProgressStep";
104 static constexpr
const char * parameterPrefix =
"Parameter";
107 static constexpr
const char * subFromPrefix =
"SubFrom";
110 static constexpr
const char * subValuesPrefix =
"SubValues";
113 static constexpr
const char * tableSuppress =
"Tables.Suppress";
116 static constexpr
const char * tableRetain =
"Tables.Retain";
119 static constexpr
const char * microdataToDb =
"Microdata.ToDb";
122 static constexpr
const char * microdataToCsv =
"Microdata.ToCsv";
125 static constexpr
const char * microdataToTrace =
"Microdata.ToTrace";
128 static constexpr
const char * microdataCsvDir =
"Microdata.CsvDir";
131 static constexpr
const char* microdataAll =
"Microdata.All";
134 static constexpr
const char * microdataInternal =
"Microdata.UseInternal";
137 static constexpr
const char * microdataEvents =
"Microdata.Events";
140 static constexpr
const char * microdataEventColumn =
"Microdata.CsvEventColumn";
143 static constexpr
const char* microdataPrefix =
"Microdata";
149 static constexpr
const char * importAll =
"Import.All";
152 static constexpr
const char * importPrefix =
"Import";
155 static constexpr
const char * importRunDigestPrefix =
"ImportRunDigest";
158 static constexpr
const char * importRunIdPrefix =
"ImportRunId";
161 static constexpr
const char * importRunNamePrefix =
"ImportRunName";
164 static constexpr
const char * importModelDigestPrefix =
"ImportModelDigest";
167 static constexpr
const char * importModelIdPrefix =
"ImportModelId";
170 static constexpr
const char * importExprPrefix =
"ImportExpr";
173 static constexpr
const char * importDbPrefix =
"ImportDb";
176 static constexpr
const char * runDescrSuffix =
"RunDescription";
179 static constexpr
const char * runNotePathSuffix =
"RunNotesPath";
182 static constexpr
const char * traceToConsole =
"OpenM.TraceToConsole";
185 static constexpr
const char * traceToFile =
"OpenM.TraceToFile";
188 static constexpr
const char * traceFilePath =
"OpenM.TraceFilePath";
191 static constexpr
const char * traceToStamped =
"OpenM.TraceToStampedFile";
194 static constexpr
const char * traceUseTs =
"OpenM.TraceUseTimeStamp";
197 static constexpr
const char * traceUsePid =
"OpenM.TraceUsePidStamp";
200 static constexpr
const char * traceNoMsgTime =
"OpenM.TraceNoMsgTime";
203 static constexpr
const char * traceRank =
"OpenM.TraceRank";
206 static constexpr
const char * logRank =
"OpenM.LogRank";
209 static constexpr
const char * messageLang =
"OpenM.MessageLanguage";
212 static constexpr
const char * dbSubValue =
"db";
215 static constexpr
const char * iotaSubValue =
"iota";
218 static constexpr
const char * csvSubValue =
"csv";
221 static constexpr
const char * defaultValue =
"default";
224 static constexpr
const char * allValue =
"All";
231 static constexpr
const char * iniFile =
"ini";
234 static constexpr
const char * setName =
"s";
237 static constexpr
const char * paramDir =
"p";
260 const RunOptions modelRunOptions(
int i_subCount,
int i_subId)
const;
263 static const ArgReader getRunOptions(
int argc,
char ** argv);
268 return binary_search(paramIdSubArr.cbegin(), paramIdSubArr.cend(), i_paramId) ? subValueCount : 1;
272 int parameterIdByName(
const char * i_name)
const;
275 int tableIdByName(
const char * i_name)
const;
283 return binary_search(tableIdSuppressArr.cbegin(), tableIdSuppressArr.cend(), i_tableId);
288 unique_ptr<MetaHolder> metaStore;
289 vector<int> paramIdSubArr;
290 vector<int> tableIdSuppressArr;
291 vector<int> entityIdxArr;
292 bool isCsvEventColumn;
293 vector<bool> entityUseEvents;
300 isCsvEventColumn(false),
311 static int readMetaTables(
IDbExec * i_dbExec,
MetaHolder * io_metaStore,
const char * i_name,
const char * i_digest);
318 void loadMessages(
IDbExec * i_dbExec);
321 void mergeOptions(
IDbExec * i_dbExec);
324 enum class KindSubIds : int
334 enum class FromSub : int
348 KindSubIds kind = KindSubIds::none;
350 FromSub from = FromSub::defaultValue;
353 map<int, ParamSubOpts> subOptsMap;
356 enum class ImportKind : int
369 ImportKind kind = ImportKind::none;
375 string connectionStr;
377 map<string, ImportOpts> importOptsMap;
385 unique_ptr<MetaHolder> meta;
386 unique_ptr<IDbExec> dbExec;
393 map<int, ParamImportOpts> paramImportOptsMap;
396 map<int, pair<string, string> > langOptsMap;
403 void mergeParameterProfile(
404 const string & i_profileName,
const char * i_prefix,
const IProfileOptionTable * i_profileOpt,
const vector<ParamDicRow> & i_paramRs
408 void parseParamSubOpts(
void);
411 void parseImportOptions(
void);
414 void parseSuppressOptions(
void);
417 void parseLangOptions(
void);
420 void parseEntityOptions(
void);
423 tuple<bool, string, const EntityDicRow *> parseEntityNameOption(
const string & i_key,
const string & i_metadataPrefix)
const;
OpenM++ arguments reader: parse command line and ini-file arguments.
database connection wrapper to execute sql commands.
Definition: dbExec.h:21
OpenM++: message passing library public interface.
openM++ namespace
Definition: log.h:32
arguments reader to get runtime arguments from command line and ini-file.
Definition: argReader.h:56
profile_option table public interface.
Definition: dbMetaTable.h:867
basic model run options
Definition: omModel.h:26
keys for model run options
Definition: metaLoader.h:21
keys for model run options (short form)
Definition: metaLoader.h:229