Realtime syntax checker incorrect - v17.1, Oracle 19.20

Toad for Oracle Base Edition (32-bit)
17.1.717.3711
Oracle Database 19c Standard Edition 2, 19.20.0.0.0

The real time syntax checker gives incorrect error hints. Some examples:

select json_serialize('{}' returning clob pretty error on error) js
from dual;

Doesn't like "error on error"

Conditional compilation causes exception blocks to give incorrect error:

create or replace package P_Test is

$IF DBMS_DB_VERSION.VER_LE_11 $THEN
IS_11 constant boolean := True;
$ELSIF DBMS_DB_VERSION.VER_LE_12_1 $THEN
IS_11 constant boolean := False;
$ELSE
-- Exception stuff
C_MY_EXCEPTION constant integer := -20181;
MY_EXCEPTION EXCEPTION;
PRAGMA EXCEPTION_INIT(MY_EXCEPTION, -20181 /*C_MY_EXCEPTION*/);

$end

end;
/

Doesn't like PRAGMA EXCEPTION_INIT

Doesn't like columns of type "integer" in json_table :

select *
from json_table (
  '{"test":1}',
  '$'
  columns (
    test integer path '$.test'
)

Hello Paul,

The first two examples are reproducible, but the last one seems to miss a closing parenthesis, could that be?

Thanks,
Andre

Hi Andre

Thanks for replying. That was me copy pasting. Add the missing ), you still get a syntax error on "integer".

Regards
Paul

Then I'm getting an OK. What version would your component QP5.dll happen to have?

image