1 select.inc public QueryExtendableInterface::extend($extender_name)

Enhance this object by wrapping it in an extender object.

The core implementations of QueryExtendableInterface include:

  • TableSort: Extend a query to sort based on query strings.
  • PagerDefault: Extend a query to limit results based on query strings.
  • SearchQuery: Extend a query to join on the search index tables.

Other implementations may be added by other modules, but for the sake of code validation, these core extenders are specified as possible return values of this interface.


$extender_name: The base name of the extending class. The base name will be checked against the current database connection to allow driver-specific subclasses as well, using the same logic as the query objects themselves. For example, PagerDefault_mysql is the MySQL-specific override for PagerDefault.

Return value

QueryExtendableInterface|SelectQueryInterface|TableSort|PagerDefault|SearchQuery: The extender object, which now contains a reference to this object.


core/includes/database/select.inc, line 41


Interface for extendable query objects.


public function extend($extender_name);