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);
|