コード例 #1
0
 public function testGetOperatorByType()
 {
     $this->assertEquals('>', SQLOperatorUtil::getOperatorByType('greaterThan'));
     $this->assertEquals('not like', SQLOperatorUtil::getOperatorByType('doesNotStartsWith'));
     $this->assertEquals('not like', SQLOperatorUtil::getOperatorByType('doesNotEndsWith'));
     $this->assertEquals('not like', SQLOperatorUtil::getOperatorByType('doesNotContains'));
 }
コード例 #2
0
 protected function addReadOptimizationWhereClause(&$where, $whereKey, $tableAliasName)
 {
     assert('is_array($where)');
     assert('is_int($whereKey)');
     assert('is_string($tableAliasName)');
     $q = DatabaseCompatibilityUtil::getQuote();
     $columnWithTableAlias = self::makeColumnNameWithTableAlias($tableAliasName, $this->modelAttributeToDataProviderAdapter->getColumnName());
     $mungeTableName = ReadPermissionsOptimizationUtil::getMungeTableName($this->modelAttributeToDataProviderAdapter->getModelClassName());
     $mungeIds = ReadPermissionsOptimizationUtil::getMungeIdsByUser(Yii::app()->user->userModel);
     $whereContent = $columnWithTableAlias . " " . SQLOperatorUtil::getOperatorByType('equals') . " ";
     $whereContent .= "(select securableitem_id from {$q}{$mungeTableName}{$q} " . "where {$q}securableitem_id{$q} = {$columnWithTableAlias} and {$q}munge_id{$q}" . " in ('" . join("', '", $mungeIds) . "') limit 1)";
     $where[$whereKey] = $whereContent;
 }
コード例 #3
0
 public function testGetOperatorByType()
 {
     $this->assertEquals('>', SQLOperatorUtil::getOperatorByType('greaterThan'));
 }
コード例 #4
0
 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) . "'";
 }