Query cache file - added condition to skip null arguments that do not need validation and are not mandatory.

git-svn-id: http://xe-core.googlecode.com/svn/branches/1.5.0@9066 201d5d3c-b55e-5fd7-737f-ddc643e51545
This commit is contained in:
ucorina 2011-09-06 15:50:30 +00:00
parent 34246aa267
commit 33df36e715
12 changed files with 148 additions and 116 deletions

View file

@ -11,7 +11,6 @@
var $_show;
var $_value_to_string;
function Condition($column_name, $argument, $operation, $pipe){
$this->column_name = $column_name;
$this->argument = $argument;

View file

@ -3,31 +3,38 @@
class ConditionWithArgument extends Condition {
function ConditionWithArgument($column_name, $argument, $operation, $pipe = ""){
if($argument === null) { $this->_show = false; return; }
parent::Condition($column_name, $argument, $operation, $pipe);
$this->_value = $argument->getValue();
}
function getArgument(){
return $this->argument;
if(!$this->show()) return;
return $this->argument;
}
function toStringWithoutValue(){
$value = $this->argument->getUnescapedValue();
$value = $this->argument->getUnescapedValue();
if(is_array($value)){
$q = '';
foreach ($value as $v) $q .= '?,';
if($q !== '') $q = substr($q, 0, -1);
$q = '(' . $q . ')';
}
else $q = '?';
return $this->pipe . ' ' . $this->getConditionPart($q);
if(is_array($value)){
$q = '';
foreach ($value as $v) $q .= '?,';
if($q !== '') $q = substr($q, 0, -1);
$q = '(' . $q . ')';
}
else $q = '?';
return $this->pipe . ' ' . $this->getConditionPart($q);
}
function show(){
if(!$this->argument->isValid()) return false;
if($this->_value === '\'\'') return false;
return parent::show();
if(!isset($this->_show)){
if(!$this->argument->isValid()) $this->_show = false;
if($this->_value === '\'\'') $this->_show = false;
if(!isset($this->_show)){
return parent::show();
}
}
return $this->_show;
}
}