From: <one...@us...> - 2003-03-02 12:58:55
|
Update of /cvsroot/hibernate/Hibernate2/src/net/sf/hibernate/hql In directory sc8-pr-cvs1:/tmp/cvs-serv6342/hibernate/hql Modified Files: FromParser.java Log Message: minor adjustments to new QL syntax Index: FromParser.java =================================================================== RCS file: /cvsroot/hibernate/Hibernate2/src/net/sf/hibernate/hql/FromParser.java,v retrieving revision 1.9 retrieving revision 1.10 diff -C2 -d -r1.9 -r1.10 *** FromParser.java 1 Mar 2003 06:14:10 -0000 1.9 --- FromParser.java 2 Mar 2003 12:58:52 -0000 1.10 *************** *** 49,54 **** } else if ( lcToken.equals("join") ) { ! if (!afterJoinType) throw new QueryException("unexpected token: join"); ! afterJoinType = false; } else if ( joinTypes.containsKey(lcToken) ) { --- 49,67 ---- } else if ( lcToken.equals("join") ) { ! if (!afterJoinType) { ! if (!expectingJoin) throw new QueryException("unexpected token: join"); ! // inner joins can be abbreviated to 'join' ! joinType = JoinFragment.INNER_JOIN; ! expectingJoin = false; ! } ! else { ! afterJoinType = false; ! } ! } ! else if ( lcToken.equals("outer") ) { ! // 'outer' is optional and is ignored ! if ( !afterJoinType || ! (joinType!=JoinFragment.LEFT_OUTER_JOIN && joinType!=JoinFragment.RIGHT_OUTER_JOIN) ! ) throw new QueryException("unexpected token: outer"); } else if ( joinTypes.containsKey(lcToken) ) { *************** *** 157,162 **** // starts with a path expression (new style) ! if (joinType==NONE) throw new QueryException("path expression must be preceded by full, left, right or inner join"); ! /*if (joinType!=NONE) */peParser.setJoinType(joinType); ParserHelper.parse(peParser, q.unalias(token), ParserHelper.PATH_SEPARATORS, q); --- 170,178 ---- // starts with a path expression (new style) ! // force HQL style: from Person p inner join p.cars c ! //if (joinType==NONE) throw new QueryException("path expression must be preceded by full, left, right or inner join"); ! ! //allow ODMG OQL style: from Person p, p.cars c ! if (joinType!=NONE) peParser.setJoinType(joinType); ParserHelper.parse(peParser, q.unalias(token), ParserHelper.PATH_SEPARATORS, q); |