Bug #438 - Reports sorting by end_time, start_time, and entry_time are ordered incorrectly
- Fixed bug #438, correcting the sorting of the entry_time, start_time and end_time columns (thanks to Michelle Crane). - Reordered ChangeLog so that bugs, features are in sequence. Don't know why I did this. Some inner compulsion. - Deprecated silly start_time, end_time and entry_time columns, which are now (and were) superseded by start, end and entry columns with time formats. - Config.cpp now detects use of these deprecated fields and complains to the show command. - Date.cpp now uses the variable 'input' instead of 'mdy', which was confusing and implied that it contained a date without a time. - Obsoleted and removed Date::toStringWithTime, which ignored requested formats. - When checking for an epoch, Date::isEpoch just looked for strings of more than 8 digits. The additional restriction of less than or equal to 10 digits was added. This was breaking unit tests using the dateformat YMDHNS, which is reasonable. - Removed the obsolete field format hooks format-entry_time, format-start_time and format-end_time - Removed the obsolete field format hook unit tests hook.format-entry_time.t, hook.format-start_time.t and hook.format-end_time.t. - Removed use of deprecated field in hook.format-countdown_compact.t. - Added missing shortcut comparisons in Table::sort that was causing an unnecessary full parse of dates even if they were identical as strings. - Coded entry_time as a synonym for entry. Ditto for start_time and end_time. - Marked the new synonyms as deprecated. - Added bug.438.t unit test. - Added deprecated fields to the NEWS file.
This commit is contained in:
@@ -698,6 +698,9 @@ void Table::sort (std::vector <int>& order)
|
||||
|
||||
case ascendingDate:
|
||||
{
|
||||
if (*left == *right)
|
||||
break;
|
||||
|
||||
if ((std::string)*left != "" && (std::string)*right == "")
|
||||
break;
|
||||
|
||||
@@ -716,6 +719,9 @@ void Table::sort (std::vector <int>& order)
|
||||
|
||||
case descendingDate:
|
||||
{
|
||||
if (*left == *right)
|
||||
break;
|
||||
|
||||
if ((std::string)*left != "" && (std::string)*right == "")
|
||||
break;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user