Bug #25878
closedProblem with strings in WHERE clause on Oracle databases
0%
Description
Hello,
we discovered a problem with strings in WHERE clauses. They are enclosed by double qoutes which Oracle uses as an identifier not as a string value. This string values should be enclosed by single qoutes.
The following Oracle error message appeared when using the workspace functionality and publishing a content element:
ORA-00904: "sys_workspace": invalid identifier: SELECT * FROM "sys_workspace_stage" WHERE "parentid" = 22 AND "parenttable" = "sys_workspace" AND "deleted" = 0 ORDER BY "sorting"
This string "parenttable" = "sys_workspace" causes the problem.
Updated by Xavier Perseguers over 13 years ago
- Status changed from New to Accepted
This is a bug in extension workspaces.
In the meantime, you should change file Classes/Service/Stages.php around lines 125-140 to read:
if ($workspaceRec['custom_stages'] > 0) { // Get all stage records for this workspace $workspaceStageRecs = $GLOBALS['TYPO3_DB']->exec_SELECTgetRows( '*', self::TABLE_STAGE, 'parentid=' . $this->getWorkspaceId() . ' AND parenttable=' . $GLOBALS['TYPO3_DB']->fullQuoteStr('sys_workspace', self::TABLE_STAGE) . ' AND deleted = 0', '', 'sorting', '', 'uid' ); foreach($workspaceStageRecs as $stage) { $stage['title'] = $GLOBALS['LANG']->sL($this->pathToLocallang . ':actionSendToStage') . ' "' . $stage['title'] . '"'; $stages[] = $stage; } }
Updated by Xavier Perseguers over 13 years ago
- Status changed from Accepted to Closed
Problem will be tackled with with related issue, in extension workspaces.
Updated by Michael Stucki almost 11 years ago
- Project changed from 329 to TYPO3 Core
- Category deleted (
Oracle)