Formatting PL/SQL does not work when COLLATE keyword is used in the code.
The issue is when using collate. For example:
Create the table below
CREATE TABLE testcollate
(
test VARCHAR2 (30)
);
/* Formatted on 15-Sep-2021 10:19:27 (QP5 v5.336) */
And then try to format this query with sql nav:
SELECT *
FROM testcollate d
ORDER BY d.test COLLATE BINARY_AI
SQL Navigator returns
10:19:27 Start Format Text ...
10:19:27 ERROR: line 10, column 17, ending line 10, column 23: Found 'COLLATE': Expecting: end-of-input -or- FETCH FOR OFFSET -or- , -or- NULLS -or- ASC DESC -or- + - | || -or- * / MOD REMAINDER -or- ** -or- (+) AT DAY MULTISET YEAR -or- % . -or- OVER -or- ( @ [
10:19:28 Format complete with syntax errors.
10:19:28 End Format Text