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

Public Member Functions

 compileFieldList ($selectFields, $compileComments=true, $functionMapping=true)
 
 compileWhereClause ($clauseArray, $functionMapping=true)
 
- Public Member Functions inherited from TYPO3\CMS\Dbal\Database\SqlCompilers\AbstractCompiler
 __construct (DatabaseConnection $databaseConnection)
 
 compileSQL ($components)
 
 compileFieldList ($selectFields, $compileComments=true, $functionMapping=true)
 
 compileWhereClause ($clauseArray, $functionMapping=true)
 
 compileFromTables ($tablesArray)
 

Protected Member Functions

 compileINSERT ($components)
 
 compileCREATETABLE ($components)
 
 compileALTERTABLE ($components)
 
 compileCREATEINDEX ($indexName, $tableName, $indexFields, $indexOptions=[])
 
 compileDROPINDEX ($indexName, $tableName)
 
 compileAddslashes ($str)
 
 compileFieldCfg ($fieldCfg)
 
- Protected Member Functions inherited from TYPO3\CMS\Dbal\Database\SqlCompilers\AbstractCompiler
 compileSELECT ($components)
 
 compileUPDATE ($components)
 
 compileINSERT ($components)
 
 compileDELETE ($components)
 
 compileCREATETABLE ($components)
 
 compileALTERTABLE ($components)
 
 compileTRUNCATETABLE (array $components)
 
 compileAddslashes ($str)
 
 compileJoinIdentifier ($identifierParts)
 
 compileCaseStatement (array $components, $functionMapping=true)
 

Additional Inherited Members

- Protected Attributes inherited from TYPO3\CMS\Dbal\Database\SqlCompilers\AbstractCompiler
 $databaseConnection
 

Detailed Description

SQL Compiler for ADOdb connections

Definition at line 24 of file Adodb.php.

Member Function Documentation

◆ compileAddslashes()

TYPO3\CMS\Dbal\Database\SqlCompilers\Adodb::compileAddslashes (   $str)
protected

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

Definition at line 248 of file Adodb.php.

Referenced by TYPO3\CMS\Dbal\Database\SqlCompilers\Adodb\compileFieldCfg(), and TYPO3\CMS\Dbal\Database\SqlCompilers\Adodb\compileWhereClause().

◆ compileALTERTABLE()

TYPO3\CMS\Dbal\Database\SqlCompilers\Adodb::compileALTERTABLE (   $components)
protected

Compiles an ALTER TABLE statement from components array

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

Definition at line 100 of file Adodb.php.

References TYPO3\CMS\Dbal\Database\SqlCompilers\Adodb\compileCREATEINDEX(), TYPO3\CMS\Dbal\Database\SqlCompilers\Adodb\compileDROPINDEX(), and TYPO3\CMS\Dbal\Database\SqlCompilers\Adodb\compileFieldCfg().

◆ compileCREATEINDEX()

TYPO3\CMS\Dbal\Database\SqlCompilers\Adodb::compileCREATEINDEX (   $indexName,
  $tableName,
  $indexFields,
  $indexOptions = [] 
)
protected

Compiles CREATE INDEX statements from component information

MySQL only needs uniqueness of index names per table, but many DBMS require uniqueness of index names per schema. The table name is hashed and prepended to the index name to make sure index names are unique.

Parameters
string$indexName
string$tableName
array$indexFields
array$indexOptions
Returns
array
See also
compileALTERTABLE()

Definition at line 152 of file Adodb.php.

References TYPO3\CMS\Dbal\Database\Specifics\AbstractSpecifics\PARTIAL_STRING_INDEX.

Referenced by TYPO3\CMS\Dbal\Database\SqlCompilers\Adodb\compileALTERTABLE(), and TYPO3\CMS\Dbal\Database\SqlCompilers\Adodb\compileCREATETABLE().

◆ compileCREATETABLE()

TYPO3\CMS\Dbal\Database\SqlCompilers\Adodb::compileCREATETABLE (   $components)
protected

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()

Definition at line 61 of file Adodb.php.

References TYPO3\CMS\Dbal\Database\SqlCompilers\Adodb\compileCREATEINDEX(), and TYPO3\CMS\Dbal\Database\SqlCompilers\Adodb\compileFieldCfg().

◆ compileDROPINDEX()

TYPO3\CMS\Dbal\Database\SqlCompilers\Adodb::compileDROPINDEX (   $indexName,
  $tableName 
)
protected

Compiles DROP INDEX statements from component information

MySQL only needs uniqueness of index names per table, but many DBMS require uniqueness of index names per schema. The table name is hashed and prepended to the index name to make sure index names are unique.

Parameters
$indexName
$tableName
Returns
array
See also
compileALTERTABLE()

Definition at line 182 of file Adodb.php.

Referenced by TYPO3\CMS\Dbal\Database\SqlCompilers\Adodb\compileALTERTABLE().

◆ compileFieldCfg()

TYPO3\CMS\Dbal\Database\SqlCompilers\Adodb::compileFieldCfg (   $fieldCfg)
protected

Compile field definition

Parameters
array$fieldCfgField definition parts
Returns
string Field definition string

Definition at line 259 of file Adodb.php.

References TYPO3\CMS\Dbal\Database\SqlCompilers\Adodb\compileAddslashes().

Referenced by TYPO3\CMS\Dbal\Database\SqlCompilers\Adodb\compileALTERTABLE(), and TYPO3\CMS\Dbal\Database\SqlCompilers\Adodb\compileCREATETABLE().

◆ compileFieldList()

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

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()

Definition at line 201 of file Adodb.php.

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

◆ compileINSERT()

TYPO3\CMS\Dbal\Database\SqlCompilers\Adodb::compileINSERT (   $components)
protected

Compiles an INSERT statement from components array

Parameters
arrayArray of SQL query components
Returns
string SQL INSERT query / array
See also
parseINSERT()

Definition at line 33 of file Adodb.php.

◆ compileWhereClause()

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

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()

Definition at line 338 of file Adodb.php.

References TYPO3\CMS\Dbal\Database\SqlCompilers\Adodb\compileAddslashes(), TYPO3\CMS\Dbal\Database\SqlCompilers\AbstractCompiler\compileSELECT(), TYPO3\CMS\Core\Utility\GeneralUtility\isFirstPartOfStr(), TYPO3\CMS\Dbal\Database\SqlParser\normalizeKeyword(), and TYPO3\CMS\Core\Utility\GeneralUtility\strtolower().