public static function resolveToLowerForStringComparison($operatorType, $value) { assert('is_string($operatorType)'); assert('is_string($value)'); if (RedBeanDatabase::getDatabaseType() != 'mysql') { //todo: for pgsql, need to use lower or ILIKE to make sure evaluation is not case sensitive throw new NotSupportedException(); } return SQLOperatorUtil::getOperatorByType($operatorType) . " '" . SQLOperatorUtil::resolveValueLeftSideLikePartByOperatorType($operatorType) . $value . SQLOperatorUtil::resolveValueRightSideLikePartByOperatorType($operatorType) . "'"; }
public function testResolveValueLeftSideLikePartByOperatorType() { $this->assertEquals(null, SQLOperatorUtil::resolveValueLeftSideLikePartByOperatorType('doesNotStartsWith')); $this->assertEquals('%', SQLOperatorUtil::resolveValueLeftSideLikePartByOperatorType('doesNotEndsWith')); $this->assertEquals('%', SQLOperatorUtil::resolveValueLeftSideLikePartByOperatorType('doesNotContains')); $this->assertEquals('%', SQLOperatorUtil::resolveValueLeftSideLikePartByOperatorType('contains')); }