From: Peter S. <sz...@us...> - 2004-04-14 12:34:37
|
Update of /cvsroot/nhibernate/nhibernate/src/NHibernate/Hql In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv23325/NHibernate/Hql Modified Files: FromParser.cs PathExpressionParser.cs QueryTranslator.cs SelectParser.cs WhereParser.cs Log Message: Hql finished with manymany TODOs. Index: QueryTranslator.cs =================================================================== RCS file: /cvsroot/nhibernate/nhibernate/src/NHibernate/Hql/QueryTranslator.cs,v retrieving revision 1.21 retrieving revision 1.22 diff -C2 -d -r1.21 -r1.22 *** QueryTranslator.cs 12 Apr 2004 05:41:45 -0000 1.21 --- QueryTranslator.cs 14 Apr 2004 12:34:00 -0000 1.22 *************** *** 19,27 **** using System.Runtime.CompilerServices; ! namespace NHibernate.Hql { /// <summary> /// An instance of <c>QueryTranslator</c> translates a Hibernate query string to SQL. /// </summary> ! public class QueryTranslator : BaseLoader { private static readonly log4net.ILog log = log4net.LogManager.GetLogger(typeof(QueryTranslator)); private static StringCollection dontSpace = new StringCollection(); --- 19,29 ---- [...1669 lines suppressed...] } + protected bool Compiled + { + get + { + return compiled; + } + } + public IDictionary AggregateFunctions + { + get + { + return factory.Dialect.AggregateFunctions; + } + } } } \ No newline at end of file Index: WhereParser.cs =================================================================== RCS file: /cvsroot/nhibernate/nhibernate/src/NHibernate/Hql/WhereParser.cs,v retrieving revision 1.9 retrieving revision 1.10 diff -C2 -d -r1.9 -r1.10 *** WhereParser.cs 14 Apr 2004 11:35:53 -0000 1.9 --- WhereParser.cs 14 Apr 2004 12:34:00 -0000 1.10 *************** *** 423,427 **** private void AddJoin( JoinFragment ojf, QueryTranslator q ) { ! JoinFragment fromClause = q.CreateJoinFragment(); fromClause.AddJoins( ojf.ToFromFragmentString, String.Empty ); q.AddJoin( pathExpressionParser.Name, fromClause ); --- 423,427 ---- private void AddJoin( JoinFragment ojf, QueryTranslator q ) { ! JoinFragment fromClause = q.CreateJoinFragment(true); fromClause.AddJoins( ojf.ToFromFragmentString, String.Empty ); q.AddJoin( pathExpressionParser.Name, fromClause ); Index: SelectParser.cs =================================================================== RCS file: /cvsroot/nhibernate/nhibernate/src/NHibernate/Hql/SelectParser.cs,v retrieving revision 1.6 retrieving revision 1.7 diff -C2 -d -r1.6 -r1.7 *** SelectParser.cs 14 Apr 2004 11:35:53 -0000 1.6 --- SelectParser.cs 14 Apr 2004 12:34:00 -0000 1.7 *************** *** 17,31 **** { private ArrayList aggregateFuncTokenList = new ArrayList(); ! private static StringCollection aggregateFunctions = new StringCollection(); private static StringCollection countArguments = new StringCollection(); static SelectParser() { - aggregateFunctions.Add("count"); - aggregateFunctions.Add("avg"); - aggregateFunctions.Add("max"); - aggregateFunctions.Add("min"); - aggregateFunctions.Add("sum"); - countArguments.Add("distinct"); countArguments.Add("all"); --- 17,25 ---- { private ArrayList aggregateFuncTokenList = new ArrayList(); ! private static IDictionary aggregateFunctions = new Hashtable(); private static StringCollection countArguments = new StringCollection(); static SelectParser() { countArguments.Add("distinct"); countArguments.Add("all"); *************** *** 116,120 **** { q.AppendScalarSelectToken(token); ! aggregateFunctions.RemoveAt(0); if (aggregateFuncTokenList.Count < 1) { --- 110,114 ---- { q.AppendScalarSelectToken(token); ! aggregateFuncTokenList.RemoveAt(0); if (aggregateFuncTokenList.Count < 1) { *************** *** 200,204 **** public bool AggregateHasArgs(String funcToken, QueryTranslator q) { ! Hashtable funcMap = q.AggregateFunctions; IQueryFunctionInfo funcInfo = (IQueryFunctionInfo)funcMap[funcToken]; return funcInfo.IsFunctionArgs; --- 194,198 ---- public bool AggregateHasArgs(String funcToken, QueryTranslator q) { ! IDictionary funcMap = q.AggregateFunctions; IQueryFunctionInfo funcInfo = (IQueryFunctionInfo)funcMap[funcToken]; return funcInfo.IsFunctionArgs; *************** *** 207,211 **** public bool AggregateFuncNoArgsHasParenthesis(String funcToken, QueryTranslator q) { ! Hashtable funcMap = q.AggregateFunctions; IQueryFunctionInfo funcInfo = (IQueryFunctionInfo)funcMap[funcToken]; return funcInfo.IsFunctionNoArgsUseParanthesis; --- 201,205 ---- public bool AggregateFuncNoArgsHasParenthesis(String funcToken, QueryTranslator q) { ! IDictionary funcMap = q.AggregateFunctions; IQueryFunctionInfo funcInfo = (IQueryFunctionInfo)funcMap[funcToken]; return funcInfo.IsFunctionNoArgsUseParanthesis; *************** *** 214,218 **** public IType AggregateType( ArrayList funcTokenList, IType type, QueryTranslator q) { ! Hashtable funcMap = q.AggregateFunctions; IType argType = type; IType retType = type; --- 208,212 ---- public IType AggregateType( ArrayList funcTokenList, IType type, QueryTranslator q) { ! IDictionary funcMap = q.AggregateFunctions; IType argType = type; IType retType = type; Index: PathExpressionParser.cs =================================================================== RCS file: /cvsroot/nhibernate/nhibernate/src/NHibernate/Hql/PathExpressionParser.cs,v retrieving revision 1.10 retrieving revision 1.11 diff -C2 -d -r1.10 -r1.11 *** PathExpressionParser.cs 14 Apr 2004 11:35:53 -0000 1.10 --- PathExpressionParser.cs 14 Apr 2004 12:34:00 -0000 1.11 *************** *** 256,260 **** { IClassPersister p = q.GetPersisterForName(currentName); - //TODO: entity == assoc?? type = NHibernate.Association(p.MappedClass); } --- 256,259 ---- Index: FromParser.cs =================================================================== RCS file: /cvsroot/nhibernate/nhibernate/src/NHibernate/Hql/FromParser.cs,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** FromParser.cs 14 Apr 2004 11:35:53 -0000 1.4 --- FromParser.cs 14 Apr 2004 12:34:00 -0000 1.5 *************** *** 227,231 **** q.SetCollectionToFetch( peParser.CollectionRole, peParser.CollectionName, peParser.CollectionOwnerName ); } ! q.addEntityToFetch(entityName); afterFetch = false; --- 227,231 ---- q.SetCollectionToFetch( peParser.CollectionRole, peParser.CollectionName, peParser.CollectionOwnerName ); } ! q.AddEntityToFetch(entityName); afterFetch = false; |