mirror of
https://github.com/Lastorder-DC/rhymix.git
synced 2026-05-09 12:02:24 +09:00
issue 2662 db class coding convention
git-svn-id: http://xe-core.googlecode.com/svn/branches/maserati@12216 201d5d3c-b55e-5fd7-737f-ddc643e51545
This commit is contained in:
parent
3daadb29dc
commit
d77d426c4f
16 changed files with 863 additions and 772 deletions
|
|
@ -1,46 +1,52 @@
|
||||||
<?php
|
<?php
|
||||||
|
/**
|
||||||
|
* ClickCountExpression
|
||||||
|
* @author Arnia Software
|
||||||
|
* @package /classes/db/queryparts/expression
|
||||||
|
* @version 0.1
|
||||||
|
*/
|
||||||
|
class ClickCountExpression extends SelectExpression
|
||||||
|
{
|
||||||
/**
|
/**
|
||||||
* ClickCountExpression
|
* click count
|
||||||
* @author Arnia Software
|
* @var bool
|
||||||
* @package /classes/db/queryparts/expression
|
|
||||||
* @version 0.1
|
|
||||||
*/
|
*/
|
||||||
class ClickCountExpression extends SelectExpression {
|
var $click_count;
|
||||||
/**
|
|
||||||
* click count
|
/**
|
||||||
* @var bool
|
* constructor
|
||||||
*/
|
* @param string $column_name
|
||||||
var $click_count;
|
* @param string $alias
|
||||||
|
* @param bool $click_count
|
||||||
/**
|
* @return void
|
||||||
* constructor
|
*/
|
||||||
* @param string $column_name
|
function ClickCountExpression($column_name, $alias = NULL, $click_count = false)
|
||||||
* @param string $alias
|
{
|
||||||
* @param bool $click_count
|
parent::SelectExpression($column_name, $alias);
|
||||||
* @return void
|
|
||||||
*/
|
if(!is_bool($click_count))
|
||||||
function ClickCountExpression($column_name, $alias = NULL, $click_count = false){
|
{
|
||||||
parent::SelectExpression($column_name, $alias);
|
error_log("Click_count value for $column_name was not boolean", 0);
|
||||||
|
$this->click_count = false;
|
||||||
if(!is_bool($click_count)){
|
return;
|
||||||
error_log("Click_count value for $column_name was not boolean", 0);
|
|
||||||
$this->click_count = false;
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
$this->click_count = $click_count;
|
|
||||||
}
|
|
||||||
|
|
||||||
function show() {
|
|
||||||
return $this->click_count;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Return column expression, ex) column = column + 1
|
|
||||||
* @return string
|
|
||||||
*/
|
|
||||||
function getExpression(){
|
|
||||||
return "$this->column_name = $this->column_name + 1";
|
|
||||||
}
|
}
|
||||||
|
$this->click_count = $click_count;
|
||||||
}
|
}
|
||||||
|
|
||||||
?>
|
function show()
|
||||||
|
{
|
||||||
|
return $this->click_count;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Return column expression, ex) column = column + 1
|
||||||
|
* @return string
|
||||||
|
*/
|
||||||
|
function getExpression()
|
||||||
|
{
|
||||||
|
return "$this->column_name = $this->column_name + 1";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/* End of file ClickCountExpression.class.php */
|
||||||
|
/* Location: ./classes/db/queryparts/expression/ClickCountExpression.class.php */
|
||||||
|
|
|
||||||
|
|
@ -1,50 +1,53 @@
|
||||||
<?php
|
<?php
|
||||||
|
/**
|
||||||
|
* DeleteExpression
|
||||||
|
*
|
||||||
|
* @author Arnia Software
|
||||||
|
* @package /classes/db/queryparts/expression
|
||||||
|
* @version 0.1
|
||||||
|
* @todo Fix this class
|
||||||
|
*/
|
||||||
|
class DeleteExpression extends Expression
|
||||||
|
{
|
||||||
/**
|
/**
|
||||||
* DeleteExpression
|
* column value
|
||||||
*
|
* @var mixed
|
||||||
* @author Arnia Software
|
|
||||||
* @package /classes/db/queryparts/expression
|
|
||||||
* @version 0.1
|
|
||||||
* @todo Fix this class
|
|
||||||
*/
|
*/
|
||||||
|
var $value;
|
||||||
|
|
||||||
class DeleteExpression extends Expression {
|
/**
|
||||||
/**
|
* constructor
|
||||||
* column value
|
* @param string $column_name
|
||||||
* @var mixed
|
* @param mixed $value
|
||||||
*/
|
* @return void
|
||||||
var $value;
|
*/
|
||||||
|
function DeleteExpression($column_name, $value)
|
||||||
/**
|
{
|
||||||
* constructor
|
parent::Expression($column_name);
|
||||||
* @param string $column_name
|
$this->value = $value;
|
||||||
* @param mixed $value
|
|
||||||
* @return void
|
|
||||||
*/
|
|
||||||
function DeleteExpression($column_name, $value){
|
|
||||||
parent::Expression($column_name);
|
|
||||||
$this->value = $value;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Return column expression, ex) column = value
|
|
||||||
* @return string
|
|
||||||
*/
|
|
||||||
function getExpression(){
|
|
||||||
return "$this->column_name = $this->value";
|
|
||||||
}
|
|
||||||
|
|
||||||
function getValue(){
|
|
||||||
// TODO Escape value according to column type instead of variable type
|
|
||||||
if(!is_numeric($this->value)) return "'".$this->value."'";
|
|
||||||
return $this->value;
|
|
||||||
}
|
|
||||||
|
|
||||||
function show(){
|
|
||||||
if(!$this->value) return false;
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Return column expression, ex) column = value
|
||||||
|
* @return string
|
||||||
|
*/
|
||||||
|
function getExpression()
|
||||||
|
{
|
||||||
|
return "$this->column_name = $this->value";
|
||||||
|
}
|
||||||
|
|
||||||
?>
|
function getValue()
|
||||||
|
{
|
||||||
|
// TODO Escape value according to column type instead of variable type
|
||||||
|
if(!is_numeric($this->value)) return "'".$this->value."'";
|
||||||
|
return $this->value;
|
||||||
|
}
|
||||||
|
|
||||||
|
function show()
|
||||||
|
{
|
||||||
|
if(!$this->value) return false;
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
/* End of file DeleteExpression.class.php */
|
||||||
|
/* Location: ./classes/db/queryparts/expression/DeleteExpression.class.php */
|
||||||
|
|
|
||||||
|
|
@ -1,44 +1,52 @@
|
||||||
<?php
|
<?php
|
||||||
|
/**
|
||||||
|
* Expression
|
||||||
|
* Represents an expression used in select/update/insert/delete statements
|
||||||
|
*
|
||||||
|
* Examples (expressions are inside double square brackets):
|
||||||
|
* select [[columnA]], [[columnB as aliasB]] from tableA
|
||||||
|
* update tableA set [[columnA = valueA]] where columnB = something
|
||||||
|
*
|
||||||
|
* @author Corina
|
||||||
|
* @package /classes/db/queryparts/expression
|
||||||
|
* @version 0.1
|
||||||
|
*/
|
||||||
|
class Expression
|
||||||
|
{
|
||||||
/**
|
/**
|
||||||
* Expression
|
* column name
|
||||||
* Represents an expression used in select/update/insert/delete statements
|
* @var string
|
||||||
*
|
|
||||||
* Examples (expressions are inside double square brackets):
|
|
||||||
* select [[columnA]], [[columnB as aliasB]] from tableA
|
|
||||||
* update tableA set [[columnA = valueA]] where columnB = something
|
|
||||||
*
|
|
||||||
* @author Corina
|
|
||||||
* @package /classes/db/queryparts/expression
|
|
||||||
* @version 0.1
|
|
||||||
*/
|
*/
|
||||||
class Expression {
|
var $column_name;
|
||||||
/**
|
|
||||||
* column name
|
/**
|
||||||
* @var string
|
* constructor
|
||||||
*/
|
* @param string $column_name
|
||||||
var $column_name;
|
* @return void
|
||||||
|
*/
|
||||||
/**
|
function Expression($column_name)
|
||||||
* constructor
|
{
|
||||||
* @param string $column_name
|
$this->column_name = $column_name;
|
||||||
* @return void
|
|
||||||
*/
|
|
||||||
function Expression($column_name){
|
|
||||||
$this->column_name = $column_name;
|
|
||||||
}
|
|
||||||
|
|
||||||
function getColumnName(){
|
|
||||||
return $this->column_name;
|
|
||||||
}
|
|
||||||
|
|
||||||
function show() {
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Return column expression, ex) column as alias
|
|
||||||
* @return string
|
|
||||||
*/
|
|
||||||
function getExpression() {
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function getColumnName()
|
||||||
|
{
|
||||||
|
return $this->column_name;
|
||||||
|
}
|
||||||
|
|
||||||
|
function show()
|
||||||
|
{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Return column expression, ex) column as alias
|
||||||
|
* @return string
|
||||||
|
*/
|
||||||
|
function getExpression()
|
||||||
|
{
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/* End of file Expression.class.php */
|
||||||
|
/* Location: ./classes/db/queryparts/expression/Expression.class.php */
|
||||||
|
|
|
||||||
|
|
@ -1,53 +1,58 @@
|
||||||
<?php
|
<?php
|
||||||
|
/**
|
||||||
|
* InsertExpression
|
||||||
|
*
|
||||||
|
* @author Arnia Software
|
||||||
|
* @package /classes/db/queryparts/expression
|
||||||
|
* @version 0.1
|
||||||
|
*/
|
||||||
|
class InsertExpression extends Expression
|
||||||
|
{
|
||||||
/**
|
/**
|
||||||
* InsertExpression
|
* argument
|
||||||
*
|
* @var object
|
||||||
* @author Arnia Software
|
|
||||||
* @package /classes/db/queryparts/expression
|
|
||||||
* @version 0.1
|
|
||||||
*/
|
*/
|
||||||
class InsertExpression extends Expression {
|
var $argument;
|
||||||
/**
|
|
||||||
* argument
|
|
||||||
* @var object
|
|
||||||
*/
|
|
||||||
var $argument;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* constructor
|
* constructor
|
||||||
* @param string $column_name
|
* @param string $column_name
|
||||||
* @param object $argument
|
* @param object $argument
|
||||||
* @return void
|
* @return void
|
||||||
*/
|
*/
|
||||||
function InsertExpression($column_name, $argument){
|
function InsertExpression($column_name, $argument)
|
||||||
parent::Expression($column_name);
|
{
|
||||||
$this->argument = $argument;
|
parent::Expression($column_name);
|
||||||
}
|
$this->argument = $argument;
|
||||||
|
|
||||||
function getValue($with_values = true){
|
|
||||||
if($with_values)
|
|
||||||
return $this->argument->getValue();
|
|
||||||
return '?';
|
|
||||||
}
|
|
||||||
|
|
||||||
function show(){
|
|
||||||
if(!$this->argument) return false;
|
|
||||||
$value = $this->argument->getValue();
|
|
||||||
if(!isset($value)) return false;
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
function getArgument(){
|
|
||||||
return $this->argument;
|
|
||||||
}
|
|
||||||
|
|
||||||
function getArguments()
|
|
||||||
{
|
|
||||||
if ($this->argument)
|
|
||||||
return array($this->argument);
|
|
||||||
else
|
|
||||||
return array();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
?>
|
function getValue($with_values = true)
|
||||||
|
{
|
||||||
|
if($with_values)
|
||||||
|
return $this->argument->getValue();
|
||||||
|
return '?';
|
||||||
|
}
|
||||||
|
|
||||||
|
function show()
|
||||||
|
{
|
||||||
|
if(!$this->argument) return false;
|
||||||
|
$value = $this->argument->getValue();
|
||||||
|
if(!isset($value)) return false;
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
function getArgument()
|
||||||
|
{
|
||||||
|
return $this->argument;
|
||||||
|
}
|
||||||
|
|
||||||
|
function getArguments()
|
||||||
|
{
|
||||||
|
if ($this->argument)
|
||||||
|
return array($this->argument);
|
||||||
|
else
|
||||||
|
return array();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
/* End of file InsertExpression.class.php */
|
||||||
|
/* Location: ./classes/db/queryparts/expression/InsertExpression.class.php */
|
||||||
|
|
|
||||||
|
|
@ -1,59 +1,66 @@
|
||||||
<?php
|
<?php
|
||||||
|
/**
|
||||||
|
* SelectExpression
|
||||||
|
* Represents an expresion that appears in the select clause
|
||||||
|
*
|
||||||
|
* $column_name can be:
|
||||||
|
* - a table column name
|
||||||
|
* - an sql function - like count(*)
|
||||||
|
* - an sql expression - substr(column_name, 1, 8) or score1 + score2
|
||||||
|
* $column_name is already escaped
|
||||||
|
*
|
||||||
|
* @author Arnia Software
|
||||||
|
* @package /classes/db/queryparts/expression
|
||||||
|
* @version 0.1
|
||||||
|
*/
|
||||||
|
class SelectExpression extends Expression
|
||||||
|
{
|
||||||
/**
|
/**
|
||||||
* SelectExpression
|
* column alias name
|
||||||
* Represents an expresion that appears in the select clause
|
* @var string
|
||||||
*
|
|
||||||
* $column_name can be:
|
|
||||||
* - a table column name
|
|
||||||
* - an sql function - like count(*)
|
|
||||||
* - an sql expression - substr(column_name, 1, 8) or score1 + score2
|
|
||||||
* $column_name is already escaped
|
|
||||||
*
|
|
||||||
* @author Arnia Software
|
|
||||||
* @package /classes/db/queryparts/expression
|
|
||||||
* @version 0.1
|
|
||||||
*/
|
*/
|
||||||
class SelectExpression extends Expression {
|
var $column_alias;
|
||||||
/**
|
|
||||||
* column alias name
|
|
||||||
* @var string
|
|
||||||
*/
|
|
||||||
var $column_alias;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* constructor
|
* constructor
|
||||||
* @param string $column_name
|
* @param string $column_name
|
||||||
* @param string $alias
|
* @param string $alias
|
||||||
* @return void
|
* @return void
|
||||||
*/
|
*/
|
||||||
function SelectExpression($column_name, $alias = NULL){
|
function SelectExpression($column_name, $alias = NULL)
|
||||||
parent::Expression($column_name);
|
{
|
||||||
$this->column_alias = $alias;
|
parent::Expression($column_name);
|
||||||
}
|
$this->column_alias = $alias;
|
||||||
|
|
||||||
/**
|
|
||||||
* Return column expression, ex) column as alias
|
|
||||||
* @return string
|
|
||||||
*/
|
|
||||||
function getExpression() {
|
|
||||||
return sprintf("%s%s", $this->column_name, $this->column_alias ? " as ".$this->column_alias : "");
|
|
||||||
}
|
|
||||||
|
|
||||||
function show() {
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
function getArgument(){
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
|
|
||||||
function getArguments()
|
|
||||||
{
|
|
||||||
return array();
|
|
||||||
}
|
|
||||||
|
|
||||||
function isSubquery(){
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
?>
|
|
||||||
|
/**
|
||||||
|
* Return column expression, ex) column as alias
|
||||||
|
* @return string
|
||||||
|
*/
|
||||||
|
function getExpression()
|
||||||
|
{
|
||||||
|
return sprintf("%s%s", $this->column_name, $this->column_alias ? " as ".$this->column_alias : "");
|
||||||
|
}
|
||||||
|
|
||||||
|
function show()
|
||||||
|
{
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
function getArgument()
|
||||||
|
{
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
function getArguments()
|
||||||
|
{
|
||||||
|
return array();
|
||||||
|
}
|
||||||
|
|
||||||
|
function isSubquery()
|
||||||
|
{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
/* End of file SelectExpression.class.php */
|
||||||
|
/* Location: ./classes/db/queryparts/expression/SelectExpression.class.php */
|
||||||
|
|
|
||||||
|
|
@ -1,28 +1,33 @@
|
||||||
<?php
|
<?php
|
||||||
|
/**
|
||||||
|
* StarExpression
|
||||||
|
* Represents the * in 'select * from ...' statements
|
||||||
|
*
|
||||||
|
* @author Corina
|
||||||
|
* @package /classes/db/queryparts/expression
|
||||||
|
* @version 0.1
|
||||||
|
*/
|
||||||
|
class StarExpression extends SelectExpression
|
||||||
|
{
|
||||||
/**
|
/**
|
||||||
* StarExpression
|
* constructor, set the column to asterisk
|
||||||
* Represents the * in 'select * from ...' statements
|
* @return void
|
||||||
*
|
|
||||||
* @author Corina
|
|
||||||
* @package /classes/db/queryparts/expression
|
|
||||||
* @version 0.1
|
|
||||||
*/
|
*/
|
||||||
class StarExpression extends SelectExpression {
|
function StarExpression()
|
||||||
/**
|
{
|
||||||
* constructor, set the column to asterisk
|
parent::SelectExpression("*");
|
||||||
* @return void
|
|
||||||
*/
|
|
||||||
function StarExpression(){
|
|
||||||
parent::SelectExpression("*");
|
|
||||||
}
|
|
||||||
|
|
||||||
function getArgument(){
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
|
|
||||||
function getArguments(){
|
|
||||||
// StarExpression has no arguments
|
|
||||||
return array();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
?>
|
|
||||||
|
function getArgument()
|
||||||
|
{
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
function getArguments()
|
||||||
|
{
|
||||||
|
// StarExpression has no arguments
|
||||||
|
return array();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
/* End of file StarExpression.class.php */
|
||||||
|
/* Location: ./classes/db/queryparts/expression/StarExpression.class.php */
|
||||||
|
|
|
||||||
|
|
@ -1,89 +1,97 @@
|
||||||
<?php
|
<?php
|
||||||
|
/**
|
||||||
|
* UpdateExpression
|
||||||
|
*
|
||||||
|
* @author Arnia Software
|
||||||
|
* @package /classes/db/queryparts/expression
|
||||||
|
* @version 0.1
|
||||||
|
*/
|
||||||
|
class UpdateExpression extends Expression
|
||||||
|
{
|
||||||
/**
|
/**
|
||||||
* UpdateExpression
|
* argument
|
||||||
*
|
* @var object
|
||||||
* @author Arnia Software
|
|
||||||
* @package /classes/db/queryparts/expression
|
|
||||||
* @version 0.1
|
|
||||||
*/
|
*/
|
||||||
class UpdateExpression extends Expression {
|
var $argument;
|
||||||
/**
|
|
||||||
* argument
|
|
||||||
* @var object
|
|
||||||
*/
|
|
||||||
var $argument;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* constructor
|
* constructor
|
||||||
* @param string $column_name
|
* @param string $column_name
|
||||||
* @param object $argument
|
* @param object $argument
|
||||||
* @return void
|
* @return void
|
||||||
*/
|
*/
|
||||||
function UpdateExpression($column_name, $argument){
|
function UpdateExpression($column_name, $argument)
|
||||||
parent::Expression($column_name);
|
{
|
||||||
$this->argument = $argument;
|
parent::Expression($column_name);
|
||||||
}
|
$this->argument = $argument;
|
||||||
|
|
||||||
/**
|
|
||||||
* Return column expression, ex) column = value
|
|
||||||
* @return string
|
|
||||||
*/
|
|
||||||
function getExpression($with_value = true){
|
|
||||||
if($with_value)
|
|
||||||
return $this->getExpressionWithValue();
|
|
||||||
return $this->getExpressionWithoutValue();
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Return column expression, ex) column = value
|
|
||||||
* @return string
|
|
||||||
*/
|
|
||||||
function getExpressionWithValue(){
|
|
||||||
$value = $this->argument->getValue();
|
|
||||||
$operation = $this->argument->getColumnOperation();
|
|
||||||
if(isset($operation))
|
|
||||||
return "$this->column_name = $this->column_name $operation $value";
|
|
||||||
return "$this->column_name = $value";
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Return column expression, ex) column = ?
|
|
||||||
* Can use prepare statement
|
|
||||||
* @return string
|
|
||||||
*/
|
|
||||||
function getExpressionWithoutValue(){
|
|
||||||
$operation = $this->argument->getColumnOperation();
|
|
||||||
if(isset($operation))
|
|
||||||
return "$this->column_name = $this->column_name $operation ?";
|
|
||||||
return "$this->column_name = ?";
|
|
||||||
}
|
|
||||||
|
|
||||||
function getValue(){
|
|
||||||
// TODO Escape value according to column type instead of variable type
|
|
||||||
$value = $this->argument->getValue();
|
|
||||||
if(!is_numeric($value)) return "'".$value."'";
|
|
||||||
return $value;
|
|
||||||
}
|
|
||||||
|
|
||||||
function show(){
|
|
||||||
if(!$this->argument) return false;
|
|
||||||
$value = $this->argument->getValue();
|
|
||||||
if(!isset($value)) return false;
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
function getArgument(){
|
|
||||||
return $this->argument;
|
|
||||||
}
|
|
||||||
|
|
||||||
function getArguments()
|
|
||||||
{
|
|
||||||
if ($this->argument)
|
|
||||||
return array($this->argument);
|
|
||||||
else
|
|
||||||
return array();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Return column expression, ex) column = value
|
||||||
|
* @return string
|
||||||
|
*/
|
||||||
|
function getExpression($with_value = true)
|
||||||
|
{
|
||||||
|
if($with_value)
|
||||||
|
return $this->getExpressionWithValue();
|
||||||
|
return $this->getExpressionWithoutValue();
|
||||||
|
}
|
||||||
|
|
||||||
?>
|
/**
|
||||||
|
* Return column expression, ex) column = value
|
||||||
|
* @return string
|
||||||
|
*/
|
||||||
|
function getExpressionWithValue()
|
||||||
|
{
|
||||||
|
$value = $this->argument->getValue();
|
||||||
|
$operation = $this->argument->getColumnOperation();
|
||||||
|
if(isset($operation))
|
||||||
|
return "$this->column_name = $this->column_name $operation $value";
|
||||||
|
return "$this->column_name = $value";
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Return column expression, ex) column = ?
|
||||||
|
* Can use prepare statement
|
||||||
|
* @return string
|
||||||
|
*/
|
||||||
|
function getExpressionWithoutValue()
|
||||||
|
{
|
||||||
|
$operation = $this->argument->getColumnOperation();
|
||||||
|
if(isset($operation))
|
||||||
|
return "$this->column_name = $this->column_name $operation ?";
|
||||||
|
return "$this->column_name = ?";
|
||||||
|
}
|
||||||
|
|
||||||
|
function getValue()
|
||||||
|
{
|
||||||
|
// TODO Escape value according to column type instead of variable type
|
||||||
|
$value = $this->argument->getValue();
|
||||||
|
if(!is_numeric($value)) return "'".$value."'";
|
||||||
|
return $value;
|
||||||
|
}
|
||||||
|
|
||||||
|
function show()
|
||||||
|
{
|
||||||
|
if(!$this->argument) return false;
|
||||||
|
$value = $this->argument->getValue();
|
||||||
|
if(!isset($value)) return false;
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
function getArgument()
|
||||||
|
{
|
||||||
|
return $this->argument;
|
||||||
|
}
|
||||||
|
|
||||||
|
function getArguments()
|
||||||
|
{
|
||||||
|
if ($this->argument)
|
||||||
|
return array($this->argument);
|
||||||
|
else
|
||||||
|
return array();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/* End of file UpdateExpression.class.php */
|
||||||
|
/* Location: ./classes/db/queryparts/expression/UpdateExpression.class.php */
|
||||||
|
|
|
||||||
|
|
@ -1,55 +1,61 @@
|
||||||
<?php
|
<?php
|
||||||
|
/**
|
||||||
|
* UpdateExpression
|
||||||
|
*
|
||||||
|
* @author Arnia Software
|
||||||
|
* @package /classes/db/queryparts/expression
|
||||||
|
* @version 0.1
|
||||||
|
*/
|
||||||
|
class UpdateExpressionWithoutArgument extends UpdateExpression
|
||||||
|
{
|
||||||
/**
|
/**
|
||||||
* UpdateExpression
|
* argument
|
||||||
*
|
* @var object
|
||||||
* @author Arnia Software
|
|
||||||
* @package /classes/db/queryparts/expression
|
|
||||||
* @version 0.1
|
|
||||||
*/
|
*/
|
||||||
class UpdateExpressionWithoutArgument extends UpdateExpression {
|
var $argument;
|
||||||
/**
|
|
||||||
* argument
|
|
||||||
* @var object
|
|
||||||
*/
|
|
||||||
var $argument;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* constructor
|
* constructor
|
||||||
* @param string $column_name
|
* @param string $column_name
|
||||||
* @param object $argument
|
* @param object $argument
|
||||||
* @return void
|
* @return void
|
||||||
*/
|
*/
|
||||||
function UpdateExpressionWithoutArgument($column_name, $argument){
|
function UpdateExpressionWithoutArgument($column_name, $argument)
|
||||||
parent::Expression($column_name);
|
{
|
||||||
$this->argument = $argument;
|
parent::Expression($column_name);
|
||||||
}
|
$this->argument = $argument;
|
||||||
|
|
||||||
function getExpression($with_value = true){
|
|
||||||
return "$this->column_name = $this->argument";
|
|
||||||
}
|
|
||||||
|
|
||||||
function getValue(){
|
|
||||||
// TODO Escape value according to column type instead of variable type
|
|
||||||
$value = $this->argument;
|
|
||||||
if(!is_numeric($value)) return "'".$value."'";
|
|
||||||
return $value;
|
|
||||||
}
|
|
||||||
|
|
||||||
function show(){
|
|
||||||
if(!$this->argument) return false;
|
|
||||||
$value = $this->argument;
|
|
||||||
if(!isset($value)) return false;
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
function getArgument(){
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
|
|
||||||
function getArguments(){
|
|
||||||
return array();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function getExpression($with_value = true)
|
||||||
|
{
|
||||||
|
return "$this->column_name = $this->argument";
|
||||||
|
}
|
||||||
|
|
||||||
?>
|
function getValue()
|
||||||
|
{
|
||||||
|
// TODO Escape value according to column type instead of variable type
|
||||||
|
$value = $this->argument;
|
||||||
|
if(!is_numeric($value)) return "'".$value."'";
|
||||||
|
return $value;
|
||||||
|
}
|
||||||
|
|
||||||
|
function show()
|
||||||
|
{
|
||||||
|
if(!$this->argument) return false;
|
||||||
|
$value = $this->argument;
|
||||||
|
if(!isset($value)) return false;
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
function getArgument()
|
||||||
|
{
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
function getArguments()
|
||||||
|
{
|
||||||
|
return array();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
/* End of file UpdateExpressionWithoutArgument.class.php */
|
||||||
|
/* Location: ./classes/db/queryparts/expression/UpdateExpressionWithoutArgument.class.php */
|
||||||
|
|
|
||||||
|
|
@ -1,69 +1,77 @@
|
||||||
<?php
|
<?php
|
||||||
|
/**
|
||||||
|
* @author NHN (developers@xpressengine.com)
|
||||||
|
* @package /classes/db/queryparts/limit
|
||||||
|
* @version 0.1
|
||||||
|
*/
|
||||||
|
class Limit
|
||||||
|
{
|
||||||
/**
|
/**
|
||||||
* @author NHN (developers@xpressengine.com)
|
* start number
|
||||||
* @package /classes/db/queryparts/limit
|
* @var int
|
||||||
* @version 0.1
|
|
||||||
*/
|
*/
|
||||||
class Limit {
|
var $start;
|
||||||
/**
|
/**
|
||||||
* start number
|
* list count
|
||||||
* @var int
|
* @var int
|
||||||
*/
|
*/
|
||||||
var $start;
|
var $list_count;
|
||||||
/**
|
/**
|
||||||
* list count
|
* page count
|
||||||
* @var int
|
* @var int
|
||||||
*/
|
*/
|
||||||
var $list_count;
|
var $page_count;
|
||||||
/**
|
/**
|
||||||
* page count
|
* current page
|
||||||
* @var int
|
* @var int
|
||||||
*/
|
*/
|
||||||
var $page_count;
|
var $page;
|
||||||
/**
|
|
||||||
* current page
|
|
||||||
* @var int
|
|
||||||
*/
|
|
||||||
var $page;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* constructor
|
* constructor
|
||||||
* @param int $list_count
|
* @param int $list_count
|
||||||
* @param int $page
|
* @param int $page
|
||||||
* @param int $page_count
|
* @param int $page_count
|
||||||
* @return void
|
* @return void
|
||||||
*/
|
*/
|
||||||
function Limit($list_count, $page= NULL, $page_count= NULL){
|
function Limit($list_count, $page= NULL, $page_count= NULL)
|
||||||
$this->list_count = $list_count;
|
{
|
||||||
if ($page){
|
$this->list_count = $list_count;
|
||||||
$list_count_value = $list_count->getValue();
|
if ($page)
|
||||||
$page_value = $page->getValue();
|
{
|
||||||
$this->start = ($page_value - 1) * $list_count_value;
|
$list_count_value = $list_count->getValue();
|
||||||
$this->page_count = $page_count;
|
$page_value = $page->getValue();
|
||||||
$this->page = $page;
|
$this->start = ($page_value - 1) * $list_count_value;
|
||||||
}
|
$this->page_count = $page_count;
|
||||||
}
|
$this->page = $page;
|
||||||
|
|
||||||
/**
|
|
||||||
* In case you choose to use query limit in other cases than page select
|
|
||||||
* @return boolean
|
|
||||||
*/
|
|
||||||
function isPageHandler(){
|
|
||||||
if ($this->page)return true;
|
|
||||||
else return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
function getOffset(){
|
|
||||||
return $this->start;
|
|
||||||
}
|
|
||||||
|
|
||||||
function getLimit(){
|
|
||||||
return $this->list_count->getValue();
|
|
||||||
}
|
|
||||||
|
|
||||||
function toString(){
|
|
||||||
if ($this->page) return $this->start . ' , ' . $this->list_count->getValue();
|
|
||||||
else return $this->list_count->getValue();
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
?>
|
|
||||||
|
/**
|
||||||
|
* In case you choose to use query limit in other cases than page select
|
||||||
|
* @return boolean
|
||||||
|
*/
|
||||||
|
function isPageHandler()
|
||||||
|
{
|
||||||
|
if ($this->page)return true;
|
||||||
|
else return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
function getOffset()
|
||||||
|
{
|
||||||
|
return $this->start;
|
||||||
|
}
|
||||||
|
|
||||||
|
function getLimit()
|
||||||
|
{
|
||||||
|
return $this->list_count->getValue();
|
||||||
|
}
|
||||||
|
|
||||||
|
function toString()
|
||||||
|
{
|
||||||
|
if ($this->page) return $this->start . ' , ' . $this->list_count->getValue();
|
||||||
|
else return $this->list_count->getValue();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
/* End of file Limit.class.php */
|
||||||
|
/* Location: ./classes/db/limit/Limit.class.php */
|
||||||
|
|
|
||||||
|
|
@ -1,50 +1,55 @@
|
||||||
<?php
|
<?php
|
||||||
|
/**
|
||||||
|
* @author NHN (developers@xpressengine.com)
|
||||||
|
* @package /classes/db/queryparts/order
|
||||||
|
* @version 0.1
|
||||||
|
*/
|
||||||
|
class OrderByColumn
|
||||||
|
{
|
||||||
/**
|
/**
|
||||||
* @author NHN (developers@xpressengine.com)
|
* column name
|
||||||
* @package /classes/db/queryparts/order
|
* @var string
|
||||||
* @version 0.1
|
|
||||||
*/
|
*/
|
||||||
class OrderByColumn {
|
var $column_name;
|
||||||
/**
|
/**
|
||||||
* column name
|
* sort order
|
||||||
* @var string
|
* @var string
|
||||||
*/
|
*/
|
||||||
var $column_name;
|
var $sort_order;
|
||||||
/**
|
|
||||||
* sort order
|
/**
|
||||||
* @var string
|
* constructor
|
||||||
*/
|
* @param string $column_name
|
||||||
var $sort_order;
|
* @param string $sort_order
|
||||||
|
* @return void
|
||||||
/**
|
*/
|
||||||
* constructor
|
function OrderByColumn($column_name, $sort_order)
|
||||||
* @param string $column_name
|
{
|
||||||
* @param string $sort_order
|
$this->column_name = $column_name;
|
||||||
* @return void
|
$this->sort_order = $sort_order;
|
||||||
*/
|
|
||||||
function OrderByColumn($column_name, $sort_order){
|
|
||||||
$this->column_name = $column_name;
|
|
||||||
$this->sort_order = $sort_order;
|
|
||||||
}
|
|
||||||
|
|
||||||
function toString(){
|
|
||||||
$result = $this->getColumnName();
|
|
||||||
$result .= ' ';
|
|
||||||
$result .= is_a($this->sort_order, 'Argument') ? $this->sort_order->getValue() : $this->sort_order;
|
|
||||||
return $result;
|
|
||||||
}
|
|
||||||
|
|
||||||
function getColumnName(){
|
|
||||||
return is_a($this->column_name, 'Argument') ? $this->column_name->getValue() : $this->column_name;
|
|
||||||
}
|
|
||||||
|
|
||||||
function getArguments(){
|
|
||||||
$args = array();
|
|
||||||
if(is_a($this->column_name, 'Argument'))
|
|
||||||
$args[]= $this->column_name;
|
|
||||||
if(is_a($this->sort_order, 'Argument'))
|
|
||||||
$args[] = $this->sort_order;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
?>
|
function toString()
|
||||||
|
{
|
||||||
|
$result = $this->getColumnName();
|
||||||
|
$result .= ' ';
|
||||||
|
$result .= is_a($this->sort_order, 'Argument') ? $this->sort_order->getValue() : $this->sort_order;
|
||||||
|
return $result;
|
||||||
|
}
|
||||||
|
|
||||||
|
function getColumnName()
|
||||||
|
{
|
||||||
|
return is_a($this->column_name, 'Argument') ? $this->column_name->getValue() : $this->column_name;
|
||||||
|
}
|
||||||
|
|
||||||
|
function getArguments()
|
||||||
|
{
|
||||||
|
$args = array();
|
||||||
|
if(is_a($this->column_name, 'Argument'))
|
||||||
|
$args[]= $this->column_name;
|
||||||
|
if(is_a($this->sort_order, 'Argument'))
|
||||||
|
$args[] = $this->sort_order;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
/* End of file OrderByColumn.class.php */
|
||||||
|
/* Location: ./classes/db/order/OrderByColumn.class.php */
|
||||||
|
|
|
||||||
|
|
@ -1,62 +1,66 @@
|
||||||
<?php
|
<?php
|
||||||
|
/**
|
||||||
|
* @author NHN (developers@xpressengine.com)
|
||||||
|
* @package /classes/db/queryparts/table
|
||||||
|
* @version 0.1
|
||||||
|
*/
|
||||||
|
class CubridTableWithHint extends Table
|
||||||
|
{
|
||||||
/**
|
/**
|
||||||
* @author NHN (developers@xpressengine.com)
|
* table name
|
||||||
* @package /classes/db/queryparts/table
|
* @var string
|
||||||
* @version 0.1
|
|
||||||
*/
|
*/
|
||||||
class CubridTableWithHint extends Table {
|
var $name;
|
||||||
/**
|
/**
|
||||||
* table name
|
* table alias
|
||||||
* @var string
|
* @var string
|
||||||
*/
|
*/
|
||||||
var $name;
|
var $alias;
|
||||||
/**
|
/**
|
||||||
* table alias
|
* index hint list
|
||||||
* @var string
|
* @var array
|
||||||
*/
|
*/
|
||||||
var $alias;
|
var $index_hints_list;
|
||||||
/**
|
|
||||||
* index hint list
|
|
||||||
* @var array
|
|
||||||
*/
|
|
||||||
var $index_hints_list;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* constructor
|
* constructor
|
||||||
* @param string $name
|
* @param string $name
|
||||||
* @param string $alias
|
* @param string $alias
|
||||||
* @param array $index_hints_list
|
* @param array $index_hints_list
|
||||||
* @return void
|
* @return void
|
||||||
*/
|
*/
|
||||||
function CubridTableWithHint($name, $alias = NULL, $index_hints_list){
|
function CubridTableWithHint($name, $alias = NULL, $index_hints_list)
|
||||||
parent::Table($name, $alias);
|
{
|
||||||
$this->index_hints_list = $index_hints_list;
|
parent::Table($name, $alias);
|
||||||
}
|
$this->index_hints_list = $index_hints_list;
|
||||||
|
|
||||||
/**
|
|
||||||
* Return index hint string
|
|
||||||
* @return string
|
|
||||||
*/
|
|
||||||
function getIndexHintString(){
|
|
||||||
$result = '';
|
|
||||||
|
|
||||||
// Retrieve table prefix, to add it to index name
|
|
||||||
$db_info = Context::getDBInfo();
|
|
||||||
$prefix = $db_info->master_db["db_table_prefix"];
|
|
||||||
|
|
||||||
foreach($this->index_hints_list as $index_hint){
|
|
||||||
$index_hint_type = $index_hint->getIndexHintType();
|
|
||||||
if($index_hint_type !== 'IGNORE'){
|
|
||||||
$result .= $this->alias . '.'
|
|
||||||
. '"' . $prefix . substr($index_hint->getIndexName(), 1)
|
|
||||||
. ($index_hint_type == 'FORCE' ? '(+)' : '')
|
|
||||||
. ', ';
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
$result = substr($result, 0, -2);
|
|
||||||
return $result;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
?>
|
/**
|
||||||
|
* Return index hint string
|
||||||
|
* @return string
|
||||||
|
*/
|
||||||
|
function getIndexHintString()
|
||||||
|
{
|
||||||
|
$result = '';
|
||||||
|
|
||||||
|
// Retrieve table prefix, to add it to index name
|
||||||
|
$db_info = Context::getDBInfo();
|
||||||
|
$prefix = $db_info->master_db["db_table_prefix"];
|
||||||
|
|
||||||
|
foreach($this->index_hints_list as $index_hint)
|
||||||
|
{
|
||||||
|
$index_hint_type = $index_hint->getIndexHintType();
|
||||||
|
if($index_hint_type !== 'IGNORE')
|
||||||
|
{
|
||||||
|
$result .= $this->alias . '.'
|
||||||
|
. '"' . $prefix . substr($index_hint->getIndexName(), 1)
|
||||||
|
. ($index_hint_type == 'FORCE' ? '(+)' : '')
|
||||||
|
. ', ';
|
||||||
|
}
|
||||||
|
}
|
||||||
|
$result = substr($result, 0, -2);
|
||||||
|
return $result;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
/* End of file CubridTableWithHint.class.php */
|
||||||
|
/* Location: ./classes/db/queryparts/table/CubridTableWithHint.class.php */
|
||||||
|
|
|
||||||
|
|
@ -1,39 +1,43 @@
|
||||||
<?php
|
<?php
|
||||||
|
/**
|
||||||
|
* @author NHN (developers@xpressengine.com)
|
||||||
|
* @package /classes/db/queryparts/table
|
||||||
|
* @version 0.1
|
||||||
|
*/
|
||||||
|
class IndexHint
|
||||||
|
{
|
||||||
/**
|
/**
|
||||||
* @author NHN (developers@xpressengine.com)
|
* index name
|
||||||
* @package /classes/db/queryparts/table
|
* @var string
|
||||||
* @version 0.1
|
|
||||||
*/
|
*/
|
||||||
class IndexHint {
|
var $index_name;
|
||||||
/**
|
/**
|
||||||
* index name
|
* index hint type, ex) IGNORE, FORCE, USE...
|
||||||
* @var string
|
* @var string
|
||||||
*/
|
*/
|
||||||
var $index_name;
|
var $index_hint_type;
|
||||||
/**
|
|
||||||
* index hint type, ex) IGNORE, FORCE, USE...
|
|
||||||
* @var string
|
|
||||||
*/
|
|
||||||
var $index_hint_type;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* constructor
|
* constructor
|
||||||
* @param string $index_name
|
* @param string $index_name
|
||||||
* @param string $index_hint_type
|
* @param string $index_hint_type
|
||||||
* @return void
|
* @return void
|
||||||
*/
|
*/
|
||||||
function IndexHint($index_name, $index_hint_type){
|
function IndexHint($index_name, $index_hint_type)
|
||||||
$this->index_name = $index_name;
|
{
|
||||||
$this->index_hint_type = $index_hint_type;
|
$this->index_name = $index_name;
|
||||||
}
|
$this->index_hint_type = $index_hint_type;
|
||||||
|
|
||||||
function getIndexName(){
|
|
||||||
return $this->index_name;
|
|
||||||
}
|
|
||||||
|
|
||||||
function getIndexHintType() {
|
|
||||||
return $this->index_hint_type;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
?>
|
function getIndexName()
|
||||||
|
{
|
||||||
|
return $this->index_name;
|
||||||
|
}
|
||||||
|
|
||||||
|
function getIndexHintType()
|
||||||
|
{
|
||||||
|
return $this->index_hint_type;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
/* End of file IndexHint.class.php */
|
||||||
|
/* Location: ./classes/db/queryparts/table/IndexHint.class.php */
|
||||||
|
|
|
||||||
|
|
@ -1,59 +1,62 @@
|
||||||
<?php
|
<?php
|
||||||
|
/**
|
||||||
|
* class JoinTable
|
||||||
|
* $conditions in an array of Condition objects
|
||||||
|
*
|
||||||
|
* @author Arnia Software
|
||||||
|
* @package /classes/db/queryparts/table
|
||||||
|
* @version 0.1
|
||||||
|
*/
|
||||||
|
class JoinTable extends Table
|
||||||
|
{
|
||||||
/**
|
/**
|
||||||
* class JoinTable
|
* join type
|
||||||
* $conditions in an array of Condition objects
|
* @var string
|
||||||
*
|
|
||||||
* @author Arnia Software
|
|
||||||
* @package /classes/db/queryparts/table
|
|
||||||
* @version 0.1
|
|
||||||
*/
|
*/
|
||||||
class JoinTable extends Table {
|
var $join_type;
|
||||||
/**
|
/**
|
||||||
* join type
|
* condition list
|
||||||
* @var string
|
* @var array
|
||||||
*/
|
*/
|
||||||
var $join_type;
|
var $conditions;
|
||||||
/**
|
|
||||||
* condition list
|
/**
|
||||||
* @var array
|
* constructor
|
||||||
*/
|
* @param string $name
|
||||||
var $conditions;
|
* @param string $alias
|
||||||
|
* @param string $join_type
|
||||||
/**
|
* @param array $conditions
|
||||||
* constructor
|
* @return void
|
||||||
* @param string $name
|
*/
|
||||||
* @param string $alias
|
function JoinTable($name, $alias, $join_type, $conditions)
|
||||||
* @param string $join_type
|
{
|
||||||
* @param array $conditions
|
parent::Table($name, $alias);
|
||||||
* @return void
|
$this->join_type = $join_type;
|
||||||
*/
|
$this->conditions = $conditions;
|
||||||
function JoinTable($name, $alias, $join_type, $conditions){
|
|
||||||
parent::Table($name, $alias);
|
|
||||||
$this->join_type = $join_type;
|
|
||||||
$this->conditions = $conditions;
|
|
||||||
}
|
|
||||||
|
|
||||||
function toString($with_value = true){
|
|
||||||
$part = $this->join_type . ' ' . $this->name ;
|
|
||||||
$part .= $this->alias ? ' as ' . $this->alias : '';
|
|
||||||
$part .= ' on ';
|
|
||||||
foreach($this->conditions as $conditionGroup)
|
|
||||||
$part .= $conditionGroup->toString($with_value);
|
|
||||||
return $part;
|
|
||||||
}
|
|
||||||
|
|
||||||
function isJoinTable(){
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
function getArguments()
|
|
||||||
{
|
|
||||||
$args = array();
|
|
||||||
foreach($this->conditions as $conditionGroup)
|
|
||||||
$args = array_merge($args, $conditionGroup->getArguments());
|
|
||||||
return $args;
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
?>
|
function toString($with_value = true)
|
||||||
|
{
|
||||||
|
$part = $this->join_type . ' ' . $this->name ;
|
||||||
|
$part .= $this->alias ? ' as ' . $this->alias : '';
|
||||||
|
$part .= ' on ';
|
||||||
|
foreach($this->conditions as $conditionGroup)
|
||||||
|
$part .= $conditionGroup->toString($with_value);
|
||||||
|
return $part;
|
||||||
|
}
|
||||||
|
|
||||||
|
function isJoinTable()
|
||||||
|
{
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
function getArguments()
|
||||||
|
{
|
||||||
|
$args = array();
|
||||||
|
foreach($this->conditions as $conditionGroup)
|
||||||
|
$args = array_merge($args, $conditionGroup->getArguments());
|
||||||
|
return $args;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
/* End of file JoinTable.class.php */
|
||||||
|
/* Location: ./classes/db/queryparts/table/JoinTable.class.php */
|
||||||
|
|
|
||||||
|
|
@ -1,53 +1,58 @@
|
||||||
<?php
|
<?php
|
||||||
|
/**
|
||||||
|
* @author NHN (developers@xpressengine.com)
|
||||||
|
* @package /classes/db/queryparts/table
|
||||||
|
* @version 0.1
|
||||||
|
*/
|
||||||
|
class MssqlTableWithHint extends Table
|
||||||
|
{
|
||||||
/**
|
/**
|
||||||
* @author NHN (developers@xpressengine.com)
|
* table name
|
||||||
* @package /classes/db/queryparts/table
|
* @var string
|
||||||
* @version 0.1
|
|
||||||
*/
|
*/
|
||||||
class MssqlTableWithHint extends Table {
|
var $name;
|
||||||
/**
|
/**
|
||||||
* table name
|
* table alias
|
||||||
* @var string
|
* @var string
|
||||||
*/
|
*/
|
||||||
var $name;
|
var $alias;
|
||||||
/**
|
/**
|
||||||
* table alias
|
* index hint type, ex) IGNORE, FORCE, USE...
|
||||||
* @var string
|
* @var array
|
||||||
*/
|
*/
|
||||||
var $alias;
|
var $index_hints_list;
|
||||||
/**
|
|
||||||
* index hint type, ex) IGNORE, FORCE, USE...
|
|
||||||
* @var array
|
|
||||||
*/
|
|
||||||
var $index_hints_list;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* constructor
|
* constructor
|
||||||
* @param string $name
|
* @param string $name
|
||||||
* @param string $alias
|
* @param string $alias
|
||||||
* @param string $index_hints_list
|
* @param string $index_hints_list
|
||||||
* @return void
|
* @return void
|
||||||
*/
|
*/
|
||||||
function MssqlTableWithHint($name, $alias = NULL, $index_hints_list){
|
function MssqlTableWithHint($name, $alias = NULL, $index_hints_list)
|
||||||
parent::Table($name, $alias);
|
{
|
||||||
$this->index_hints_list = $index_hints_list;
|
parent::Table($name, $alias);
|
||||||
}
|
$this->index_hints_list = $index_hints_list;
|
||||||
|
|
||||||
function toString(){
|
|
||||||
$result = parent::toString();
|
|
||||||
|
|
||||||
$index_hint_string = '';
|
|
||||||
$indexTypeList = array('USE'=>1, 'FORCE'=>1);
|
|
||||||
foreach($this->index_hints_list as $index_hint){
|
|
||||||
$index_hint_type = $index_hint->getIndexHintType();
|
|
||||||
if(isset($indexTypeList[$index_hint_type]))
|
|
||||||
$index_hint_string .= 'INDEX(' . $index_hint->getIndexName() . '), ';
|
|
||||||
}
|
|
||||||
if($index_hint_string != ''){
|
|
||||||
$result .= ' WITH(' . substr($index_hint_string, 0, -2) . ') ';
|
|
||||||
}
|
|
||||||
return $result;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
?>
|
function toString()
|
||||||
|
{
|
||||||
|
$result = parent::toString();
|
||||||
|
|
||||||
|
$index_hint_string = '';
|
||||||
|
$indexTypeList = array('USE'=>1, 'FORCE'=>1);
|
||||||
|
foreach($this->index_hints_list as $index_hint)
|
||||||
|
{
|
||||||
|
$index_hint_type = $index_hint->getIndexHintType();
|
||||||
|
if(isset($indexTypeList[$index_hint_type]))
|
||||||
|
$index_hint_string .= 'INDEX(' . $index_hint->getIndexName() . '), ';
|
||||||
|
}
|
||||||
|
if($index_hint_string != '')
|
||||||
|
{
|
||||||
|
$result .= ' WITH(' . substr($index_hint_string, 0, -2) . ') ';
|
||||||
|
}
|
||||||
|
return $result;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
/* End of file MssqlTableWithHint.class.php */
|
||||||
|
/* Location: ./classes/db/queryparts/table/MssqlTableWithHint.class.php */
|
||||||
|
|
|
||||||
|
|
@ -1,59 +1,66 @@
|
||||||
<?php
|
<?php
|
||||||
|
/**
|
||||||
|
* @author NHN (developers@xpressengine.com)
|
||||||
|
* @package /classes/db/queryparts/table
|
||||||
|
* @version 0.1
|
||||||
|
*/
|
||||||
|
class MysqlTableWithHint extends Table
|
||||||
|
{
|
||||||
/**
|
/**
|
||||||
* @author NHN (developers@xpressengine.com)
|
* table name
|
||||||
* @package /classes/db/queryparts/table
|
* @var string
|
||||||
* @version 0.1
|
|
||||||
*/
|
*/
|
||||||
class MysqlTableWithHint extends Table {
|
var $name;
|
||||||
/**
|
/**
|
||||||
* table name
|
* table alias
|
||||||
* @var string
|
* @var string
|
||||||
*/
|
*/
|
||||||
var $name;
|
var $alias;
|
||||||
/**
|
/**
|
||||||
* table alias
|
* index hint type, ex) IGNORE, FORCE, USE...
|
||||||
* @var string
|
* @var array
|
||||||
*/
|
*/
|
||||||
var $alias;
|
var $index_hints_list;
|
||||||
/**
|
|
||||||
* index hint type, ex) IGNORE, FORCE, USE...
|
|
||||||
* @var array
|
|
||||||
*/
|
|
||||||
var $index_hints_list;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* constructor
|
* constructor
|
||||||
* @param string $name
|
* @param string $name
|
||||||
* @param string $alias
|
* @param string $alias
|
||||||
* @param string $index_hints_list
|
* @param string $index_hints_list
|
||||||
* @return void
|
* @return void
|
||||||
*/
|
*/
|
||||||
function MysqlTableWithHint($name, $alias = NULL, $index_hints_list){
|
function MysqlTableWithHint($name, $alias = NULL, $index_hints_list)
|
||||||
parent::Table($name, $alias);
|
{
|
||||||
$this->index_hints_list = $index_hints_list;
|
parent::Table($name, $alias);
|
||||||
}
|
$this->index_hints_list = $index_hints_list;
|
||||||
|
|
||||||
function toString(){
|
|
||||||
$result = parent::toString();
|
|
||||||
|
|
||||||
$use_index_hint = ''; $force_index_hint = ''; $ignore_index_hint = '';
|
|
||||||
foreach($this->index_hints_list as $index_hint){
|
|
||||||
$index_hint_type = $index_hint->getIndexHintType();
|
|
||||||
if($index_hint_type == 'USE') $use_index_hint .= $index_hint->getIndexName() . ', ';
|
|
||||||
else if($index_hint_type == 'FORCE') $force_index_hint .= $index_hint->getIndexName() . ', ';
|
|
||||||
else if($index_hint_type == 'IGNORE') $ignore_index_hint .= $index_hint->getIndexName() . ', ';
|
|
||||||
}
|
|
||||||
if($use_index_hint != ''){
|
|
||||||
$result .= ' USE INDEX (' . substr($use_index_hint, 0, -2) . ') ';
|
|
||||||
}
|
|
||||||
if($force_index_hint != ''){
|
|
||||||
$result .= ' FORCE INDEX (' . substr($force_index_hint, 0, -2) . ') ';
|
|
||||||
}
|
|
||||||
if($ignore_index_hint != ''){
|
|
||||||
$result .= ' IGNORE INDEX (' . substr($ignore_index_hint, 0, -2) . ') ';
|
|
||||||
}
|
|
||||||
return $result;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
?>
|
function toString()
|
||||||
|
{
|
||||||
|
$result = parent::toString();
|
||||||
|
|
||||||
|
$use_index_hint = ''; $force_index_hint = ''; $ignore_index_hint = '';
|
||||||
|
foreach($this->index_hints_list as $index_hint)
|
||||||
|
{
|
||||||
|
$index_hint_type = $index_hint->getIndexHintType();
|
||||||
|
if($index_hint_type == 'USE') $use_index_hint .= $index_hint->getIndexName() . ', ';
|
||||||
|
else if($index_hint_type == 'FORCE') $force_index_hint .= $index_hint->getIndexName() . ', ';
|
||||||
|
else if($index_hint_type == 'IGNORE') $ignore_index_hint .= $index_hint->getIndexName() . ', ';
|
||||||
|
}
|
||||||
|
if($use_index_hint != '')
|
||||||
|
{
|
||||||
|
$result .= ' USE INDEX (' . substr($use_index_hint, 0, -2) . ') ';
|
||||||
|
}
|
||||||
|
if($force_index_hint != '')
|
||||||
|
{
|
||||||
|
$result .= ' FORCE INDEX (' . substr($force_index_hint, 0, -2) . ') ';
|
||||||
|
}
|
||||||
|
if($ignore_index_hint != '')
|
||||||
|
{
|
||||||
|
$result .= ' IGNORE INDEX (' . substr($ignore_index_hint, 0, -2) . ') ';
|
||||||
|
}
|
||||||
|
return $result;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
/* End of file MysqlTableWithHint.class.php */
|
||||||
|
/* Location: ./classes/db/queryparts/table/MysqlTableWithHint.class.php */
|
||||||
|
|
|
||||||
|
|
@ -1,48 +1,55 @@
|
||||||
<?php
|
<?php
|
||||||
|
/**
|
||||||
|
* @author NHN (developers@xpressengine.com)
|
||||||
|
* @package /classes/db/queryparts/table
|
||||||
|
* @version 0.1
|
||||||
|
*/
|
||||||
|
class Table
|
||||||
|
{
|
||||||
/**
|
/**
|
||||||
* @author NHN (developers@xpressengine.com)
|
* table name
|
||||||
* @package /classes/db/queryparts/table
|
* @var string
|
||||||
* @version 0.1
|
|
||||||
*/
|
*/
|
||||||
class Table {
|
var $name;
|
||||||
/**
|
/**
|
||||||
* table name
|
* table alias
|
||||||
* @var string
|
* @var string
|
||||||
*/
|
*/
|
||||||
var $name;
|
var $alias;
|
||||||
/**
|
|
||||||
* table alias
|
/**
|
||||||
* @var string
|
* constructor
|
||||||
*/
|
* @param string $name
|
||||||
var $alias;
|
* @param string $alias
|
||||||
|
* @return void
|
||||||
/**
|
*/
|
||||||
* constructor
|
function Table($name, $alias = NULL)
|
||||||
* @param string $name
|
{
|
||||||
* @param string $alias
|
$this->name = $name;
|
||||||
* @return void
|
$this->alias = $alias;
|
||||||
*/
|
|
||||||
function Table($name, $alias = NULL){
|
|
||||||
$this->name = $name;
|
|
||||||
$this->alias = $alias;
|
|
||||||
}
|
|
||||||
|
|
||||||
function toString(){
|
|
||||||
//return $this->name;
|
|
||||||
return sprintf("%s%s", $this->name, $this->alias ? ' as ' . $this->alias : '');
|
|
||||||
}
|
|
||||||
|
|
||||||
function getName(){
|
|
||||||
return $this->name;
|
|
||||||
}
|
|
||||||
|
|
||||||
function getAlias(){
|
|
||||||
return $this->alias;
|
|
||||||
}
|
|
||||||
|
|
||||||
function isJoinTable(){
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
?>
|
function toString()
|
||||||
|
{
|
||||||
|
//return $this->name;
|
||||||
|
return sprintf("%s%s", $this->name, $this->alias ? ' as ' . $this->alias : '');
|
||||||
|
}
|
||||||
|
|
||||||
|
function getName()
|
||||||
|
{
|
||||||
|
return $this->name;
|
||||||
|
}
|
||||||
|
|
||||||
|
function getAlias()
|
||||||
|
{
|
||||||
|
return $this->alias;
|
||||||
|
}
|
||||||
|
|
||||||
|
function isJoinTable()
|
||||||
|
{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/* End of file Table.class.php */
|
||||||
|
/* Location: ./classes/db/queryparts/table/Table.class.php */
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue