Skip to Main Content

APEX

Announcement

For appeals, questions and feedback about Oracle Forums, please email oracle-forums-moderators_us@oracle.com. Technical questions should be asked in the appropriate category. Thank you!

BUG: wrong max Size on VARCHAR2-Columns with VARCHAR2(10 CHAR)

TomK+Dec 21 2023 — edited Dec 22 2023

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:

  1. 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
  2. Change Form Region Type to “Table/View” and Table Name = LENGTH_TEST
    Save
    Item PX_COL_CHAR has still wrong Max Length = 40
  3. 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!

Comments
Post Details
Added on Dec 21 2023
2 comments
549 views