N°1161 - Add functions, order by and limits to DBSearch::MakeGroupByQuery()

SVN:trunk[5350]
This commit is contained in:
Eric Espié
2018-02-16 12:59:35 +00:00
parent 7ea9b5b2f3
commit 03f9a9fcac
10 changed files with 1044 additions and 45 deletions

View File

@@ -69,18 +69,18 @@ abstract class SQLQuery
abstract public function RenderDelete($aArgs = array());
abstract public function RenderUpdate($aArgs = array());
abstract public function RenderSelect($aOrderBy = array(), $aArgs = array(), $iLimitCount = 0, $iLimitStart = 0, $bGetCount = false, $bBeautifulQuery = false);
abstract public function RenderGroupBy($aArgs = array(), $bBeautifulQuery = false);
abstract public function RenderGroupBy($aArgs = array(), $bBeautifulQuery = false, $aOrderBy = array(), $iLimitCount = 0, $iLimitStart = 0);
abstract public function OptimizeJoins($aUsedTables, $bTopCall = true);
protected static function ClauseSelect($aFields)
protected static function ClauseSelect($aFields, $sLineSep = '')
{
$aSelect = array();
foreach ($aFields as $sFieldAlias => $sSQLExpr)
{
$aSelect[] = "$sSQLExpr AS $sFieldAlias";
}
$sSelect = implode(', ', $aSelect);
$sSelect = implode(",$sLineSep ", $aSelect);
return $sSelect;
}
@@ -181,7 +181,13 @@ abstract class SQLQuery
}
}
protected static function ClauseOrderBy($aOrderBy)
/**
* @param array $aOrderBy
* @param array $aExistingFields
* @return string
* @throws CoreException
*/
protected static function ClauseOrderBy($aOrderBy, $aExistingFields)
{
$aOrderBySpec = array();
foreach($aOrderBy as $sFieldAlias => $bAscending)