TYPO3 CMS  TYPO3_7-6
TYPO3\CMS\Dbal\Database\SqlCompilers\AbstractCompiler Class Reference
Inheritance diagram for TYPO3\CMS\Dbal\Database\SqlCompilers\AbstractCompiler:
TYPO3\CMS\Dbal\Database\SqlCompilers\Adodb TYPO3\CMS\Dbal\Database\SqlCompilers\Mysql

Public Member Functions

 __construct (DatabaseConnection $databaseConnection)
 
 compileSQL ($components)
 
 compileFieldList ($selectFields, $compileComments=true, $functionMapping=true)
 
 compileWhereClause ($clauseArray, $functionMapping=true)
 
 compileFromTables ($tablesArray)
 

Protected Member Functions

 compileSELECT ($components)
 
 compileUPDATE ($components)
 
 compileINSERT ($components)
 
 compileDELETE ($components)
 
 compileCREATETABLE ($components)
 
 compileALTERTABLE ($components)
 
 compileTRUNCATETABLE (array $components)
 
 compileAddslashes ($str)
 
 compileJoinIdentifier ($identifierParts)
 
 compileCaseStatement (array $components, $functionMapping=true)
 

Protected Attributes

 $databaseConnection
 

Detailed Description

Abstract base class for SQL compilers

Definition at line 22 of file AbstractCompiler.php.

Constructor & Destructor Documentation

◆ __construct()

TYPO3\CMS\Dbal\Database\SqlCompilers\AbstractCompiler::__construct ( DatabaseConnection  $databaseConnection)
Parameters
\TYPO3\CMS\Dbal\Database\DatabaseConnection$databaseConnection

Definition at line 32 of file AbstractCompiler.php.

References TYPO3\CMS\Dbal\Database\SqlCompilers\AbstractCompiler\$databaseConnection.

Member Function Documentation

◆ compileAddslashes()

TYPO3\CMS\Dbal\Database\SqlCompilers\AbstractCompiler::compileAddslashes (   $str)
abstractprotected

Add slashes function used for compiling queries This method overrides the method from because the input string is already properly escaped.

Parameters
string$strInput string
Returns
string Output string

Referenced by TYPO3\CMS\Dbal\Database\SqlCompilers\AbstractCompiler\compileFromTables(), TYPO3\CMS\Dbal\Database\SqlCompilers\AbstractCompiler\compileTRUNCATETABLE(), and TYPO3\CMS\Dbal\Database\SqlCompilers\AbstractCompiler\compileUPDATE().

◆ compileALTERTABLE()

TYPO3\CMS\Dbal\Database\SqlCompilers\AbstractCompiler::compileALTERTABLE (   $components)
abstractprotected

Compiles an ALTER TABLE statement from components array

Parameters
arrayArray of SQL query components
Returns
string SQL ALTER TABLE query
See also
parseALTERTABLE()

Referenced by TYPO3\CMS\Dbal\Database\SqlCompilers\AbstractCompiler\compileDELETE(), and TYPO3\CMS\Dbal\Database\SqlCompilers\AbstractCompiler\compileSQL().

◆ compileCaseStatement()

TYPO3\CMS\Dbal\Database\SqlCompilers\AbstractCompiler::compileCaseStatement ( array  $components,
  $functionMapping = true 
)
protected

Compiles a CASE ... WHEN flow-control construct based on input array (made with ->parseCaseStatement())

Parameters
array$componentsArray of case components, (made with ->parseCaseStatement())
bool$functionMappingWhether function mapping should take place
Returns
string case when string
See also
parseCaseStatement()

Definition at line 303 of file AbstractCompiler.php.

References TYPO3\CMS\Dbal\Database\SqlCompilers\AbstractCompiler\compileWhereClause().

Referenced by TYPO3\CMS\Dbal\Database\SqlCompilers\Mysql\compileFieldList(), and TYPO3\CMS\Dbal\Database\SqlCompilers\Adodb\compileFieldList().

◆ compileCREATETABLE()

TYPO3\CMS\Dbal\Database\SqlCompilers\AbstractCompiler::compileCREATETABLE (   $components)
abstractprotected

Compiles a CREATE TABLE statement from components array

Parameters
array$componentsArray of SQL query components
Returns
array array with SQL CREATE TABLE/INDEX command(s)
See also
parseCREATETABLE()

Referenced by TYPO3\CMS\Dbal\Database\SqlCompilers\AbstractCompiler\compileDELETE(), and TYPO3\CMS\Dbal\Database\SqlCompilers\AbstractCompiler\compileSQL().

◆ compileDELETE()

TYPO3\CMS\Dbal\Database\SqlCompilers\AbstractCompiler::compileDELETE (   $components)
protected

Compiles an DELETE statement from components array

Parameters
array$componentsArray of SQL query components
Returns
string SQL DELETE query
See also
parseDELETE()

Definition at line 143 of file AbstractCompiler.php.

References TYPO3\CMS\Dbal\Database\SqlCompilers\AbstractCompiler\compileALTERTABLE(), TYPO3\CMS\Dbal\Database\SqlCompilers\AbstractCompiler\compileCREATETABLE(), and TYPO3\CMS\Dbal\Database\SqlCompilers\AbstractCompiler\compileWhereClause().

Referenced by TYPO3\CMS\Dbal\Database\SqlCompilers\AbstractCompiler\compileSQL().

◆ compileFieldList()

TYPO3\CMS\Dbal\Database\SqlCompilers\AbstractCompiler::compileFieldList (   $selectFields,
  $compileComments = true,
  $functionMapping = true 
)
abstract

Compiles a "SELECT [output] FROM..:" field list based on input array (made with ->parseFieldList()) Can also compile field lists for ORDER BY and GROUP BY.

Parameters
array$selectFieldsArray of select fields, (made with ->parseFieldList())
bool$compileCommentsWhether comments should be compiled
bool$functionMappingWhether function mapping should take place
Returns
string Select field string
See also
parseFieldList()

Referenced by TYPO3\CMS\Dbal\Database\SqlCompilers\AbstractCompiler\compileSELECT(), and TYPO3\CMS\Dbal\Database\SqlCompilers\AbstractCompiler\compileTRUNCATETABLE().

◆ compileFromTables()

TYPO3\CMS\Dbal\Database\SqlCompilers\AbstractCompiler::compileFromTables (   $tablesArray)

Compiles a "FROM [output] WHERE..:" table list based on input array (made with ->parseFromTables())

Parameters
array$tablesArrayArray of table names, (made with ->parseFromTables())
Returns
string Table name string
See also
parseFromTables()

Definition at line 253 of file AbstractCompiler.php.

References TYPO3\CMS\Dbal\Database\SqlCompilers\AbstractCompiler\compileAddslashes(), and TYPO3\CMS\Dbal\Database\SqlCompilers\AbstractCompiler\compileJoinIdentifier().

Referenced by TYPO3\CMS\Dbal\Database\SqlCompilers\AbstractCompiler\compileSELECT().

◆ compileINSERT()

TYPO3\CMS\Dbal\Database\SqlCompilers\AbstractCompiler::compileINSERT (   $components)
abstractprotected

Compiles an INSERT statement from components array

Parameters
array$componentsArray of SQL query components
Returns
string SQL INSERT query
See also
parseINSERT()

Referenced by TYPO3\CMS\Dbal\Database\SqlCompilers\AbstractCompiler\compileSQL(), and TYPO3\CMS\Dbal\Database\SqlCompilers\AbstractCompiler\compileUPDATE().

◆ compileJoinIdentifier()

TYPO3\CMS\Dbal\Database\SqlCompilers\AbstractCompiler::compileJoinIdentifier (   $identifierParts)
protected

Compile a "JOIN table ON [output] = ..." identifier

Parameters
array$identifierPartsArray of identifier parts
Returns
string
See also
parseCastStatement()
parseFromTables()

Definition at line 234 of file AbstractCompiler.php.

Referenced by TYPO3\CMS\Dbal\Database\SqlCompilers\AbstractCompiler\compileFromTables().

◆ compileSELECT()

TYPO3\CMS\Dbal\Database\SqlCompilers\AbstractCompiler::compileSELECT (   $components)
protected

◆ compileSQL()

◆ compileTRUNCATETABLE()

TYPO3\CMS\Dbal\Database\SqlCompilers\AbstractCompiler::compileTRUNCATETABLE ( array  $components)
protected

Compiles a TRUNCATE TABLE statement from components array

Parameters
array$componentsArray of SQL query components
Returns
string SQL TRUNCATE TABLE query
See also
parseTRUNCATETABLE()

Definition at line 178 of file AbstractCompiler.php.

References TYPO3\CMS\Dbal\Database\SqlCompilers\AbstractCompiler\compileAddslashes(), TYPO3\CMS\Dbal\Database\SqlCompilers\AbstractCompiler\compileFieldList(), and TYPO3\CMS\Dbal\Database\SqlCompilers\AbstractCompiler\compileWhereClause().

Referenced by TYPO3\CMS\Dbal\Database\SqlCompilers\AbstractCompiler\compileSQL().

◆ compileUPDATE()

TYPO3\CMS\Dbal\Database\SqlCompilers\AbstractCompiler::compileUPDATE (   $components)
protected

Compiles an UPDATE statement from components array

Parameters
array$componentsArray of SQL query components
Returns
string SQL UPDATE query
See also
parseUPDATE()

Definition at line 111 of file AbstractCompiler.php.

References TYPO3\CMS\Dbal\Database\SqlCompilers\AbstractCompiler\compileAddslashes(), TYPO3\CMS\Dbal\Database\SqlCompilers\AbstractCompiler\compileINSERT(), and TYPO3\CMS\Dbal\Database\SqlCompilers\AbstractCompiler\compileWhereClause().

Referenced by TYPO3\CMS\Dbal\Database\SqlCompilers\AbstractCompiler\compileSQL().

◆ compileWhereClause()

TYPO3\CMS\Dbal\Database\SqlCompilers\AbstractCompiler::compileWhereClause (   $clauseArray,
  $functionMapping = true 
)
abstract

Implodes an array of WHERE clause configuration into a WHERE clause.

DBAL-specific: The only(!) handled "calc" operators supported by parseWhereClause() are:

  • the bitwise logical and (&)
  • the addition (+)
  • the substraction (-)
  • the multiplication (*)
  • the division (/)
  • the modulo (%)
Parameters
array$clauseArray
bool$functionMapping
Returns
string WHERE clause as string.
See also
::parseWhereClause()

Referenced by TYPO3\CMS\Dbal\Database\SqlCompilers\AbstractCompiler\compileCaseStatement(), TYPO3\CMS\Dbal\Database\SqlCompilers\AbstractCompiler\compileDELETE(), TYPO3\CMS\Dbal\Database\SqlCompilers\AbstractCompiler\compileSELECT(), TYPO3\CMS\Dbal\Database\SqlCompilers\AbstractCompiler\compileTRUNCATETABLE(), and TYPO3\CMS\Dbal\Database\SqlCompilers\AbstractCompiler\compileUPDATE().

Member Data Documentation

◆ $databaseConnection

TYPO3\CMS\Dbal\Database\SqlCompilers\AbstractCompiler::$databaseConnection
protected