Similar to #2226501: Add execute() to the SelectInterface, I found some more methods in the \Drupal\Core\Database\Query\Select class which aren't listed in \Drupal\Core\Database\Query\SelectInterface:

  • havingConditions()
  • havingArguments()
  • having()
  • havingCompile()
  • havingIsNull()
  • havingIsNotNull()
  • havingExists()
  • havingNotExists()

Any particular reason for those missing?

Beta phase evaluation

Reference: https://www.drupal.org/core/beta-changes
Issue category Bug because an incomplete interface will make work in contrib difficult
Unfrozen changes Unfrozen because it only changes the SelectInterface to include all necessary methods
Prioritized changes The main goal of this issue is DX.

Comments

drunken monkey’s picture

Status: Active » Needs review
StatusFileSize
new6.26 KB

The attached patch would fix this.

Status: Needs review » Needs work

The last submitted patch, 1: 2311885-1--add_having_methods_to_interface.patch, failed testing.

drunken monkey’s picture

Status: Needs work » Needs review
StatusFileSize
new7.39 KB

Oops, makes sense.

jhedstrom’s picture

Issue summary: View changes
Status: Needs review » Reviewed & tested by the community

I think these do belong on the interface. Patch still applies.

I added a beta phase evaluation to the issue summary.

The last submitted patch, 1: 2311885-1--add_having_methods_to_interface.patch, failed testing.

alexpott’s picture

Status: Reviewed & tested by the community » Fixed

Committed 3d57852 and pushed to 8.0.x. Thanks!

Thanks for adding the beta evaluation for to the issue summary.

  • alexpott committed 3d57852 on 8.0.x
    Issue #2311885 by drunken monkey: Methods in Select missing from...

Status: Fixed » Closed (fixed)

Automatically closed - issue fixed for 2 weeks with no activity.