
|
If you were logged in you would be able to see more operations.
|
|
|
|
When running AbstractFunctionalWorkflowTest test case using Oracle database, the following code :
// --------------------------- empty nested query : AND
// ---------------------------------
Expression queryLeft = new FieldExpression(FieldExpression.OWNER, FieldExpression.CURRENT_STEPS, FieldExpression.EQUALS, USER_TEST);
Expression queryRight = new FieldExpression(FieldExpression.STATUS, FieldExpression.CURRENT_STEPS, FieldExpression.EQUALS, "Finished");
query = new WorkflowExpressionQuery(new NestedExpression(new Expression[] {queryLeft, queryRight}, NestedExpression.AND));
workflows = workflow.query(query);
fails with the exception:
com.opensymphony.workflow.StoreException: SQL Exception in query: ORA-00933: SQL command not properly ended
at com.opensymphony.workflow.spi.jdbc.JDBCWorkflowStore.doExpressionQuery(JDBCWorkflowStore.java:1197)
at com.opensymphony.workflow.spi.jdbc.JDBCWorkflowStore.query(JDBCWorkflowStore.java:621)
the query used is:
SELECT DISTINCT (a1.ENTRY_ID) AS retrieved FROM OS_CURRENTSTEP AS a1 , OS_CURRENTSTEP AS a2
WHERE a1.ENTRY_ID = a1.ENTRY_ID AND a1.ENTRY_ID = a2.ENTRY_ID AND ( a1.OWNER = 'test' AND a2.STATUS = 'Finished' )
This is because AS token is not supported in table reference (FROM) by Oracle.
|
|
Description
|
When running AbstractFunctionalWorkflowTest test case using Oracle database, the following code :
// --------------------------- empty nested query : AND
// ---------------------------------
Expression queryLeft = new FieldExpression(FieldExpression.OWNER, FieldExpression.CURRENT_STEPS, FieldExpression.EQUALS, USER_TEST);
Expression queryRight = new FieldExpression(FieldExpression.STATUS, FieldExpression.CURRENT_STEPS, FieldExpression.EQUALS, "Finished");
query = new WorkflowExpressionQuery(new NestedExpression(new Expression[] {queryLeft, queryRight}, NestedExpression.AND));
workflows = workflow.query(query);
fails with the exception:
com.opensymphony.workflow.StoreException: SQL Exception in query: ORA-00933: SQL command not properly ended
at com.opensymphony.workflow.spi.jdbc.JDBCWorkflowStore.doExpressionQuery(JDBCWorkflowStore.java:1197)
at com.opensymphony.workflow.spi.jdbc.JDBCWorkflowStore.query(JDBCWorkflowStore.java:621)
the query used is:
SELECT DISTINCT (a1.ENTRY_ID) AS retrieved FROM OS_CURRENTSTEP AS a1 , OS_CURRENTSTEP AS a2
WHERE a1.ENTRY_ID = a1.ENTRY_ID AND a1.ENTRY_ID = a2.ENTRY_ID AND ( a1.OWNER = 'test' AND a2.STATUS = 'Finished' )
This is because AS token is not supported in table reference (FROM) by Oracle. |
Show » |
|
- removing AS token from the query (FROM table AS a1)
The previous code was already SQL standard but fails with Oracle RDBM.
The modified code works with Oracle, Postgres, MySQL and i think will continue to work with other RDBMs.