Bugs item #551533, was opened at 2002-05-03 04:40 You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=376685&aid=551533&group_id=22866
Category: JBossCMP Group: v3.0 Rabbit Hole Status: Open Resolution: Accepted Priority: 5 Submitted By: Alexei Guevara (aguevara) Assigned to: Dain Sundstrom (dsundstrom) Summary: EJB-QL - missing in generated SQL Initial Comment: EJB-QL: SELECT DISTINCT OBJECT(r) FROM record r, IN (r.fields) f1, IN (r.fields) f2, IN (r.assns) assn WHERE f1.attrName=?1 AND f1.attrValue=?2 AND f2.attrName=?3 AND f2.attrValue=?4 AND assn.dataSourceName<>?5 GENERATED SQL: SELECT DISTINCT t0_r.id FROM record t0_r, field t1_f1, field t2_f2, datasourcerecordassn t3_assn WHERE t1_f1.attr_name = ? AND t1_f1.attr_value = ? AND t2_f2.attr_name = ? AND t2_f2.attr_value = ? AND t3_assn.ds_name <> ? AND (t0_r.id=t3_assn.record_id AND t0_r.id=t2_f2.record_id) BUG: there is a join missing between t1_f1 and t0_r (t0_r.id=t1_f1.record_id) CORRECT SQL: SELECT DISTINCT t0_r.id FROM record t0_r, field t1_f1, field t2_f2, datasourcerecordassn t3_assn WHERE t1_f1.attr_name = ? AND t1_f1.attr_value = ? AND t2_f2.attr_name = ? AND t2_f2.attr_value = ? AND t3_assn.ds_name <> ? AND (t0_r.id=t3_assn.record_id AND t0_r.id=t2_f2.record_id AND t0_r.id=t1_f1.record_id) ---------------------------------------------------------------------- Comment By: Stephen Coy (scoy) Date: 2002-07-02 08:20 Message: Logged In: YES user_id=463096 It was copy/pasted directly from server.log. Come to think of it, the right paren may have been lost when moving it from the sql client where I was testing it. I restored the '?' from an actual parameter and probably wiped out the parenthesis. Oracle was definitely bitching about the "t6_rs_role". Note that I should have said "is *no* t6_rs_role" below. ---------------------------------------------------------------------- Comment By: Stephen Coy (scoy) Date: 2002-07-02 01:12 Message: Logged In: YES user_id=463096 It was copy/pasted directly from server.log. Come to think of it, the right paren may have been lost when moving it from the sql client where I was testing it. I restored the '?' from an actual parameter and probably wiped out the parenthesis. Oracle was definitely bitching about the "t6_rs_role". Note that I should have said "is *no* t6_rs_role" below. ---------------------------------------------------------------------- Comment By: Dain Sundstrom (dsundstrom) Date: 2002-07-02 00:48 Message: Logged In: YES user_id=251431 Oops. Are you sure that you posted exactally what you are getting? It looks like you are missing a paren in this SQL: WHERE (t1_u.loginId = ? AND t0_p.pcode = ? <RPAREN_MISSING> AND (t1_u.loginId=t2_rs.owneruser AND ---------------------------------------------------------------------- Comment By: Stephen Coy (scoy) Date: 2002-07-01 20:19 Message: Logged In: YES user_id=463096 This fix has broken one of our queries: The ejbql is: select distinct object(p) from User as u, in (u.userRoleSeqs) as rs, in (rs.role.rolePrivs) as p where u.loginId = ?1 and p.pcode = ?2 The generated SQL used to be: SELECT DISTINCT t0_p.pcode, t0_p.description, t0_p.greyOut FROM USERS t1_u, USER_ROLES_SEQ t2_rs, PRIVS t0_p, ROLE_PRIVS t3_rs_role_rolePrivs_RELATION_, ROLES t4_rs_role WHERE (t1_u.loginId = ? AND t0_p.pcode = ?) AND (t2_rs.roleid=t4_rs_role.id AND t4_rs_role.id=t3_rs_role_rolePrivs_RELATION_.roleid AND t0_p.pcode=t3_rs_role_rolePrivs_RELATION_.privcode AND t1_u.loginId=t2_rs.owneruser) and is now: SELECT DISTINCT t0_p.pcode, t0_p.description, t0_p.greyOut FROM USERS t1_u, USER_ROLES_SEQ t2_rs, PRIVS t0_p, ROLE_PRIVS t3_rs_role_rolePrivs_RELATION_ WHERE (t1_u.loginId = ? AND t0_p.pcode = ? AND (t1_u.loginId=t2_rs.owneruser AND t6_rs_role.id=t3_rs_role_rolePrivs_RELATION_.roleid AND t0_p.pcode=t3_rs_role_rolePrivs_RELATION_.privcode AND t2_rs.roleid=t6_rs_role.id) which fails completely because there is t6_rs_role in the FROM clause. The relationships are: Privs *^ | Roles ^ *| UserRoleSeq *^ | Users which hopefully is not mutilated too much when I submit this. ---------------------------------------------------------------------- Comment By: Dain Sundstrom (dsundstrom) Date: 2002-06-27 09:12 Message: Logged In: YES user_id=251431 Fixed in HEAD and Branch_3_0 ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=376685&aid=551533&group_id=22866 ------------------------------------------------------- This sf.net email is sponsored by:ThinkGeek Welcome to geek heaven. http://thinkgeek.com/sf _______________________________________________ Jboss-development mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/jboss-development