mirror of
https://github.com/Lastorder-DC/rhymix.git
synced 2026-01-31 00:59:58 +09:00
Issue 491: 1.5.0.5 설치우 버그?
git-svn-id: http://xe-core.googlecode.com/svn/branches/1.5.0@9643 201d5d3c-b55e-5fd7-737f-ddc643e51545
This commit is contained in:
parent
bddb968dbf
commit
e8741e7cb6
4 changed files with 29 additions and 5 deletions
|
|
@ -7,7 +7,9 @@
|
||||||
var $column_name;
|
var $column_name;
|
||||||
var $operation;
|
var $operation;
|
||||||
|
|
||||||
function QueryArgument($tag){
|
var $ignore_value;
|
||||||
|
|
||||||
|
function QueryArgument($tag, $ignore_value = false){
|
||||||
static $number_of_arguments = 0;
|
static $number_of_arguments = 0;
|
||||||
|
|
||||||
$this->argument_name = $tag->attrs->var;
|
$this->argument_name = $tag->attrs->var;
|
||||||
|
|
@ -30,7 +32,7 @@
|
||||||
if($tag->attrs->operation) $this->operation = $tag->attrs->operation;
|
if($tag->attrs->operation) $this->operation = $tag->attrs->operation;
|
||||||
|
|
||||||
$this->argument_validator = new QueryArgumentValidator($tag, $this);
|
$this->argument_validator = new QueryArgumentValidator($tag, $this);
|
||||||
|
$this->ignore_value = $ignore_value;
|
||||||
}
|
}
|
||||||
|
|
||||||
function getArgumentName(){
|
function getArgumentName(){
|
||||||
|
|
@ -77,7 +79,7 @@
|
||||||
$arg = sprintf("\n$%s_argument = new Argument('%s', %s);\n"
|
$arg = sprintf("\n$%s_argument = new Argument('%s', %s);\n"
|
||||||
, $this->argument_name
|
, $this->argument_name
|
||||||
, $this->variable_name
|
, $this->variable_name
|
||||||
, '$args->'.$this->variable_name);
|
, $this->ignore_value ? 'null' : '$args->'.$this->variable_name);
|
||||||
|
|
||||||
$arg .= $this->argument_validator->toString();
|
$arg .= $this->argument_validator->toString();
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -22,7 +22,7 @@
|
||||||
else {
|
else {
|
||||||
$default_value = new DefaultValue($this->name, $column->attrs->default);
|
$default_value = new DefaultValue($this->name, $column->attrs->default);
|
||||||
if($default_value->isOperation())
|
if($default_value->isOperation())
|
||||||
$this->argument = new QueryArgument($column);
|
$this->argument = new QueryArgument($column, true);
|
||||||
else $this->default_value = $dbParser->parseColumnName($column->attrs->default);
|
else $this->default_value = $dbParser->parseColumnName($column->attrs->default);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -42,5 +42,14 @@
|
||||||
$this->_test($xml_file, $argsString, $expected);
|
$this->_test($xml_file, $argsString, $expected);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function test_menu_updateMenuItemListorder(){
|
||||||
|
$xml_file = _TEST_PATH_ . "db/xml_query/mysql/data/menu.updateMenuItemListorder.xml";
|
||||||
|
$argsString = '$args->menu_srl = 10; $args->parent_srl = 11; $args->listorder = 12;';
|
||||||
|
$expected = 'update `xe_menu_item` as `menu_item`
|
||||||
|
set `listorder` = `listorder` - 1
|
||||||
|
where `menu_srl` = 10
|
||||||
|
and `parent_srl` = 11
|
||||||
|
and `listorder` <= 12';
|
||||||
|
$this->_test($xml_file, $argsString, $expected);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -0,0 +1,13 @@
|
||||||
|
<query id="updateMenuItemListorder" action="update">
|
||||||
|
<tables>
|
||||||
|
<table name="menu_item" />
|
||||||
|
</tables>
|
||||||
|
<columns>
|
||||||
|
<column name="listorder" default="minus(1)" />
|
||||||
|
</columns>
|
||||||
|
<conditions>
|
||||||
|
<condition operation="equal" column="menu_srl" var="menu_srl" filter="number" notnull="notnull" />
|
||||||
|
<condition operation="equal" column="parent_srl" var="parent_srl" filter="number" notnull="notnull" pipe="and" />
|
||||||
|
<condition operation="less" column="listorder" var="listorder" filter="number" notnull="notnull" pipe="and" />
|
||||||
|
</conditions>
|
||||||
|
</query>
|
||||||
Loading…
Add table
Add a link
Reference in a new issue