38 return '`' . str_replace( [
"\0",
'`' ], [
'',
'``' ],
$s ) .
'`';
46 return strlen( $name ) && $name[0] ==
'`' && substr( $name, -1, 1 ) ==
'`';
50 return "CAST( $field AS BINARY )";
58 return 'CAST( ' . $field .
' AS SIGNED )';
62 switch ( strtoupper( $joinType ) ) {
65 return 'STRAIGHT_JOIN';
68 return parent::normalizeJoinType( $joinType );
77 return "FORCE INDEX (" . $this->
indexName( $index ) .
")";
85 return "IGNORE INDEX (" . $this->
indexName( $index ) .
")";
93 $delTable = $this->
tableName( $delTable );
94 $joinTable = $this->
tableName( $joinTable );
95 $sql =
"DELETE $delTable FROM $delTable, $joinTable WHERE $delVar=$joinVar ";
97 if ( $conds !=
'*' ) {
98 $sql .=
' AND ' . $this->
makeList( $conds, self::LIST_AND );
105 return parent::isTransactableQuery( $sql ) &&
106 !preg_match(
'/^SELECT\s+(GET|RELEASE|IS_FREE)_LOCK\(/', $sql );
117 return "VALUES($column)";
121 $encName = $this->quoter->addQuotes( $this->
makeLockName( $lockName ) );
126 return "SELECT IF(GET_LOCK($encName,$timeout),UNIX_TIMESTAMP(SYSDATE(6)),NULL) AS acquired";
130 $encName = $this->quoter->addQuotes( $this->
makeLockName( $lockName ) );
131 return "SELECT IS_FREE_LOCK($encName) AS unlocked";
135 $encName = $this->quoter->addQuotes( $this->
makeLockName( $lockName ) );
136 return "SELECT RELEASE_LOCK($encName) AS released";
142 return ( strlen( $lockName ) > 64 ) ? sha1( $lockName ) : $lockName;
foreach( $mmfl['setupFiles'] as $fileName) if($queue) if(empty( $mmfl['quiet'])) $s