When analyzed script have nested joins, like the code below, the analysis get too slow and sonar cant finish.
OPEN l_cursor FOR SELECT "E_BILL_PAYMENT"."AMOUNT" "event_am", "EVENTT"."CURRENCY" "event_currency",
"EV_BILL_CHARGE"."COUNTRY" "event_country", "ACCOUNT_T"."POID_ID0" "account_POID_IDO", "ACCOUNT_T"."ACCOUNT_NO" "account_account_NO",
"E_BILL_PAYMENT"."TRANS_ID" "EVENTTRANS_ID", "EV_BILL_CHARGE"."NAME" "event_name",
"EV_BILL_CHARGE"."DEBIT_NUM" "event_DEBIT_NUM", "EVENT_BILL_PAYMEN"."RESULT" "event_result",
"EV_BILL_CHARGE"."STATE" "event_state", "ACCOUNT_T"."STATUS" "account_status",
"E_BILL_PAYMENT"."COMMAND" "event_command", "EVENTT"."END_T" "event_ENT_T", "ACCOUNT_T"."POID_DB" "account_POID_DB",
"CONF_BEID_BALANCES"."NAME" "config_name"
FROM
(((("EVENTT" "EVENTT" INNER JOIN "EVENT_BILL_PAYMEN" "EVENT_BILL_PAYMEN" ON "EVENTT"."POID_ID0"="EVENT_BILL_PAYMEN"."OBJ_ID0")
INNER JOIN "E_BILL_PAYMENT" "E_BILL_PAYMENT" ON "EVENTT"."POID_ID0"="E_BILL_PAYMENT"."OBJ_ID0")
INNER JOIN "ACCOUNT_T" "ACCOUNT_T" ON "EVENTT"."ACCOUNT_OBJ_ID0"="ACCOUNT_T"."POID_ID0")
INNER JOIN "EV_BILL_CHARGE" "EV_BILL_CHARGE" ON "E_BILL_PAYMENT"."TRANS_ID"="EV_BILL_CHARGE"."TRANS_ID")
INNER JOIN "EV_BILL_CHARGE" "EV_BILL_CHARGE" ON "EV_BILL_CHARGE"."OBJ_ID0"="EV_BILL_CHARGE"."OBJ_ID0"
INNER JOIN "CONF_BEID_BALANCES" ON "EVENTT"."CURRENCY" = "CONF_BEID_BALANCES"."REC_ID"
WHERE
"ACCOUNT_T"."POID_DB">0
AND "EV_BILL_CHARGE"."COUNTRY" LIKE NVL(pCountry, "EV_BILL_CHARGE"."COUNTRY")
AND "EV_BILL_CHARGE"."STATE" LIKE NVL(pState,"EV_BILL_CHARGE"."STATE")
AND ("ACCOUNT_T"."STATUS">= NVL(pAccountStatus,10100)
AND "ACCOUNT_T"."STATUS"<= NVL(pAccountStatus,10103))
AND ( BIPEXT.INFCHECKDATES(pStartDate, pEndDate) = 1
AND ("EVENTT"."END_T" >= BIPEXT.infStrToTimet(pStartDate, 2) AND "EVENTT"."END_T" <= BIPEXT.infStrToTimet(pEndDate,2)-1))
AND "EVENT_BILL_PAYMEN"."RESULT"=0 AND "E_BILL_PAYMENT"."COMMAND"<>5
AND "ACCOUNT_T"."POID_ID0">1
ORDER BY "EVENTT"."CURRENCY", "EV_BILL_CHARGE"."COUNTRY", "ACCOUNT_T"."POID_ID0", "E_BILL_PAYMENT"."TRANS_ID";
END IF;
When analyzed script have nested joins, like the code below, the analysis get too slow and sonar cant finish.
OPEN l_cursor FOR SELECT "E_BILL_PAYMENT"."AMOUNT" "event_am", "EVENTT"."CURRENCY" "event_currency", "EV_BILL_CHARGE"."COUNTRY" "event_country", "ACCOUNT_T"."POID_ID0" "account_POID_IDO", "ACCOUNT_T"."ACCOUNT_NO" "account_account_NO", "E_BILL_PAYMENT"."TRANS_ID" "EVENTTRANS_ID", "EV_BILL_CHARGE"."NAME" "event_name", "EV_BILL_CHARGE"."DEBIT_NUM" "event_DEBIT_NUM", "EVENT_BILL_PAYMEN"."RESULT" "event_result", "EV_BILL_CHARGE"."STATE" "event_state", "ACCOUNT_T"."STATUS" "account_status", "E_BILL_PAYMENT"."COMMAND" "event_command", "EVENTT"."END_T" "event_ENT_T", "ACCOUNT_T"."POID_DB" "account_POID_DB", "CONF_BEID_BALANCES"."NAME" "config_name" FROM (((("EVENTT" "EVENTT" INNER JOIN "EVENT_BILL_PAYMEN" "EVENT_BILL_PAYMEN" ON "EVENTT"."POID_ID0"="EVENT_BILL_PAYMEN"."OBJ_ID0") INNER JOIN "E_BILL_PAYMENT" "E_BILL_PAYMENT" ON "EVENTT"."POID_ID0"="E_BILL_PAYMENT"."OBJ_ID0") INNER JOIN "ACCOUNT_T" "ACCOUNT_T" ON "EVENTT"."ACCOUNT_OBJ_ID0"="ACCOUNT_T"."POID_ID0") INNER JOIN "EV_BILL_CHARGE" "EV_BILL_CHARGE" ON "E_BILL_PAYMENT"."TRANS_ID"="EV_BILL_CHARGE"."TRANS_ID") INNER JOIN "EV_BILL_CHARGE" "EV_BILL_CHARGE" ON "EV_BILL_CHARGE"."OBJ_ID0"="EV_BILL_CHARGE"."OBJ_ID0" INNER JOIN "CONF_BEID_BALANCES" ON "EVENTT"."CURRENCY" = "CONF_BEID_BALANCES"."REC_ID" WHERE "ACCOUNT_T"."POID_DB">0 AND "EV_BILL_CHARGE"."COUNTRY" LIKE NVL(pCountry, "EV_BILL_CHARGE"."COUNTRY") AND "EV_BILL_CHARGE"."STATE" LIKE NVL(pState,"EV_BILL_CHARGE"."STATE")
AND ("ACCOUNT_T"."STATUS">= NVL(pAccountStatus,10100) AND "ACCOUNT_T"."STATUS"<= NVL(pAccountStatus,10103)) AND ( BIPEXT.INFCHECKDATES(pStartDate, pEndDate) = 1 AND ("EVENTT"."END_T" >= BIPEXT.infStrToTimet(pStartDate, 2) AND "EVENTT"."END_T" <= BIPEXT.infStrToTimet(pEndDate,2)-1)) AND "EVENT_BILL_PAYMEN"."RESULT"=0 AND "E_BILL_PAYMENT"."COMMAND"<>5 AND "ACCOUNT_T"."POID_ID0">1 ORDER BY "EVENTT"."CURRENCY", "EV_BILL_CHARGE"."COUNTRY", "ACCOUNT_T"."POID_ID0", "E_BILL_PAYMENT"."TRANS_ID"; END IF;