|
From: Michael D. <mik...@us...> - 2004-08-19 17:46:49
|
Update of /cvsroot/nhibernate/nhibernate/src/NHibernate/Hql In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv19972/NHibernate/Hql Modified Files: PathExpressionParser.cs QueryTranslator.cs WhereParser.cs Log Message: cleaned up code not needed because of migration to SqlString. Index: WhereParser.cs =================================================================== RCS file: /cvsroot/nhibernate/nhibernate/src/NHibernate/Hql/WhereParser.cs,v retrieving revision 1.18 retrieving revision 1.19 diff -C2 -d -r1.18 -r1.19 *** WhereParser.cs 18 Aug 2004 20:47:51 -0000 1.18 --- WhereParser.cs 19 Aug 2004 17:46:38 -0000 1.19 *************** *** 34,56 **** //TODO: HACK to make this internal for QueryTranslator... private static StringCollection booleanOperators = new StringCollection(); //tokens that would indicate a sub expression is a boolean expression ! private static string booleanOperatorsAsRegEx = string.Empty; ! internal static string BooleanOperatorsAsRegEx ! { ! get ! { ! if (booleanOperatorsAsRegEx.Length != 0) ! return booleanOperatorsAsRegEx; ! StringBuilder sb = new StringBuilder(@"(?:\(|"); ! foreach(string s in booleanOperators) ! { ! sb.Append(s); ! sb.Append("|"); ! } ! sb.Remove(sb.Length-1, 1); ! sb.Append(@")[^\w]*$"); ! booleanOperatorsAsRegEx = sb.ToString(); ! return booleanOperatorsAsRegEx; ! } ! } private static IDictionary negations = new Hashtable(); private Dialect.Dialect d; --- 34,38 ---- //TODO: HACK to make this internal for QueryTranslator... private static StringCollection booleanOperators = new StringCollection(); //tokens that would indicate a sub expression is a boolean expression ! private static IDictionary negations = new Hashtable(); private Dialect.Dialect d; *************** *** 451,455 **** { SqlCommand.JoinFragment fromClause = q.CreateJoinFragment(true); - //TODO: HACK with StringEmpty and SqlString fromClause.AddJoins( ojf.ToFromFragmentString, new SqlCommand.SqlString(String.Empty) ); q.AddJoin( pathExpressionParser.Name, fromClause ); --- 433,436 ---- *************** *** 467,478 **** { q.AddNamedParameter(token.Substring(1)); - // AppendToken(q, StringHelper.SqlParameter); AppendToken(q, new SqlCommand.SqlString( new object[] { new SqlCommand.Parameter() } ) ); } else if ( token.Equals(StringHelper.SqlParameter) ) { ! //TODO: this is all new code - I'm just looking for a way to find out when ! // we are adding a parameter ! // q.AppendWhereToken(token); q.AppendWhereToken(new SqlCommand.SqlString( new object[] { new SqlCommand.Parameter() } ) ); } --- 448,457 ---- { q.AddNamedParameter(token.Substring(1)); AppendToken(q, new SqlCommand.SqlString( new object[] { new SqlCommand.Parameter() } ) ); } else if ( token.Equals(StringHelper.SqlParameter) ) { ! //if the token is a "?" then we have a Parameter so convert it to a SqlCommand.Parameter ! // instead of appending a "?" to the WhereTokens q.AppendWhereToken(new SqlCommand.SqlString( new object[] { new SqlCommand.Parameter() } ) ); } Index: QueryTranslator.cs =================================================================== RCS file: /cvsroot/nhibernate/nhibernate/src/NHibernate/Hql/QueryTranslator.cs,v retrieving revision 1.38 retrieving revision 1.39 diff -C2 -d -r1.38 -r1.39 *** QueryTranslator.cs 18 Aug 2004 20:47:51 -0000 1.38 --- QueryTranslator.cs 19 Aug 2004 17:46:38 -0000 1.39 *************** *** 71,76 **** private bool distinct = false; protected bool compiled; ! private string sqlString; ! private SqlCommand.SqlString realSqlString; private System.Type holderClass; private ConstructorInfo holderConstructor; --- 71,75 ---- private bool distinct = false; protected bool compiled; ! private SqlCommand.SqlString sqlString; private System.Type holderClass; private ConstructorInfo holderConstructor; *************** *** 256,276 **** } - [Obsolete("Should use Hql.QueryTranslator.SqlString property instead")] - public override string SQLString - { - get - { - LogQuery(queryString, sqlString); - return sqlString; - } - } - - public override SqlString SqlString { get { ! LogQuery( queryString, realSqlString.ToString() ); ! return realSqlString; } } --- 255,264 ---- } public override SqlString SqlString { get { ! LogQuery( queryString, sqlString.ToString() ); ! return sqlString; } } *************** *** 459,466 **** else { - //TODO: HACKS with ToString() - fixed up oldjoin.AddCondition( newjoin.ToWhereFragmentString ); //TODO: HACKS with ToString() ! if ( oldjoin.ToFromFragmentString.ToString().IndexOf( newjoin.ToFromFragmentString.ToString().Trim()) < 0 ) { throw new AssertionFailure("bug in query parser: " + queryString); --- 447,453 ---- else { oldjoin.AddCondition( newjoin.ToWhereFragmentString ); //TODO: HACKS with ToString() ! if ( oldjoin.ToFromFragmentString.ToString().IndexOf( newjoin.ToFromFragmentString.Trim().ToString() ) < 0 ) { throw new AssertionFailure("bug in query parser: " + queryString); *************** *** 621,626 **** } ! // sqlString = sql.ToQueryString(); ! realSqlString = sql.ToQuerySqlString(); --- 608,612 ---- } ! sqlString = sql.ToQuerySqlString(); *************** *** 651,656 **** string name = (string) returnTypes[k]; string suffix = size==1 ? String.Empty : k.ToString() + StringHelper.Underscore; ! //TODO: HACK with ToString() ! sql.AddSelectFragmentString( persisters[k].IdentifierSelectFragment(name, suffix).ToString() ); } } --- 637,641 ---- string name = (string) returnTypes[k]; string suffix = size==1 ? String.Empty : k.ToString() + StringHelper.Underscore; ! sql.AddSelectFragmentString( persisters[k].IdentifierSelectFragment(name, suffix) ); } } *************** *** 680,685 **** string suffix = (size==1) ? String.Empty : k.ToString() + StringHelper.Underscore; string name = (string) returnTypes[k]; ! //TODO: HACK with ToString() ! sql.AddSelectFragmentString( persisters[k].PropertySelectFragment(name, suffix).ToString() ); } } --- 665,669 ---- string suffix = (size==1) ? String.Empty : k.ToString() + StringHelper.Underscore; string name = (string) returnTypes[k]; ! sql.AddSelectFragmentString( persisters[k].PropertySelectFragment(name, suffix) ); } } *************** *** 942,954 **** IDictionary namedParams, IDictionary lockModes, ISessionImplementor session) { - //TODO: this is a major hack - apply locks is not working with a string of Sql so we need - // to give it a SqlString... - //http://jira.nhibernate.org:8080/browse/NH-64 - // ApplyLocks(SqlString, lockModes, session.Factory.Dialect).ToString(), - // this works because it is just appending strings and not doing any - // string sqlWithLock = ApplyLocks(new SqlString(SQLString), lockModes, session.Factory.Dialect).ToString(); SqlString sqlWithLock = ApplyLocks(SqlString, lockModes, session.Factory.Dialect); - IDbCommand st = PrepareQueryStatement( sqlWithLock, --- 926,931 ---- *************** *** 1106,1111 **** IDictionary lockModes) { - - // TODO: fix the last parameter that is suppoesd to use lockModes return base.Find(session, values, types, returnProxies, selection, namedParams, lockModes); } --- 1083,1086 ---- *************** *** 1357,1375 **** } ! ! // StringTokenizer tokenizer = new StringTokenizer(sql, StringHelper.SqlParameter, true); ! // string[] tokens = sql.Split(StringHelper.SqlParameter[0]); ! // ! // SqlStringBuilder hqlToSqlBuilder = new SqlStringBuilder(types.Length * 2); ! SqlStringBuilder hqlBuilder = new SqlStringBuilder(sql); //this.SqlString ! // IEnumerator tokenEnum = tokenizer.GetEnumerator(); ! // string previousToken = String.Empty; ! // string token = String.Empty; int paramIndex = 0; ! // ! // while(tokenEnum.MoveNext()) for( int i=0; i<hqlBuilder.Count; i++ ) { - // token = (string)tokenEnum.Current; Parameter partParam = hqlBuilder[i] as Parameter; if(partParam!=null) --- 1332,1341 ---- } ! ! SqlStringBuilder hqlBuilder = new SqlStringBuilder(sql); int paramIndex = 0; ! for( int i=0; i<hqlBuilder.Count; i++ ) { Parameter partParam = hqlBuilder[i] as Parameter; if(partParam!=null) *************** *** 1379,1412 **** paramIndex++; } - // if(token.Equals(StringHelper.SqlParameter) - // && ( EndsWithBoolOperator( previousToken ) ) ) //.EndsWith("=") || previousToken.EndsWith("= ") ) ) - // { - // Parameter param = Parameter.GenerateParameters(session.Factory, new string[]{paramIndex.ToString()}, paramTypes[paramIndex])[0]; - // hqlToSqlBuilder.Add(param); - // paramIndex++; - // } - // else - // { - // hqlToSqlBuilder.Add(token); - // } - // - // previousToken = token; } - // return PrepareCommand(hqlToSqlBuilder.ToSqlString(), paramValues, paramTypes, null, selection, scroll, session); return PrepareCommand(hqlBuilder.ToSqlString(), paramValues, paramTypes, null, selection, scroll, session); } - - /// <summary> - /// Temp method to help us figure out if the string ends with character that indicate that - /// a parameter is likely to follow. - /// </summary> - /// <param name="sqlFragment">A string that contains sql.</param> - /// <returns>true when a Parameter might follow this sql.</returns> - private bool EndsWithBoolOperator(string sqlFragment) - { - Regex r = new Regex(WhereParser.BooleanOperatorsAsRegEx, RegexOptions.IgnoreCase | RegexOptions.Compiled); - return r.Match(sqlFragment).Success; - } } } \ No newline at end of file --- 1345,1352 ---- Index: PathExpressionParser.cs =================================================================== RCS file: /cvsroot/nhibernate/nhibernate/src/NHibernate/Hql/PathExpressionParser.cs,v retrieving revision 1.15 retrieving revision 1.16 diff -C2 -d -r1.15 -r1.16 *** PathExpressionParser.cs 18 Aug 2004 20:47:51 -0000 1.15 --- PathExpressionParser.cs 19 Aug 2004 17:46:38 -0000 1.16 *************** *** 115,119 **** { JoinFragment ojf = q.GetPathJoin(path); - //TODO: HACK with ToString() join.AddCondition( ojf.ToWhereFragmentString); //after reset! // we don't need to worry about any condition in the ON clause --- 115,118 ---- *************** *** 350,354 **** { IQueryable persister = q.GetPersister( ( (EntityType) memberPersister.ElementType ).PersistentClass ); - //TODO: HACK with ToString() - cleaned up ojf.AddJoins( persister.FromJoinFragment(collectionName, true, false), --- 349,352 ---- *************** *** 483,490 **** .Append(' ') .Append(collectionName)*/ ! //TODO: HACK with ToString() ! .Append(join.ToFromFragmentString.ToString().Substring(2)) //remove initial ", " .Append(" WHERE ") ! .Append(join.ToWhereFragmentString.ToString().Substring(5)) //TODO: HACK with ToString() .ToString(); } --- 481,487 ---- .Append(' ') .Append(collectionName)*/ ! .Append(join.ToFromFragmentString.Substring(2)) //remove initial ", " .Append(" WHERE ") ! .Append(join.ToWhereFragmentString.Substring(5)) .ToString(); } |