- Diagnostics for filter eval were not enabled properly. Now rc.debug.parser=2
  will show all filter eval diagnostics.
This commit is contained in:
Paul Beckingham 2014-11-22 13:48:28 -05:00
parent 85518c646f
commit d5c937ba8c
3 changed files with 8 additions and 4 deletions

View file

@ -1565,7 +1565,7 @@ void CLI::insertIDExpr ()
}
}
// Combine the ID and UUID sections wiþh 'or'.
// Combine the ID and UUID sections with 'or'.
if (_id_ranges.size () &&
_uuid_list.size ())
reconstructed.push_back (opOr);

View file

@ -242,7 +242,7 @@ bool DOM::get (const std::string& name, const Task& task, Variant& value)
{
if (column->type () == "date")
value = Variant (task.get_date (canonical), Variant::type_date);
else if (column->type () == "duration")
else if (column->type () == "duration" || canonical == "recur")
value = Variant ((time_t) Duration (task.get (canonical)), Variant::type_duration);
else if (column->type () == "numeric")
value = Variant (task.get_float (canonical));

View file

@ -85,7 +85,7 @@ void Filter::subset (const std::vector <Task>& input, std::vector <Task>& output
// Debug output from Eval during compilation is useful. During evaluation
// it is mostly noise.
eval.debug (context.config.getInteger ("debug.parser") >= 1 ? true : false);
eval.debug (context.config.getInteger ("debug.parser") >= 2 ? true : false);
eval.compileExpression (filterExpr);
eval.debug (false);
@ -147,7 +147,9 @@ void Filter::subset (std::vector <Task>& output)
contextTask = *task;
Variant var;
eval.debug (context.config.getInteger ("debug.parser") >= 2 ? true : false);
eval.evaluateCompiledExpression (var);
eval.debug (false);
if (var.get_bool ())
output.push_back (*task);
}
@ -156,7 +158,7 @@ void Filter::subset (std::vector <Task>& output)
if (! shortcut)
{
context.timer_filter.stop ();
const std::vector <Task>& completed = context.tdb2.completed.get_tasks (); // TODO Optional
const std::vector <Task>& completed = context.tdb2.completed.get_tasks ();
context.timer_filter.start ();
_startCount += (int) completed.size ();
@ -166,7 +168,9 @@ void Filter::subset (std::vector <Task>& output)
contextTask = *task;
Variant var;
eval.debug (context.config.getInteger ("debug.parser") >= 2 ? true : false);
eval.evaluateCompiledExpression (var);
eval.debug (false);
if (var.get_bool ())
output.push_back (*task);
}