Bug 122946 - Add Categories causes Oracle error due to "categorySubtree_parents@link.s0"
Add Categories causes Oracle error due to "categorySubtree_parents@link.s0"
Status: CLOSED DUPLICATE of bug 119466
Product: Red Hat Enterprise CMS
Classification: Retired
Component: content types (Show other bugs)
All Linux
medium Severity high
: ---
: ---
Assigned To: ccm-bugs-list
Depends On:
  Show dependency treegraph
Reported: 2004-05-10 13:30 EDT by Martin
Modified: 2007-04-18 13:07 EDT (History)
0 users

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Last Closed: 2006-02-21 14:03:10 EST
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---

Attachments (Terms of Use)

  None (edit)
Description Martin 2004-05-10 13:30:54 EDT
Description of problem:
The identifier "categorySubtree_parents@link.s0" is 31 characters 
long and causes "ORA-00972: identifier is too long".

Oracle schema object names must not exceed 30 characters.

Version-Release number of selected component (if applicable):
CMS 6.1

How reproducible:
Click "Assign Categories"/"Add Categories" for any item when using  
an Oracle database

Actual results:
java.sql.SQLException: ORA-00972: identifier is too long

        at oracle.jdbc.dbaccess.DBError.throwSqlException
        at oracle.jdbc.oci8.OCIDBAccess.check_error
        at oracle.jdbc.oci8.OCIDBAccess.parseExecuteDescribe
        at oracle.jdbc.driver.OracleStatement.doExecuteQuery
        at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout
        at oracle.jdbc.driver.OraclePreparedStatement.executeUpdate
        at oracle.jdbc.driver.OraclePreparedStatement.execute
        at com.redhat.persistence.engine.rdbms.RDBMSEngine.execute
        at com.redhat.persistence.engine.rdbms.RDBMSEngine.execute
        at com.redhat.persistence.engine.rdbms.RDBMSEngine.execute
        at com.redhat.persistence.Cursor.execute(Cursor.java:131)
        at com.redhat.persistence.Cursor.next(Cursor.java:115)
        at com.arsdigita.persistence.DataQueryImpl.next
        at com.arsdigita.persistence.DataQueryDecorator.next
        at com.arsdigita.domain.DomainQuery.next(DomainQuery.java:94)
        at com.arsdigita.bebop.form.Widget.generateXML
        at com.arsdigita.bebop.BoxPanel.generateXML(BoxPanel.java:119)
        at com.arsdigita.bebop.Form.generateXMLSansState
        at com.arsdigita.bebop.Form.generateXML(Form.java:194)
        at com.arsdigita.bebop.SimpleContainer.generateChildrenXML
        at com.arsdigita.bebop.SimpleContainer.generateXML
        at com.arsdigita.bebop.SimpleContainer.generateChildrenXML
        at com.arsdigita.bebop.SimpleContainer.generateXML
        at com.arsdigita.bebop.SimpleContainer.generateChildrenXML
        at com.arsdigita.bebop.SimpleContainer.generateXML
        at com.arsdigita.toolbox.ui.ModalPanel.generateXML
        at com.arsdigita.toolbox.ui.LayoutPanel.section
        at com.arsdigita.toolbox.ui.LayoutPanel.generateXML
        at com.arsdigita.cms.ui.authoring.WizardSelector.generateXML
        at com.arsdigita.bebop.TabbedPane.generateXML
        at com.arsdigita.bebop.SimpleContainer.generateChildrenXML
        at com.arsdigita.bebop.SimpleContainer.generateXML
        at com.arsdigita.bebop.Page.generateXML(Page.java:642)

The query generated is :
select t6.sort_key as "categorySubtree_parents@link.s0",
       t6.related_category_id as "categorySubtree_parents@link.1",
       t56.object_type as "categorySubtree_parents@link.2",
       t6.category_id as "categorySubtree_parents@link.3",
       t65.object_type as  "categorySubtree_parents@link.4",
       t6.default_p as     "categorySubtree_parents@link.5",
       t6.relation_type as "categorySubtree_parents@link.6",
       t20.category_id as  "categorySubtree_parents.id",
       t65.object_type as  "categorySubtree_parents.objec8",
       t65.display_name as 		
       t65.default_domain_class as  "categorySubtree_parents.defa10",
       t2.category_id as "this.categorySubtree.id",
       t2.object_type as "this.categorySubtree.objectT12",
       t2.default_ancestors as "this.categorySubtree.default13",
       t2.abstract_p as "this.categorySubtree.isAbstr14",
       t2.enabled_p as "this.categorySubtree.isEnabled",
       t2.description as "this.categorySubtree.descrip16",
       t2.name as "this.categorySubtree.name",
       t2.default_domain_class as "this.categorySubtree.default18",
       t20.description as "categorySubtree_parents.desc19",
       t20.name as "categorySubtree_parents.name",
       t20.url as "categorySubtree_parents.url",
       t20.enabled_p as "categorySubtree_parents.isEn22",
       t20.abstract_p as "categorySubtree_parents.isAb23",
       t20.default_ancestors as "categorySubtree_parents.defa24"
from (
        select cat_categories.category_id, name, description, 
               abstract_p, object_type, default_domain_class,
          from acs_objects,
               cat_cat_subcat_trans_index trans
         where acs_objects.object_id = cat_categories.category_id
           and trans.category_id = ?
           and trans.subcategory_id = cat_categories.category_id) t2
join cat_category_category_map t6
join acs_objects t56 on t6.related_category_id = t56.object_id
join acs_objects t65 on t6.category_id = t65.object_id on 
t2.category_id = t6.related_category_id
join cat_categories t20 on t20.category_id = t65.object_id
where t20.category_id = t6.category_id and t6.category_id = 
Comment 1 Archit Shah 2004-05-11 09:55:07 EDT
This looks like a duplicate of bug 119466. Is this occurring on the
latest nightly builds, old nightly builds, or 6.1.0 release?
Comment 2 Martin 2004-05-11 10:09:04 EDT
Hi Archit,

I am using the APLAWS release jars which I believe are similar to 6.1.

Yes, I agree that the symptons are similar and it could be the same 

Is it safe to get a nightly build now or has work already started on 


Comment 3 Daniel Berrange 2004-05-11 10:15:25 EDT
Yes, this bug is present in the APLAWS release. I posted a workaround
to the aplaws-devel mailing list a few weeks back which I reproduce here:

Unfortunately this is a bug that crept into persistence when running
on Oracle. Identifiers in Oracle are limited to 31 characters, and in
some circumstances the generated queries exceeded this limit. See


To get around this problem, you'll need an updated copy of the
clas file com/redhat/persistence/Signature.class which I've put
up at


You'll need to modify the file /usr/share/java/ccm-core-6.1.0.jar
and replace the Signature.class, then re-run 'ccm hostinit-bundle'
with same argments as before, but also appending '--clean'.

NB, PostgreSQL is unaffected by this bug since it doesn't have such
stupidly small limits as Oracle.

*** This bug has been marked as a duplicate of 119466 ***
Comment 4 Red Hat Bugzilla 2006-02-21 14:03:10 EST
Changed to 'CLOSED' state since 'RESOLVED' has been deprecated.

Note You need to log in before you can comment on or make changes to this bug.