Tuesday, December 11, 2007

Apex Enhancement Request Included

Got a real buzz today when I saw my feedback on Apex 3.1 beta made it into the product as an enhancement.


Here's the original feedback:
Hi Guys

Got the following error:


ORA-20001: get_report error ORA-20001: get_dbms_sql_cursor error
ORA-01445: cannot select ROWID from, or sample, a join view without a key-preserved table
l_query=
select rowid as apxws_row_pk, TABLE_NAME, COLUMN_NAME , count(*) over () apxws_row_cnt

from ( select * from (select table_name, column_name from user_tab_columns) r ) r

where rownum <= to_number(:APXWS_MAX_ROW_CNT) order by rowid


Obviously it's currently looking for rowid, which seems an unnecessary restriction.

You may want rowid for full CRUD functionality, but often you only want read functionality.

And anyway couldn't you get the developer to nominate a single column as the primary key in the report attributes?

Why not replace your current query wrapper with something like this:

select apxws_row_pk, TABLE_NAME, COLUMN_NAME , count(*) over () apxws_row_cnt
from ( select rownum apxws_row_pk, r.* from (select table_name, column_name from user_tab_columns) r ) r
where rownum <= to_number(:APXWS_MAX_ROW_CNT) order by apxws_row_pk

Apart from that, all the additional functionality of interactive reports looks great.

I'll be upgrading and converting by reports as soon as possible.

Regards

Mark



Response

Mark,

Your suggestion has been logged as an enhancement request.

Regards,

David

1 comment:

David Peake said...

Mark,

Could you please email me to have your blog added to our Community and Partners page.

Regards,
David Peake
Product Manager
Oracle Application Express
david.peake@oracle.com