Project

General

Profile

Bug #19582 » 11022.diff

Administrator Admin, 2009-05-03 12:44

View differences:

t3lib/cache/backend/class.t3lib_cache_backend_dbbackend.php (working copy)
'content',
$this->cacheTable,
'identifier = ' . $GLOBALS['TYPO3_DB']->fullQuoteStr($entryIdentifier, $this->cacheTable) . ' '
. 'AND ((crdate + lifetime) >= ' . time() . ' OR lifetime = 0)'
. 'AND (crdate + lifetime >= ' . time() . ' OR lifetime = 0)'
);
if (count($caheEntries) == 1) {
......
'content',
$this->cacheTable,
'identifier = ' . $GLOBALS['TYPO3_DB']->fullQuoteStr($entryIdentifier, $this->cacheTable) . ' '
. 'AND (crdate + lifetime) >= ' . time()
. 'AND crdate + lifetime >= ' . time()
);
if (count($caheEntries) == 1) {
......
$cacheEntryIdentifierRows = $GLOBALS['TYPO3_DB']->exec_SELECTgetRows(
'identifier',
$this->cacheTable,
$this->getListQueryForTag($tag) . ' AND ((crdate + lifetime) >= ' . time() . ' OR lifetime = 0)'
$this->getListQueryForTag($tag) . ' AND (crdate + lifetime >= ' . time() . ' OR lifetime = 0)'
);
foreach ($cacheEntryIdentifierRows as $cacheEntryIdentifierRow) {
......
foreach ($tags as $tag) {
$whereClause[] = $this->getListQueryForTag($tag);
}
$whereClause[] = '((crdate + lifetime) >= ' . time() . ' OR lifetime = 0)';
$whereClause[] = '(crdate + lifetime >= ' . time() . ' OR lifetime = 0)';
$cacheEntryIdentifierRows = $GLOBALS['TYPO3_DB']->exec_SELECTgetRows(
'identifier',
......
public function collectGarbage() {
$GLOBALS['TYPO3_DB']->exec_DELETEquery(
$this->cacheTable,
'(crdate + lifetime) < ' . time()
'crdate + lifetime < ' . time()
);
}
......
include_once($TYPO3_CONF_VARS[TYPO3_MODE]['XCLASS']['t3lib/cache/backend/class.t3lib_cache_backend_dbbackend.php']);
}
?>
?>
t3lib/class.t3lib_sqlparser.php (working copy)
$stack[$level][$pnt[$level]]['modifier'] = trim($this->nextPart($parseString,'^(!|NOT[[:space:]]+)'));
// Fieldname:
if ($fieldName = $this->nextPart($parseString,'^([[:alnum:]._]+)([[:space:]]+|&|<=|>=|<|>|=|!=|IS)')) {
if ($fieldName = $this->nextPart($parseString,'^([[:alnum:]._]+)([[:space:]]+|\+|&|<=|>=|<|>|=|!=|IS)')) {
// Parse field name into field and table:
$tableField = explode('.',$fieldName,2);
......
return $this->parseError('No field name found as expected in parseWhereClause()',$parseString);
}
// See if the value is calculated. Support only for "&" (boolean AND) at the moment:
$stack[$level][$pnt[$level]]['calc'] = $this->nextPart($parseString,'^(&)');
// See if the value is calculated. Support only for "&" (boolean AND) and "+" at the moment:
$stack[$level][$pnt[$level]]['calc'] = $this->nextPart($parseString,'^(&|\+)');
if (strlen($stack[$level][$pnt[$level]]['calc'])) {
// Finding value for calculation:
$stack[$level][$pnt[$level]]['calc_value'] = $this->getValue($parseString);
......
include_once($TYPO3_CONF_VARS[TYPO3_MODE]['XCLASS']['t3lib/class.t3lib_sqlparser.php']);
}
?>
?>
typo3/sysext/dbal/class.ux_t3lib_sqlparser.php (working copy)
$output.=' '.trim($v['modifier']).' ';
// DBAL-specific: Set calculation, if any:
if ($v['calc'] && $functionMapping) {
if ($v['calc'] === '&' && $functionMapping) {
switch(true) {
case $GLOBALS['TYPO3_DB']->runningADOdbDriver('oci8'):
// Oracle only knows BITAND(x,y) - sigh
......
include_once($TYPO3_CONF_VARS[TYPO3_MODE]['XCLASS']['ext/dbal/class.ux_t3lib_sqlparser.php']);
}
?>
?>
(1-1/3)