Skip to content
Snippets Groups Projects
Commit 7d036ed7 authored by Uwe Schulzweida's avatar Uwe Schulzweida
Browse files

FileStream::open_read(): apply cdoQueryParameter

parent 7fdf5710
No related branches found
No related tags found
1 merge request!355M214003/develop
Pipeline #103690 passed
......@@ -105,8 +105,8 @@ set_query_parameter(const KVList &kvlist, CdiQuery *query)
else if (key == "levidx")
{
if (numValues > 1) cdo_abort("Too many values for key=levidx (maxvalues=1 or range=start/to/end)");
auto queryCells = decode_levidx_parameter(kv.values[0]);
cdiQuerySetLevidx(query, queryCells.size(), queryCells.data());
auto queryLevidx = decode_levidx_parameter(kv.values[0]);
cdiQuerySetLevidx(query, queryLevidx.size(), queryLevidx.data());
}
else if (key == "path")
{
......
......@@ -49,20 +49,25 @@ FileStream::open_read()
if (FileStream::timersEnabled()) cdo::readTimer.start();
open_lock();
auto filename
= (Options::cdoQueryParameter.size() > 0) ? "query:" + Options::cdoQueryParameter + ",path=" + m_filename : m_filename;
if (filename.size() > 6 && filename.rfind("query:", 0) == 0)
if (m_filename.size() > 6 && m_filename.rfind("query:", 0) == 0)
{
CdiQuery *query = cdiQueryCreate();
auto path = set_query_parameter(filename.substr(6), query);
auto path = set_query_parameter(m_filename.substr(6), query);
if (Options::cdoVerbose) cdiQueryPrint(query);
fileID = streamOpenReadQuery(path.c_str(), query);
}
else { fileID = streamOpenRead(filename.c_str()); }
else if (Options::cdoQueryParameter.size() > 0)
{
CdiQuery *query = cdiQueryCreate();
(void) set_query_parameter(Options::cdoQueryParameter, query);
if (Options::cdoVerbose) cdiQueryPrint(query);
if (fileID < 0) cdi_open_error(fileID, "Open failed on >%s<", filename.c_str());
fileID = streamOpenReadQuery(m_filename.c_str(), query);
}
else { fileID = streamOpenRead(m_filename.c_str()); }
if (fileID < 0) cdi_open_error(fileID, "Open failed on >%s<", m_filename.c_str());
isopen = true;
m_filetype = streamInqFiletype(fileID);
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment