-
Bug Report
-
Resolution: Fixed
-
L3 - Default
-
7.7.x, 7.8.0-alpha3
On oracle there is a limitation of maximum number of expressions in a list,
which means it is not possible to have a IN expression with more then 1000 entries.
Workaround would be to split the IN Expression and combine them with an or OR use a
https://stackoverflow.com/questions/17842453/is-there-a-workaround-for-ora-01795-maximum-number-of-expressions-in-a-list-is
Or to delete in batches.
The specific bug on the engine is to delete a deployment that contains for example a decision definition with more than 1000 historic decision instances.
This bug exist also for normal activity instances, case instances etc.
Executing:
<delete id="deleteHistoricDecisionInputInstanceByteArraysByDecisionInstanceIds"> delete from ${prefix}ACT_GE_BYTEARRAY where ID_ in (select distinct BYTEARRAY_ID_ from ${prefix}ACT_HI_DEC_IN where DEC_INST_ID_ in <foreach item="decisionInstanceId" index="index" collection="list" open="(" separator="," close=")"> #{decisionInstanceId} </foreach> and BYTEARRAY_ID_ is not NULL) </delete>
Results in ORA-01795: maximum number of expressions in a list is 1000.
Maybe it is possible to avoid the IN expressions in general.
Note: We have to fix all deleteHistoric*By*Ids statements which contains IN expressions
This is the controller panel for Smart Panels app
- is duplicated by
-
CAM-7665 Unable to delete deployment
- Closed