From: Paul H. <pha...@us...> - 2005-03-14 18:52:46
|
Update of /cvsroot/nhibernate/nhibernate/src/NHibernate/Hql In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv6677/nhibernate/src/NHibernate/Hql Modified Files: QueryTranslator.cs WhereParser.cs Log Message: Refactored as per 2.1 Index: WhereParser.cs =================================================================== RCS file: /cvsroot/nhibernate/nhibernate/src/NHibernate/Hql/WhereParser.cs,v retrieving revision 1.29 retrieving revision 1.30 diff -C2 -d -r1.29 -r1.30 *** WhereParser.cs 1 Mar 2005 16:24:46 -0000 1.29 --- WhereParser.cs 14 Mar 2005 18:52:35 -0000 1.30 *************** *** 462,465 **** --- 462,466 ---- if( persister != null ) // the name of a class { + // TODO: 2.1 - Use DiscriminatorSQLValue and compare to null/not null rather than DiscriminatorSQLString AppendToken( q, persister.DiscriminatorSQLString ); } Index: QueryTranslator.cs =================================================================== RCS file: /cvsroot/nhibernate/nhibernate/src/NHibernate/Hql/QueryTranslator.cs,v retrieving revision 1.55 retrieving revision 1.56 diff -C2 -d -r1.55 -r1.56 *** QueryTranslator.cs 1 Mar 2005 16:24:46 -0000 1.55 --- QueryTranslator.cs 14 Mar 2005 18:52:35 -0000 1.56 *************** *** 204,207 **** --- 204,213 ---- /// <summary></summary> + protected override int[] Owners + { + get { return owners; } + } + + /// <summary></summary> protected bool HasScalarValues { *************** *** 813,818 **** if( CollectionPersister != null ) { ! sql.AddSelectFragmentString( ((CollectionPersister) collectionPersister).MultiselectClauseFragment( fetchName ) ); ! //sql.AddSelectFragmentString( collectionPersister.SelectFragment( fetchName ) ); } if( hasScalars || shallowQuery ) --- 819,823 ---- if( CollectionPersister != null ) { ! sql.AddSelectFragmentString( collectionPersister.SelectFragment( fetchName ) ); } if( hasScalars || shallowQuery ) *************** *** 954,957 **** --- 959,963 ---- int c = 0; bool nolast = false; //real hacky... + int parenCount = 0; // used to count the nesting of parentheses foreach( object next in scalarSelectTokens ) { *************** *** 960,964 **** string token = ( string ) next; string lc = token.ToLower(); ! if( lc.Equals( StringHelper.CommaSpace ) ) { if( nolast ) --- 966,979 ---- string token = ( string ) next; string lc = token.ToLower(); ! ! if( StringHelper.OpenParen.Equals( token ) ) ! { ! parenCount++; ! } ! else if( StringHelper.ClosedParen.Equals( token ) ) ! { ! parenCount--; ! } ! else if( lc.Equals( StringHelper.CommaSpace ) ) { if( nolast ) *************** *** 968,972 **** else { ! if( !isSubselect ) { buf.Append( " as " ).Append( ScalarName( c++, 0 ) ); --- 983,987 ---- else { ! if( !isSubselect && parenCount == 0 ) { buf.Append( " as " ).Append( ScalarName( c++, 0 ) ); *************** *** 974,977 **** --- 989,993 ---- } } + buf.Append( token ); if( lc.Equals( "distinct" ) || lc.Equals( "all" ) ) *************** *** 1254,1257 **** --- 1270,1285 ---- /// /// </summary> + /// <param name="session"></param> + /// <param name="queryParameters"></param> + /// <returns></returns> + public IList List( ISessionImplementor session, QueryParameters queryParameters ) + { + LogQuery( queryString, sqlString.ToString() ); + return List( session, queryParameters, QuerySpaces, actualReturnTypes ); + } + + /// <summary> + /// + /// </summary> /// <param name="parameters"></param> /// <param name="session"></param> *************** *** 1261,1265 **** SqlString sqlWithLock = ApplyLocks( SqlString, parameters.LockModes, session.Factory.Dialect ); ! IDbCommand st = PrepareCommand( sqlWithLock, parameters, false, session ); --- 1289,1293 ---- SqlString sqlWithLock = ApplyLocks( SqlString, parameters.LockModes, session.Factory.Dialect ); ! IDbCommand st = PrepareQueryCommand( sqlWithLock, parameters, false, session ); *************** *** 1411,1414 **** --- 1439,1443 ---- + /* /// <summary> /// *************** *** 1422,1425 **** --- 1451,1455 ---- return base.Find( session, parameters, returnProxies ); } + */ /// <summary> *************** *** 1581,1585 **** } ! return sql.Append( updateClause.ToSqlStringFragment() ); } else --- 1611,1615 ---- } ! return sql.Append( updateClause.ToSqlStringFragment( dialect ) ); } else *************** *** 1647,1651 **** /// namedParams parameters. /// </remarks> ! protected override IDbCommand PrepareCommand( SqlString sqlString, QueryParameters parameters, bool scroll, ISessionImplementor session ) { lock( prepareCommandLock ) --- 1677,1681 ---- /// namedParams parameters. /// </remarks> ! protected override IDbCommand PrepareQueryCommand( SqlString sqlString, QueryParameters parameters, bool scroll, ISessionImplementor session ) { lock( prepareCommandLock ) *************** *** 1760,1764 **** } ! return base.PrepareCommand( this.sqlString, parameters, scroll, session ); } } --- 1790,1794 ---- } ! return base.PrepareQueryCommand( this.sqlString, parameters, scroll, session ); } } |