If you try the Top Search Phrases report (admin/reports/search), and click on the Message column to sort by the message, the messages are not sorted alphabetically. See screen shot.

I have also tried clicking repeatedly to change from forward to reverse sorting order, and the sort order does not change.

Other "top" reports do not seem to have this same problem, just the top search phrases report.

Support from Acquia helps fund testing for Drupal Acquia logo

Comments

jhodgdon’s picture

I see the problem. The "top" report sorts by the 'message' field of the {watchdog} table.

The search entries all have the same message:
Searched %type for %keys.

So I think sorting by message should be turned off for this type of report. It is meaningless, given that the message uses variable substitution to compose what the UI would see as the message.

This is function dblog_top() in modules/dblog/dblog.admin.inc for future reference.

jhodgdon’s picture

Title: Top search phrases sorting by message doesn't work » "Top" reports - sorting by message is weird if messages have variables
Status: Active » Needs review
FileSize
1.6 KB

Here's a patch.

There was an additional bug in this function: the count query was wrong -- the main query was grouping on (message, variables), but the count query was only counting distinct(message).

So... This loses some functionality for the Top Access Denied and Top Page Not Found reports. For them, it probably makes sense to use a table header sort. But for the generic case, where the on-screen-displayed message is a substitution of variables into message, sorting by the message field doesn't work in the UI.

Maybe there should be two functions, one that does table sort and one that doesn't? Anyway, this patch doesn't...

jhodgdon’s picture

#2: 830642-nosort-topreport.patch queued for re-testing.

dagmar’s picture

Version: 7.x-dev » 8.4.x-dev
Issue summary: View changes
Status: Needs review » Needs work

This is valid for D8 too.

Version: 8.4.x-dev » 8.5.x-dev

Drupal 8.4.0-alpha1 will be released the week of July 31, 2017, which means new developments and disruptive changes should now be targeted against the 8.5.x-dev branch. For more information see the Drupal 8 minor version schedule and the Allowed changes during the Drupal 8 release cycle.

Version: 8.5.x-dev » 8.6.x-dev

Drupal 8.5.0-alpha1 will be released the week of January 17, 2018, which means new developments and disruptive changes should now be targeted against the 8.6.x-dev branch. For more information see the Drupal 8 minor version schedule and the Allowed changes during the Drupal 8 release cycle.

Version: 8.6.x-dev » 8.7.x-dev

Drupal 8.6.0-alpha1 will be released the week of July 16, 2018, which means new developments and disruptive changes should now be targeted against the 8.7.x-dev branch. For more information see the Drupal 8 minor version schedule and the Allowed changes during the Drupal 8 release cycle.

Version: 8.7.x-dev » 8.8.x-dev

Drupal 8.7.0-alpha1 will be released the week of March 11, 2019, which means new developments and disruptive changes should now be targeted against the 8.8.x-dev branch. For more information see the Drupal 8 minor version schedule and the Allowed changes during the Drupal 8 release cycle.

Version: 8.8.x-dev » 8.9.x-dev

Drupal 8.8.0-alpha1 will be released the week of October 14th, 2019, which means new developments and disruptive changes should now be targeted against the 8.9.x-dev branch. (Any changes to 8.9.x will also be committed to 9.0.x in preparation for Drupal 9’s release, but some changes like significant feature additions will be deferred to 9.1.x.). For more information see the Drupal 8 and 9 minor version schedule and the Allowed changes during the Drupal 8 and 9 release cycles.

Version: 8.9.x-dev » 9.1.x-dev

Drupal 8.9.0-beta1 was released on March 20, 2020. 8.9.x is the final, long-term support (LTS) minor release of Drupal 8, which means new developments and disruptive changes should now be targeted against the 9.1.x-dev branch. For more information see the Drupal 8 and 9 minor version schedule and the Allowed changes during the Drupal 8 and 9 release cycles.

Version: 9.1.x-dev » 9.2.x-dev

Drupal 9.1.0-alpha1 will be released the week of October 19, 2020, which means new developments and disruptive changes should now be targeted for the 9.2.x-dev branch. For more information see the Drupal 9 minor version schedule and the Allowed changes during the Drupal 9 release cycle.

Version: 9.2.x-dev » 9.3.x-dev

Drupal 9.2.0-alpha1 will be released the week of May 3, 2021, which means new developments and disruptive changes should now be targeted for the 9.3.x-dev branch. For more information see the Drupal core minor version schedule and the Allowed changes during the Drupal core release cycle.

Version: 9.3.x-dev » 9.4.x-dev

Drupal 9.3.0-rc1 was released on November 26, 2021, which means new developments and disruptive changes should now be targeted for the 9.4.x-dev branch. For more information see the Drupal core minor version schedule and the Allowed changes during the Drupal core release cycle.

Version: 9.4.x-dev » 9.5.x-dev

Drupal 9.4.0-alpha1 was released on May 6, 2022, which means new developments and disruptive changes should now be targeted for the 9.5.x-dev branch. For more information see the Drupal core minor version schedule and the Allowed changes during the Drupal core release cycle.

quietone’s picture

Issue tags: +Bug Smash Initiative

This is still valid.
.

ameymudras’s picture

Status: Needs work » Needs review
FileSize
1.43 KB

Was able to replicate the issue on 9.5.x, used reference from #2 to create a patch. Couldn't generate an interdiff

Version: 9.5.x-dev » 10.1.x-dev

Drupal 9.5.0-beta2 and Drupal 10.0.0-beta2 were released on September 29, 2022, which means new developments and disruptive changes should now be targeted for the 10.1.x-dev branch. For more information see the Drupal core minor version schedule and the Allowed changes during the Drupal core release cycle.

dagmar’s picture

Status: Needs review » Needs work

I'm afraid this fix won't be compatible with Drupal using SQLITE. There is no CONCAT function there.

dagmar’s picture

Issue tags: +Needs tests

Hm... Maybe it is supported somehow by the Drupal layer. Drupal\Driver\Database\sqlite\Connection::sqlFunctionConcat but anyways this needs tests, and specially run them against Sqlite.

Version: 10.1.x-dev » 11.x-dev

Drupal core is moving towards using a “main” branch. As an interim step, a new 11.x branch has been opened, as Drupal.org infrastructure cannot currently fully support a branch named main. New developments and disruptive changes should now be targeted for the 11.x branch, which currently accepts only minor-version allowed changes. For more information, see the Drupal core minor version schedule and the Allowed changes during the Drupal core release cycle.