From: Kevin W. <kev...@us...> - 2004-12-31 22:25:12
|
Update of /cvsroot/nhibernate/nhibernate/src/NHibernate/SqlCommand In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv9172 Modified Files: ISqlStringBuilder.cs JoinFragment.cs OracleJoinFragment.cs Parameter.cs Log Message: fixing xml comments and letting ReSharper do reformatting Index: ISqlStringBuilder.cs =================================================================== RCS file: /cvsroot/nhibernate/nhibernate/src/NHibernate/SqlCommand/ISqlStringBuilder.cs,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** ISqlStringBuilder.cs 22 Nov 2004 03:56:00 -0000 1.2 --- ISqlStringBuilder.cs 31 Dec 2004 22:25:00 -0000 1.3 *************** *** 1,11 **** ! using System; ! ! using NHibernate.Dialect; ! using NHibernate.Connection; ! ! namespace NHibernate.SqlCommand { ! ! public interface ISqlStringBuilder { /// <summary> --- 1,6 ---- ! namespace NHibernate.SqlCommand { ! /// <summary></summary> ! public interface ISqlStringBuilder { /// <summary> *************** *** 15,17 **** SqlString ToSqlString(); } ! } --- 10,12 ---- SqlString ToSqlString(); } ! } \ No newline at end of file Index: JoinFragment.cs =================================================================== RCS file: /cvsroot/nhibernate/nhibernate/src/NHibernate/SqlCommand/JoinFragment.cs,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** JoinFragment.cs 18 Aug 2004 20:43:58 -0000 1.2 --- JoinFragment.cs 31 Dec 2004 22:25:00 -0000 1.3 *************** *** 1,4 **** using System; - using NHibernate.Engine; using NHibernate.Type; --- 1,3 ---- *************** *** 6,15 **** namespace NHibernate.SqlCommand { ! public enum JoinType { None = -666, InnerJoin = 0, FullJoin = -1, LeftOuterJoin = 1, RightOuterJoin = 2 } --- 5,20 ---- namespace NHibernate.SqlCommand { ! /// <summary></summary> ! public enum JoinType { + /// <summary></summary> None = -666, + /// <summary></summary> InnerJoin = 0, + /// <summary></summary> FullJoin = -1, + /// <summary></summary> LeftOuterJoin = 1, + /// <summary></summary> RightOuterJoin = 2 } *************** *** 20,47 **** public abstract class JoinFragment { ! public abstract void AddJoin(string tableName, string alias, string[] fkColumns, string[] pkColumns, JoinType joinType); ! public abstract void AddCrossJoin(string tableName, string alias); ! public abstract void AddJoins(SqlString fromFragment, SqlString whereFragment); public abstract SqlString ToFromFragmentString { get; } public abstract SqlString ToWhereFragmentString { get; } ! public abstract void AddCondition(string alias, string[] columns, string condition); ! public abstract void AddCondition(string alias, string[] columns, string condition, IType conditionType, ISessionFactoryImplementor factory); ! public abstract void AddCondition(string alias, string[] fkColumns, string[] pkColumns); ! public abstract void AddCondition(string condition); ! public abstract void AddCondition(SqlString condition); public abstract JoinFragment Copy(); ! public virtual void AddFragment(JoinFragment ojf) { AddJoins( ojf.ToFromFragmentString, ojf.ToWhereFragmentString ); } ! [Obsolete("should use SqlString instead")] ! public virtual void AddJoins(string fromFragment, string whereFragment) { ! this.AddJoins( new SqlString(fromFragment), new SqlString(whereFragment) ); } } ! } --- 25,118 ---- public abstract class JoinFragment { ! /// <summary> ! /// ! /// </summary> ! /// <param name="tableName"></param> ! /// <param name="alias"></param> ! /// <param name="fkColumns"></param> ! /// <param name="pkColumns"></param> ! /// <param name="joinType"></param> ! public abstract void AddJoin( string tableName, string alias, string[ ] fkColumns, string[ ] pkColumns, JoinType joinType ); ! ! /// <summary> ! /// ! /// </summary> ! /// <param name="tableName"></param> ! /// <param name="alias"></param> ! public abstract void AddCrossJoin( string tableName, string alias ); ! ! /// <summary> ! /// ! /// </summary> ! /// <param name="fromFragment"></param> ! /// <param name="whereFragment"></param> ! public abstract void AddJoins( SqlString fromFragment, SqlString whereFragment ); ! ! /// <summary></summary> public abstract SqlString ToFromFragmentString { get; } + + /// <summary></summary> public abstract SqlString ToWhereFragmentString { get; } ! /// <summary> ! /// ! /// </summary> ! /// <param name="alias"></param> ! /// <param name="columns"></param> ! /// <param name="condition"></param> ! public abstract void AddCondition( string alias, string[ ] columns, string condition ); + /// <summary> + /// + /// </summary> + /// <param name="alias"></param> + /// <param name="columns"></param> + /// <param name="condition"></param> + /// <param name="conditionType"></param> + /// <param name="factory"></param> + public abstract void AddCondition( string alias, string[ ] columns, string condition, IType conditionType, ISessionFactoryImplementor factory ); + + /// <summary> + /// + /// </summary> + /// <param name="alias"></param> + /// <param name="fkColumns"></param> + /// <param name="pkColumns"></param> + public abstract void AddCondition( string alias, string[ ] fkColumns, string[ ] pkColumns ); + + /// <summary> + /// + /// </summary> + /// <param name="condition"></param> + public abstract void AddCondition( string condition ); + + /// <summary> + /// + /// </summary> + /// <param name="condition"></param> + public abstract void AddCondition( SqlString condition ); + + /// <summary></summary> public abstract JoinFragment Copy(); ! /// <summary> ! /// ! /// </summary> ! /// <param name="ojf"></param> ! public virtual void AddFragment( JoinFragment ojf ) { AddJoins( ojf.ToFromFragmentString, ojf.ToWhereFragmentString ); } ! /// <summary> ! /// ! /// </summary> ! /// <param name="fromFragment"></param> ! /// <param name="whereFragment"></param> ! [Obsolete( "should use SqlString instead" )] ! public virtual void AddJoins( string fromFragment, string whereFragment ) { ! this.AddJoins( new SqlString( fromFragment ), new SqlString( whereFragment ) ); } } ! } \ No newline at end of file Index: OracleJoinFragment.cs =================================================================== RCS file: /cvsroot/nhibernate/nhibernate/src/NHibernate/SqlCommand/OracleJoinFragment.cs,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** OracleJoinFragment.cs 18 Aug 2004 20:43:58 -0000 1.2 --- OracleJoinFragment.cs 31 Dec 2004 22:25:00 -0000 1.3 *************** *** 1,4 **** using System; - using NHibernate.Engine; using NHibernate.Type; --- 1,3 ---- *************** *** 15,50 **** private SqlStringBuilder afterWhere = new SqlStringBuilder(); ! public override void AddJoin(string tableName, string alias, string[] fkColumns, string[] pkColumns, JoinType joinType) { ! AddCrossJoin(tableName, alias); ! for (int j=0; j<fkColumns.Length; j++) { ! afterWhere.Add( " and " + fkColumns[j] ); ! if (joinType == JoinType.RightOuterJoin || joinType == JoinType.FullJoin) afterWhere.Add("(+)"); ! ! afterWhere.Add( "=" + alias + StringHelper.Dot + pkColumns[j] ); ! if (joinType == JoinType.LeftOuterJoin || joinType == JoinType.FullJoin) afterWhere.Add("(+)"); } } ! public override SqlString ToFromFragmentString { get { return afterFrom.ToSqlString(); } } ! public override SqlString ToWhereFragmentString { get { return afterWhere.ToSqlString(); } } ! public override void AddJoins(SqlString fromFragment, SqlString whereFragment) { ! afterFrom.Add(fromFragment); ! afterWhere.Add(whereFragment); } ! public override JoinFragment Copy() { OracleJoinFragment copy = new OracleJoinFragment(); --- 14,71 ---- private SqlStringBuilder afterWhere = new SqlStringBuilder(); ! /// <summary> ! /// ! /// </summary> ! /// <param name="tableName"></param> ! /// <param name="alias"></param> ! /// <param name="fkColumns"></param> ! /// <param name="pkColumns"></param> ! /// <param name="joinType"></param> ! public override void AddJoin( string tableName, string alias, string[ ] fkColumns, string[ ] pkColumns, JoinType joinType ) { ! AddCrossJoin( tableName, alias ); ! for( int j = 0; j < fkColumns.Length; j++ ) { ! afterWhere.Add( " and " + fkColumns[ j ] ); ! if( joinType == JoinType.RightOuterJoin || joinType == JoinType.FullJoin ) ! { ! afterWhere.Add( "(+)" ); ! } ! afterWhere.Add( "=" + alias + StringHelper.Dot + pkColumns[ j ] ); ! ! if( joinType == JoinType.LeftOuterJoin || joinType == JoinType.FullJoin ) ! { ! afterWhere.Add( "(+)" ); ! } } } ! /// <summary></summary> ! public override SqlString ToFromFragmentString { get { return afterFrom.ToSqlString(); } } ! /// <summary></summary> ! public override SqlString ToWhereFragmentString { get { return afterWhere.ToSqlString(); } } ! /// <summary> ! /// ! /// </summary> ! /// <param name="fromFragment"></param> ! /// <param name="whereFragment"></param> ! public override void AddJoins( SqlString fromFragment, SqlString whereFragment ) { ! afterFrom.Add( fromFragment ); ! afterWhere.Add( whereFragment ); } ! /// <summary></summary> ! public override JoinFragment Copy() { OracleJoinFragment copy = new OracleJoinFragment(); *************** *** 54,94 **** } ! public override void AddCondition(string alias, string[] columns, string condition) { ! for (int i=0; i<columns.Length; i++) { ! afterWhere.Add(" and " + alias + StringHelper.Dot + columns[i] + condition ); } } ! public override void AddCondition(string alias, string[] columns, string condition, IType conditionType, ISessionFactoryImplementor factory) { ! Parameter[] parameters = Parameter.GenerateParameters(factory, alias, columns, conditionType); ! for( int i=0; i<columns.Length; i++) { ! afterWhere.Add( " and " + alias + StringHelper.Dot + columns[i] + condition ); ! afterWhere.Add( parameters[i] ); } } ! public override void AddCrossJoin(string tableName, string alias) { ! afterFrom.Add(StringHelper.CommaSpace + tableName + " " + alias); } ! public override void AddCondition(string alias, string[] fkColumns, string[] pkColumns) { throw new NotSupportedException(); } ! ! ! ! public override void AddCondition(string condition) { throw new NotSupportedException(); } ! public override void AddCondition(SqlString condition) { throw new NotSupportedException(); --- 75,145 ---- } ! /// <summary> ! /// ! /// </summary> ! /// <param name="alias"></param> ! /// <param name="columns"></param> ! /// <param name="condition"></param> ! public override void AddCondition( string alias, string[ ] columns, string condition ) { ! for( int i = 0; i < columns.Length; i++ ) { ! afterWhere.Add( " and " + alias + StringHelper.Dot + columns[ i ] + condition ); } } ! /// <summary> ! /// ! /// </summary> ! /// <param name="alias"></param> ! /// <param name="columns"></param> ! /// <param name="condition"></param> ! /// <param name="conditionType"></param> ! /// <param name="factory"></param> ! public override void AddCondition( string alias, string[ ] columns, string condition, IType conditionType, ISessionFactoryImplementor factory ) { ! Parameter[ ] parameters = Parameter.GenerateParameters( factory, alias, columns, conditionType ); ! for( int i = 0; i < columns.Length; i++ ) { ! afterWhere.Add( " and " + alias + StringHelper.Dot + columns[ i ] + condition ); ! afterWhere.Add( parameters[ i ] ); } } ! /// <summary> ! /// ! /// </summary> ! /// <param name="tableName"></param> ! /// <param name="alias"></param> ! public override void AddCrossJoin( string tableName, string alias ) { ! afterFrom.Add( StringHelper.CommaSpace + tableName + " " + alias ); } ! /// <summary> ! /// ! /// </summary> ! /// <param name="alias"></param> ! /// <param name="fkColumns"></param> ! /// <param name="pkColumns"></param> ! public override void AddCondition( string alias, string[ ] fkColumns, string[ ] pkColumns ) { throw new NotSupportedException(); } ! /// <summary> ! /// ! /// </summary> ! /// <param name="condition"></param> ! public override void AddCondition( string condition ) { throw new NotSupportedException(); } ! /// <summary> ! /// ! /// </summary> ! /// <param name="condition"></param> ! public override void AddCondition( SqlString condition ) { throw new NotSupportedException(); *************** *** 96,98 **** } ! } --- 147,149 ---- } ! } \ No newline at end of file Index: Parameter.cs =================================================================== RCS file: /cvsroot/nhibernate/nhibernate/src/NHibernate/SqlCommand/Parameter.cs,v retrieving revision 1.11 retrieving revision 1.12 diff -C2 -d -r1.11 -r1.12 *** Parameter.cs 4 Dec 2004 22:41:29 -0000 1.11 --- Parameter.cs 31 Dec 2004 22:25:00 -0000 1.12 *************** *** 1,11 **** - using System; //using System.Data; - //using NHibernate.Driver; using NHibernate.Engine; using NHibernate.SqlTypes; using NHibernate.Type; - namespace NHibernate.SqlCommand { --- 1,9 ---- //using System.Data; //using NHibernate.Driver; + using System; using NHibernate.Engine; using NHibernate.SqlTypes; using NHibernate.Type; namespace NHibernate.SqlCommand { *************** *** 15,39 **** /// </summary> [Serializable] ! public class Parameter: ICloneable { private string tableAlias; private string name; private SqlType _sqlType; ! ! public string Name { ! get{ return name;} ! set{ this.name = value;} } ! ! public string TableAlias { ! get {return tableAlias;} ! set {this.tableAlias = value;} } ! ! public SqlType SqlType { get { return _sqlType; } --- 13,38 ---- /// </summary> [Serializable] ! public class Parameter : ICloneable { private string tableAlias; private string name; private SqlType _sqlType; ! ! /// <summary></summary> ! public string Name { ! get { return name; } ! set { this.name = value; } } ! /// <summary></summary> ! public string TableAlias { ! get { return tableAlias; } ! set { this.tableAlias = value; } } ! /// <summary></summary> ! public SqlType SqlType { get { return _sqlType; } *************** *** 47,54 **** /// <param name="columnNames">The names of the Columns that compose the IType</param> /// <param name="type">The IType to turn into Parameters</param> /// <returns>An Array of IParameter objects</returns> ! public static Parameter[] GenerateParameters(ISessionFactoryImplementor factory, string[] columnNames, IType type) { ! return Parameter.GenerateParameters(factory, null, columnNames, type); } --- 46,54 ---- /// <param name="columnNames">The names of the Columns that compose the IType</param> /// <param name="type">The IType to turn into Parameters</param> + /// <param name="factory"></param> /// <returns>An Array of IParameter objects</returns> ! public static Parameter[ ] GenerateParameters( ISessionFactoryImplementor factory, string[ ] columnNames, IType type ) { ! return Parameter.GenerateParameters( factory, null, columnNames, type ); } *************** *** 62,90 **** /// <param name="type">The IType to turn into Parameters</param> /// <returns>An Array of IParameter objects</returns> ! public static Parameter[] GenerateParameters(ISessionFactoryImplementor factory, string tableAlias, string[] columnNames, IType type) { ! SqlType[] sqlTypes = type.SqlTypes(factory); ! Parameter[] parameters = new Parameter[sqlTypes.Length]; ! for(int i = 0; i < sqlTypes.Length; i++) { ! if(sqlTypes[i].LengthDefined) { ParameterLength param = new ParameterLength(); ! param.Length = sqlTypes[i].Length; ! parameters[i] = param; } ! else if(sqlTypes[i].PrecisionDefined) { ParameterPrecisionScale param = new ParameterPrecisionScale(); ! param.Precision = sqlTypes[i].Precision; ! param.Scale = sqlTypes[i].Scale; ! parameters[i] = param; } ! else { ! parameters[i] = new Parameter(); } ! parameters[i].Name = columnNames[i]; ! parameters[i].TableAlias = tableAlias; ! parameters[i].SqlType = sqlTypes[i]; } --- 62,94 ---- /// <param name="type">The IType to turn into Parameters</param> /// <returns>An Array of IParameter objects</returns> ! public static Parameter[ ] GenerateParameters( ISessionFactoryImplementor factory, string tableAlias, string[ ] columnNames, IType type ) { ! SqlType[ ] sqlTypes = type.SqlTypes( factory ); ! Parameter[ ] parameters = new Parameter[sqlTypes.Length]; ! for( int i = 0; i < sqlTypes.Length; i++ ) ! { ! if( sqlTypes[ i ].LengthDefined ) ! { ParameterLength param = new ParameterLength(); ! param.Length = sqlTypes[ i ].Length; ! parameters[ i ] = param; } ! else if( sqlTypes[ i ].PrecisionDefined ) ! { ParameterPrecisionScale param = new ParameterPrecisionScale(); ! param.Precision = sqlTypes[ i ].Precision; ! param.Scale = sqlTypes[ i ].Scale; ! parameters[ i ] = param; } ! else ! { ! parameters[ i ] = new Parameter(); } ! parameters[ i ].Name = columnNames[ i ]; ! parameters[ i ].TableAlias = tableAlias; ! parameters[ i ].SqlType = sqlTypes[ i ]; } *************** *** 95,115 **** #region object Members ! ! public override bool Equals(object obj) { Parameter rhs; ! // Step1: Perform an equals test ! if(obj==this) return true; // Step 2: Instance of check rhs = obj as Parameter; ! if(rhs==null) return false; //Step 3: Check each important field ! // these 2 fields will not be null so compare them... ! if( this.SqlType.Equals(rhs.SqlType)==false ! || this.Name.Equals(rhs.Name)==false) { return false; --- 99,129 ---- #region object Members ! ! /// <summary> ! /// ! /// </summary> ! /// <param name="obj"></param> ! /// <returns></returns> ! public override bool Equals( object obj ) { Parameter rhs; ! // Step1: Perform an equals test ! if( obj == this ) ! { ! return true; ! } // Step 2: Instance of check rhs = obj as Parameter; ! if( rhs == null ) ! { ! return false; ! } //Step 3: Check each important field ! // these 2 fields will not be null so compare them... ! if( this.SqlType.Equals( rhs.SqlType ) == false || this.Name.Equals( rhs.Name ) == false ) { return false; *************** *** 117,149 **** // becareful with TableAlias being null ! if(this.TableAlias==null && rhs.TableAlias==null) { return true; } ! else if (this.TableAlias==null && rhs.TableAlias!=null) { return false; } ! else { ! return this.TableAlias.Equals(rhs.TableAlias); } } public override int GetHashCode() { int hashCode = 0; ! unchecked { ! if( _sqlType!=null ) { hashCode += _sqlType.GetHashCode(); } ! if( name!=null ) { hashCode += name.GetHashCode(); } ! if(tableAlias!=null) { hashCode += tableAlias.GetHashCode(); --- 131,167 ---- // becareful with TableAlias being null ! if( this.TableAlias == null && rhs.TableAlias == null ) { return true; } ! else if( this.TableAlias == null && rhs.TableAlias != null ) { return false; } ! else { ! return this.TableAlias.Equals( rhs.TableAlias ); } } + /// <summary> + /// + /// </summary> + /// <returns></returns> public override int GetHashCode() { int hashCode = 0; ! unchecked { ! if( _sqlType != null ) { hashCode += _sqlType.GetHashCode(); } ! if( name != null ) { hashCode += name.GetHashCode(); } ! if( tableAlias != null ) { hashCode += tableAlias.GetHashCode(); *************** *** 154,162 **** } ! public override string ToString() { ! return (tableAlias==null || tableAlias.Length == 0)? ! ":" + name : ! ":" + tableAlias + "." + name; } --- 172,179 ---- } ! /// <summary></summary> ! public override string ToString() { ! return ( tableAlias == null || tableAlias.Length == 0 ) ? ":" + name : ":" + tableAlias + "." + name; } *************** *** 165,177 **** #region ICloneable Members ! public Parameter Clone() { ! ! Parameter paramClone = (Parameter)this.MemberwiseClone(); return paramClone; } ! object ICloneable.Clone() { return Clone(); --- 182,201 ---- #region ICloneable Members ! /// <summary> ! /// ! /// </summary> ! /// <returns></returns> ! public Parameter Clone() { ! Parameter paramClone = ( Parameter ) this.MemberwiseClone(); return paramClone; } ! /// <summary> ! /// ! /// </summary> ! /// <returns></returns> ! object ICloneable.Clone() { return Clone(); *************** *** 179,185 **** #endregion - - } ! } --- 203,207 ---- #endregion } ! } \ No newline at end of file |