Bugs item #516835, was opened at 2002-02-13 00:27
You can respond by visiting: 
http://sourceforge.net/tracker/?func=detail&atid=376685&aid=516835&group_id=22866

Category: JBossCMP
Group: v3.0 Rabbit Hole
Status: Open
Resolution: Accepted
Priority: 5
Submitted By: Georg Schmid (giorgio42)
Assigned to: Dain Sundstrom (dsundstrom)
Summary: pk constraint name too long

Initial Comment:

RH 20020212, W2K, Oracle 8.1.7.

Supplying a broken jbosscmp-jdbc.xml reveals,
that the CMP pk constraint name generation code does
not take into account the maximum identifier length
allowed by the underlying data source.

It seems as if EB and pk field names are simply
concatenated without looking at the length of the
generated identifier.


Georg

----------------------------------------------------------------------

>Comment By: Georg Schmid (giorgio42)
Date: 2002-02-27 08:15

Message:
Logged In: YES 
user_id=437570


I already know several places where I can
put the great new EJB-QL compiler and its "order by" 
capability to good use :), but in the meantime...

>From the following custom finder query (two String params):

        <ejb-ql>
          select object(schedule)
            from ScheduleTable schedule,
                 IN(schedule.equipments) equipments
           where schedule.maintenance.id = ?1
             and equipments.id = ?2
        </ejb-ql>

the following SELECT is generated (slightly formatted):

SELECT t0_schedule.ID
  FROM SCHEDULE t0_schedule,
  EQUIPMENT t2_equipments,
  MAINTENANCE t1_schedule_maintenance
 WHERE t1_schedule_maintenance.ID = ?
   AND t2_equipments.ID = ?
   AND (t0_schedule.FK_MAINTENANCE_ID=t1_schedule_maintenance.ID
        AND
t0_schedule.ID=t3_schedule_equipments_RELATION_.FK_SCHEDULE_ID
        AND
t2_equipments.ID=t3_schedule_equipments_RELATION_.FK_EQUIPMENT_ID)

Two problems:

- the identifier 
t3_schedule_equipments_RELATION_ is too long (Oracle error
ORA-00972). 
- this identifier is missing in the FROM clause (that's
a different bug).

This query worked until yesterday.

So if this alias name is shortened to something Oracle
is able to handle, the semantic checker will complain.

I guess, in general the length of relationship table alias 
name should be less than
 max(length(ATableName), length(BTableName)) 
(or <= max(length(A_AbstractSchema),length(B_AbstractSchema)))
to be on the safe side.

Georg


----------------------------------------------------------------------

You can respond by visiting: 
http://sourceforge.net/tracker/?func=detail&atid=376685&aid=516835&group_id=22866

_______________________________________________
Jboss-development mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/jboss-development

Reply via email to