protected function DatabaseCondition::mapConditionOperator
protected DatabaseCondition::mapConditionOperator($operator)
Gets any special processing requirements for the condition operator.
Some condition types require special processing, such as IN, because the value data they pass in is not a simple value. This is a simple overridable lookup function.
Parameters
$operator: The condition operator, such as "IN", "BETWEEN", etc. Case-sensitive.
Return value
The extra handling directives for the specified operator, or NULL.
File
- includes/database/query.inc, line 1924
- Non-specific Database query code. Used by all engines.
Class
- DatabaseCondition
- Generic class for a series of conditions in a query.
Code
protected function mapConditionOperator($operator) { // $specials does not use drupal_static as its value never changes. static $specials = array( 'BETWEEN' => array('delimiter' => ' AND '), 'IN' => array('delimiter' => ', ', 'prefix' => ' (', 'postfix' => ')'), 'NOT IN' => array('delimiter' => ', ', 'prefix' => ' (', 'postfix' => ')'), 'EXISTS' => array('prefix' => ' (', 'postfix' => ')'), 'NOT EXISTS' => array('prefix' => ' (', 'postfix' => ')'), 'IS NULL' => array('use_value' => FALSE), 'IS NOT NULL' => array('use_value' => FALSE), // Use backslash for escaping wildcard characters. 'LIKE' => array('postfix' => " ESCAPE '\\\\'"), 'NOT LIKE' => array('postfix' => " ESCAPE '\\\\'"), // These ones are here for performance reasons. '=' => array(), '<' => array(), '>' => array(), '>=' => array(), '<=' => array(), ); if (isset($specials[$operator])) { $return = $specials[$operator]; } else { // We need to upper case because PHP index matches are case sensitive but // do not need the more expensive drupal_strtoupper because SQL statements are ASCII. $operator = strtoupper($operator); $return = isset($specials[$operator]) ? $specials[$operator] : array(); } $return += array('operator' => $operator); return $return; }
© 2001–2016 by the original authors
Licensed under the GNU General Public License, version 2 and later.
Drupal is a registered trademark of Dries Buytaert.
https://api.drupal.org/api/drupal/includes!database!query.inc/function/DatabaseCondition::mapConditionOperator/7.x