During module installation an error occured when following triggers are created:
TRG_ACL_ACL_ID
TRG_acl_DEFS

The installation generates error ORA-06552: PL/SQL: Compilation Unit Analysis Terminated

The reason seems to be the table "ACL" uses Oracle reserved words "NAME" and "NUMBER"

A turnaround is to NOT create these 2 columns during installation. The 2 columns and the corresponding indexes can be created afterward with a SQL tool (e.g. SQLDeveloper)

Comments

salvis’s picture

Thank you for reporting this!

I'm puzzled — what you describe seems like a failure to quote the column names in the CREATE TABLE SQL statement that is generated by the Oracle SQL driver. Can you confirm this?

minoroffense’s picture

We're using the ACL module on Oracle 11g. We discovered the Oracle database drive doesn't escape reserved words. There was an attempt to get this working but it broke other stuff.

We have a patch to mostly fix db_select, db_insert, db_delete and db_update which we'll post to the Oracle project.

Once that's up, I'll post here so you can give it another shot. I'm not sure if db_* covers how db_create_table or db_add_field go about creating tables.

There are other issues with using ACL and Oracle (namely db_query and Oracle don't get along at all) so converting those calls to db_select may be required as well to get this to function properly with ACL right now (until db_query is fixed in Oracle).

salvis’s picture

Status: Active » Closed (duplicate)

Closing this (even though it's older) because #1538564: Use db_select() in place of db_query() to work with Oracle DB driver. has a patch.

Please check out the other issue.