Hello,
We are affected by a bug regarding varchar2-columns that were created with length qualifier CHAR (see https://docs.oracle.com/en/database/oracle/oracle-database/19/sqlrf/Data-Types.html#GUID-0DC7FFAA-F03F-4448-8487-F2592496A510). Form items on this columns get the wrong Maximum Length value (4 times higher) when Type != “Table/View”.
Can be reproduced on oracle.apex.com (APEX 23.2.1)
CREATE TABLE LENGTH_TEST
( COL_BYTES VARCHAR2(10 BYTES),
COL_CHAR VARCHAR2(10 CHAR)
) ;
In APEX:
- Create Region , Type = Form
Source = SQL Query
SQL Query = select COL_BYTES, COL_CHAR from LENGTH_TEST
Save
Item PX_COL_BYTES has correct Maximum Length = 10
Item PX_COL_CHAR has wrong Max Length = 40
- Change Form Region Type to “Table/View” and Table Name = LENGTH_TEST
Save
Item PX_COL_CHAR has still wrong Max Length = 40
- Delete the Form Region, save the page and Create Region , Type = Form
Source: Type = Table/view
Table Name = LENGTH_TEST
Save
Item PX_COL_CHAR has correct Max Length = 10
Same Issue with Interactive Grid.
The Column created with 10 BYTES has always the correct max size. Default length qualifier is BYTES, but in my DB all columns uses CHAR to provide the correct handling of multibytes characters like üö…
Unfortunatly we mostly use Source = “SQL Query”. So we have a lot of wrong max sizes that we must correct manually and that will fall back to the wrong size at times when we change the query.
Please confirm and fix,
Thanks!