From: Michael D. <mik...@us...> - 2004-08-16 05:23:05
|
Update of /cvsroot/nhibernate/nhibernate/src/NHibernate/Persister In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv32513/Persister Modified Files: AbstractEntityPersister.cs EntityPersister.cs ILoadable.cs IQueryable.cs NormalizedEntityPersister.cs Log Message: Began refactoring to SqlString. Index: NormalizedEntityPersister.cs =================================================================== RCS file: /cvsroot/nhibernate/nhibernate/src/NHibernate/Persister/NormalizedEntityPersister.cs,v retrieving revision 1.23 retrieving revision 1.24 diff -C2 -d -r1.23 -r1.24 *** NormalizedEntityPersister.cs 1 Aug 2004 21:58:02 -0000 1.23 --- NormalizedEntityPersister.cs 16 Aug 2004 05:22:56 -0000 1.24 *************** *** 9,13 **** using NHibernate.Loader; using NHibernate.Mapping; ! using NHibernate.Sql; using NHibernate.SqlCommand; using NHibernate.Type; --- 9,13 ---- using NHibernate.Loader; using NHibernate.Mapping; ! //using NHibernate.Sql; using NHibernate.SqlCommand; using NHibernate.Type; *************** *** 1373,1381 **** } ! public override string FromTableFragment(string alias) { ! return subclassTableNameClosure[0] + ' ' + alias; } public override string TableName { --- 1373,1382 ---- } ! public override SqlString FromTableFragment(string alias) { ! return new SqlString( subclassTableNameClosure[0] + ' ' + alias ); } + public override string TableName { *************** *** 1466,1473 **** } ! public override string PropertySelectFragment(string alias, string suffix) { string[] cols = subclassColumnClosure; ! SqlCommand.SelectFragment frag = new SqlCommand.SelectFragment(factory.Dialect) .SetSuffix(suffix); --- 1467,1474 ---- } ! public override SqlString PropertySelectFragment(string alias, string suffix) { string[] cols = subclassColumnClosure; ! SelectFragment frag = new SelectFragment(factory.Dialect) .SetSuffix(suffix); *************** *** 1483,1506 **** if (HasSubclasses) { ! return ", " + ! //TODO: this will need to be changed to return a SqlString but for now the SqlString ! // is being converted to a string for existing interfaces to work. DiscriminatorFragment(alias) ! .SetReturnColumnName( DiscriminatorColumnName, suffix ) ! .ToSqlStringFragment().ToString() ! + ! frag.ToSqlStringFragment().ToString(); ! // TODO: fix this once the interface has changed from a string to SqlString } else { ! // TODO: fix this once the interface has changed from a string to SqlString ! return frag.ToSqlStringFragment().ToString(); } ! } ! private SqlCommand.CaseFragment DiscriminatorFragment(string alias) { ! SqlCommand.CaseFragment cases = dialect.CreateCaseFragment(); for (int i=0; i<discriminatorValues.Length; i++) --- 1484,1511 ---- if (HasSubclasses) { ! SqlStringBuilder builder = new SqlStringBuilder(3); ! ! builder.Add(", "); ! builder.Add( DiscriminatorFragment(alias) ! .SetReturnColumnName( DiscriminatorColumnName, suffix ) ! .ToSqlStringFragment() ! ); ! ! builder.Add( frag.ToSqlStringFragment() ); ! ! return builder.ToSqlString(); ! } else { ! return frag.ToSqlStringFragment(); } ! } ! ! private CaseFragment DiscriminatorFragment(string alias) { ! CaseFragment cases = dialect.CreateCaseFragment(); for (int i=0; i<discriminatorValues.Length; i++) *************** *** 1521,1539 **** } ! public override string FromJoinFragment(string alias, bool innerJoin, bool includeSubclasses) { return Outerjoin(alias, innerJoin, includeSubclasses).ToFromFragmentString; } ! public override string WhereJoinFragment(string alias, bool innerJoin, bool includeSubclasses) { return Outerjoin(alias, innerJoin, includeSubclasses).ToWhereFragmentString; } ! public override string QueryWhereFragment(string alias, bool innerJoin, bool includeSubclasses) { ! string result = WhereJoinFragment(alias, innerJoin, includeSubclasses); ! if( HasWhere ) result += " and " + GetSQLWhereString(alias); return result; } --- 1526,1550 ---- } ! public override SqlString FromJoinFragment(string alias, bool innerJoin, bool includeSubclasses) { return Outerjoin(alias, innerJoin, includeSubclasses).ToFromFragmentString; } ! public override SqlString WhereJoinFragment(string alias, bool innerJoin, bool includeSubclasses) { return Outerjoin(alias, innerJoin, includeSubclasses).ToWhereFragmentString; } ! public override SqlString QueryWhereFragment(string alias, bool innerJoin, bool includeSubclasses) { ! SqlString result = WhereJoinFragment(alias, innerJoin, includeSubclasses); ! ! if( HasWhere) ! { ! result = result.Append( " and " + GetSQLWhereString(alias) ); ! } ! return result; + } Index: AbstractEntityPersister.cs =================================================================== RCS file: /cvsroot/nhibernate/nhibernate/src/NHibernate/Persister/AbstractEntityPersister.cs,v retrieving revision 1.19 retrieving revision 1.20 diff -C2 -d -r1.19 -r1.20 *** AbstractEntityPersister.cs 9 Aug 2004 03:15:14 -0000 1.19 --- AbstractEntityPersister.cs 16 Aug 2004 05:22:56 -0000 1.20 *************** *** 5,19 **** using NHibernate.Cache; using NHibernate.Cfg; using NHibernate.Engine; ! using NHibernate.Util; using NHibernate.Id; using NHibernate.Mapping; using NHibernate.Metadata; using NHibernate.Proxy; ! using NHibernate.Hql; ! using NHibernate.Dialect; ! using NHibernate.Sql; using NHibernate.Type; ! using NHibernate.Loader; namespace NHibernate.Persister --- 5,19 ---- using NHibernate.Cache; using NHibernate.Cfg; + using NHibernate.Dialect; using NHibernate.Engine; ! using NHibernate.Hql; using NHibernate.Id; + using NHibernate.Loader; using NHibernate.Mapping; using NHibernate.Metadata; using NHibernate.Proxy; ! using NHibernate.SqlCommand; using NHibernate.Type; ! using NHibernate.Util; namespace NHibernate.Persister *************** *** 109,122 **** } ! public virtual string IdentifierSelectFragment(string name, string suffix) { ! //TODO: fix this once the interface is changed from a string to SqlString ! // this works now because there are no parameters in the select fragment string ! return new SqlCommand.SelectFragment(dialect) .SetSuffix(suffix) .AddColumns( name, IdentifierColumnNames ) ! .ToSqlStringFragment(false) ! .ToString(); ! //.Substring(2); //strip leading ", " - commented out because of the "false" parameter now does that } --- 109,118 ---- } ! public virtual SqlString IdentifierSelectFragment(string name, string suffix) { ! return new SelectFragment(dialect) .SetSuffix(suffix) .AddColumns( name, IdentifierColumnNames ) ! .ToSqlStringFragment(false); } *************** *** 441,445 **** sqlWhereStringTemplate = sqlWhereString==null ? null : ! SqlCommand.Template.RenderWhereStringTemplate(sqlWhereString, dialect); polymorphic = model.IsPolymorphic; --- 437,441 ---- sqlWhereStringTemplate = sqlWhereString==null ? null : ! Template.RenderWhereStringTemplate(sqlWhereString, dialect); polymorphic = model.IsPolymorphic; *************** *** 754,758 **** protected string GetSQLWhereString(string alias) { ! return StringHelper.Replace(sqlWhereStringTemplate, SqlCommand.Template.PlaceHolder, alias); } --- 750,754 ---- protected string GetSQLWhereString(string alias) { ! return StringHelper.Replace(sqlWhereStringTemplate, Template.PlaceHolder, alias); } *************** *** 783,787 **** } ! public abstract string QueryWhereFragment(string alias, bool innerJoin, bool includeSublcasses); public abstract string DiscriminatorSQLString { get; } public abstract void Delete(object id, object version, object obj, ISessionImplementor session); --- 779,783 ---- } ! public abstract SqlString QueryWhereFragment(string alias, bool innerJoin, bool includeSublcasses); public abstract string DiscriminatorSQLString { get; } public abstract void Delete(object id, object version, object obj, ISessionImplementor session); *************** *** 797,810 **** public abstract IDiscriminatorType DiscriminatorType { get; } public abstract OuterJoinLoaderType EnableJoinedFetch(int i); ! public abstract string FromJoinFragment(string alias, bool innerJoin, bool includeSubclasses); ! public abstract string FromTableFragment(string alias); public abstract string[] GetPropertyColumnNames(int i); public abstract System.Type GetSubclassForDiscriminatorValue(object value); public abstract IType GetSubclassPropertyType(int i); public abstract bool IsDefinedOnSubclass(int i); ! public abstract string PropertySelectFragment(string alias, string suffix); public abstract string TableName { get; } public abstract string[] ToColumns(string name, int i); ! public abstract string WhereJoinFragment(string alias, bool innerJoin, bool includeSubclasses); public abstract string DiscriminatorColumnName { get; } public abstract string[] GetSubclassPropertyColumnNames(int i); --- 793,806 ---- public abstract IDiscriminatorType DiscriminatorType { get; } public abstract OuterJoinLoaderType EnableJoinedFetch(int i); ! public abstract SqlString FromJoinFragment(string alias, bool innerJoin, bool includeSubclasses); ! public abstract SqlString FromTableFragment(string alias); public abstract string[] GetPropertyColumnNames(int i); public abstract System.Type GetSubclassForDiscriminatorValue(object value); public abstract IType GetSubclassPropertyType(int i); public abstract bool IsDefinedOnSubclass(int i); ! public abstract SqlString PropertySelectFragment(string alias, string suffix); public abstract string TableName { get; } public abstract string[] ToColumns(string name, int i); ! public abstract SqlString WhereJoinFragment(string alias, bool innerJoin, bool includeSubclasses); public abstract string DiscriminatorColumnName { get; } public abstract string[] GetSubclassPropertyColumnNames(int i); Index: EntityPersister.cs =================================================================== RCS file: /cvsroot/nhibernate/nhibernate/src/NHibernate/Persister/EntityPersister.cs,v retrieving revision 1.21 retrieving revision 1.22 diff -C2 -d -r1.21 -r1.22 *** EntityPersister.cs 28 Jul 2004 03:56:49 -0000 1.21 --- EntityPersister.cs 16 Aug 2004 05:22:56 -0000 1.22 *************** *** 4,16 **** using System.Collections; ! using NHibernate.Util; using NHibernate.Loader; using NHibernate.Mapping; ! using NHibernate.Hql; ! using NHibernate.Sql; using NHibernate.SqlCommand; using NHibernate.Type; ! using NHibernate.Engine; ! using NHibernate.Id; namespace NHibernate.Persister --- 4,16 ---- using System.Collections; ! using NHibernate.Engine; ! using NHibernate.Hql; ! using NHibernate.Id; using NHibernate.Loader; using NHibernate.Mapping; ! //using NHibernate.Sql; using NHibernate.SqlCommand; using NHibernate.Type; ! using NHibernate.Util; namespace NHibernate.Persister *************** *** 1071,1080 **** } ! public override string FromTableFragment(string name) { ! return TableName + ' ' + name; } ! public override string QueryWhereFragment(string name, bool innerJoin, bool includeSubclasses) { if (innerJoin && (forceDiscriminator || IsInherited )) --- 1071,1080 ---- } ! public override SqlString FromTableFragment(string alias) { ! return new SqlString( TableName + ' ' + alias ); } ! public override SqlString QueryWhereFragment(string name, bool innerJoin, bool includeSubclasses) { if (innerJoin && (forceDiscriminator || IsInherited )) *************** *** 1089,1101 **** ); } ! StringBuilder builder = new StringBuilder(" and " + frag.ToFragmentString()); if(HasWhere) { ! builder.Append(" and "); ! builder.Append( GetSQLWhereString(name) ); } ! return builder.ToString(); } else --- 1089,1102 ---- ); } ! ! SqlStringBuilder builder = new SqlStringBuilder(); ! builder.Add( " and " + frag.ToFragmentString() ); if(HasWhere) { ! builder.Add( " and " + GetSQLWhereString(name) ); } ! return builder.ToSqlString(); } else *************** *** 1103,1111 **** if(HasWhere) { ! return " and " + GetSQLWhereString(name); } else { ! return String.Empty; } --- 1104,1112 ---- if(HasWhere) { ! return new SqlString( " and " + GetSQLWhereString(name) ); } else { ! return new SqlString(String.Empty); } *************** *** 1151,1178 **** } ! public override string PropertySelectFragment(string name, string suffix) { ! SqlCommand.SelectFragment frag = new SqlCommand.SelectFragment(factory.Dialect) ! .SetSuffix(suffix); ! if ( HasSubclasses ) frag.AddColumn( name, DiscriminatorColumnName ); ! // TODO: fix this once the interface is changed from a string to SqlString ! // this works now because there are no parameters in the select string ! return frag.AddColumns(name, subclassColumnClosure, subclassColumnAliasClosure) ! .AddFormulas(name, subclassFormulaTemplateClosure, subclassFormulaAliasClosure) ! .ToSqlStringFragment().ToString(); } ! public override string FromJoinFragment(string alias, bool innerJoin, bool includeSubclasses) { ! return String.Empty; } ! public override string WhereJoinFragment(string alias, bool innerJoin, bool includeSublasses) { ! return String.Empty; } } } --- 1152,1182 ---- } ! public override SqlString PropertySelectFragment(string alias, string suffix) { ! SelectFragment frag = new SelectFragment(factory.Dialect); ! frag.SetSuffix(suffix); ! if ( HasSubclasses ) ! { ! frag.AddColumn( alias, DiscriminatorColumnName ); ! } ! ! return frag.AddColumns(alias, subclassColumnClosure, subclassColumnAliasClosure) ! .AddFormulas(alias, subclassFormulaTemplateClosure, subclassFormulaAliasClosure) ! .ToSqlStringFragment(); } ! public override SqlString FromJoinFragment(string alias, bool innerJoin, bool includeSubclasses) { ! return new SqlString( String.Empty ); } ! public override SqlString WhereJoinFragment(string alias, bool innerJoin, bool includeSubclasses) { ! return new SqlString( String.Empty ); } + } } Index: IQueryable.cs =================================================================== RCS file: /cvsroot/nhibernate/nhibernate/src/NHibernate/Persister/IQueryable.cs,v retrieving revision 1.7 retrieving revision 1.8 diff -C2 -d -r1.7 -r1.8 *** IQueryable.cs 23 Jun 2004 21:08:20 -0000 1.7 --- IQueryable.cs 16 Aug 2004 05:22:56 -0000 1.8 *************** *** 1,3 **** --- 1,5 ---- using System; + + using NHibernate.SqlCommand; using NHibernate.Type; *************** *** 45,49 **** /// <param name="includeSublcasses"></param> /// <returns></returns> ! string QueryWhereFragment(string alias, bool innerJoin, bool includeSublcasses); /// <summary> --- 47,51 ---- /// <param name="includeSublcasses"></param> /// <returns></returns> ! SqlString QueryWhereFragment(string alias, bool innerJoin, bool includeSublcasses); /// <summary> Index: ILoadable.cs =================================================================== RCS file: /cvsroot/nhibernate/nhibernate/src/NHibernate/Persister/ILoadable.cs,v retrieving revision 1.6 retrieving revision 1.7 diff -C2 -d -r1.6 -r1.7 *** ILoadable.cs 23 Jun 2004 21:08:20 -0000 1.6 --- ILoadable.cs 16 Aug 2004 05:22:56 -0000 1.7 *************** *** 1,4 **** --- 1,6 ---- using System; + using NHibernate.Loader; + using NHibernate.SqlCommand; using NHibernate.Type; *************** *** 116,120 **** /// <param name="suffix"></param> /// <returns></returns> ! string IdentifierSelectFragment(string name, string suffix); /// <summary> --- 118,122 ---- /// <param name="suffix"></param> /// <returns></returns> ! SqlString IdentifierSelectFragment(string name, string suffix); /// <summary> *************** *** 125,129 **** /// <param name="suffix"></param> /// <returns></returns> ! string PropertySelectFragment(string alias, string suffix); /// <summary> --- 127,131 ---- /// <param name="suffix"></param> /// <returns></returns> ! SqlString PropertySelectFragment(string alias, string suffix); /// <summary> *************** *** 132,137 **** /// <param name="alias"></param> /// <returns></returns> ! string FromTableFragment(string alias); ! /// <summary> /// Get the where clause part of any joins (optional operation) --- 134,139 ---- /// <param name="alias"></param> /// <returns></returns> ! SqlString FromTableFragment(string alias); ! /// <summary> /// Get the where clause part of any joins (optional operation) *************** *** 141,145 **** /// <param name="includeSubclasses"></param> /// <returns></returns> ! string WhereJoinFragment(string alias, bool innerJoin, bool includeSubclasses); /// <summary> --- 143,147 ---- /// <param name="includeSubclasses"></param> /// <returns></returns> ! SqlString WhereJoinFragment(string alias, bool innerJoin, bool includeSubclasses); /// <summary> *************** *** 150,154 **** /// <param name="includeSubclasses"></param> /// <returns></returns> ! string FromJoinFragment(string alias, bool innerJoin, bool includeSubclasses); } } --- 152,157 ---- /// <param name="includeSubclasses"></param> /// <returns></returns> ! SqlString FromJoinFragment(string alias, bool innerJoin, bool includeSubclasses); ! } } |