From: Kevin W. <kev...@us...> - 2004-12-31 22:24:47
|
Update of /cvsroot/nhibernate/nhibernate/src/NHibernate/SqlCommand In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv9087 Modified Files: Alias.cs ANSICaseFragment.cs ANSIJoinFragment.cs CaseFragment.cs Log Message: fixing xml comments and letting ReSharper do reformatting Index: ANSIJoinFragment.cs =================================================================== RCS file: /cvsroot/nhibernate/nhibernate/src/NHibernate/SqlCommand/ANSIJoinFragment.cs,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** ANSIJoinFragment.cs 18 Aug 2004 20:43:58 -0000 1.2 --- ANSIJoinFragment.cs 31 Dec 2004 22:24:36 -0000 1.3 *************** *** 1,4 **** using System; - using NHibernate.Engine; using NHibernate.Type; --- 1,3 ---- *************** *** 15,22 **** private SqlStringBuilder conditions = new SqlStringBuilder(); ! public override void AddJoin(string tableName, string alias, string[] fkColumns, string[] pkColumns, JoinType joinType) { string joinString = null; ! switch (joinType) { case JoinType.InnerJoin: --- 14,29 ---- private SqlStringBuilder conditions = 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 ) { string joinString = null; ! switch( joinType ) { case JoinType.InnerJoin: *************** *** 33,66 **** break; default: ! throw new AssertionFailure("undefind join type"); } buffer.Add( joinString + tableName + ' ' + alias + " on " ); ! for (int j=0; j<fkColumns.Length; j++) { ! if (fkColumns[j].IndexOf('.')<1) throw new AssertionFailure("missing alias"); ! buffer.Add( fkColumns[j] + "=" + alias + StringHelper.Dot + pkColumns[j] ); ! if (j<fkColumns.Length-1) buffer.Add(" and "); } } ! public override SqlString ToFromFragmentString { get { return buffer.ToSqlString(); } } ! public override SqlString ToWhereFragmentString { get { return conditions.ToSqlString(); } } ! public override void AddJoins(SqlString fromFragment, SqlString whereFragment) { ! buffer.Add(fromFragment); //where fragment must be empty! } ! public override JoinFragment Copy() { ANSIJoinFragment copy = new ANSIJoinFragment(); --- 40,87 ---- break; default: ! throw new AssertionFailure( "undefind join type" ); } buffer.Add( joinString + tableName + ' ' + alias + " on " ); ! for( int j = 0; j < fkColumns.Length; j++ ) { ! if( fkColumns[ j ].IndexOf( '.' ) < 1 ) ! { ! throw new AssertionFailure( "missing alias" ); ! } ! buffer.Add( fkColumns[ j ] + "=" + alias + StringHelper.Dot + pkColumns[ j ] ); ! if( j < fkColumns.Length - 1 ) ! { ! buffer.Add( " and " ); ! } } } ! /// <summary></summary> ! public override SqlString ToFromFragmentString { get { return buffer.ToSqlString(); } } ! /// <summary></summary> ! public override SqlString ToWhereFragmentString { get { return conditions.ToSqlString(); } } ! /// <summary> ! /// ! /// </summary> ! /// <param name="fromFragment"></param> ! /// <param name="whereFragment"></param> ! public override void AddJoins( SqlString fromFragment, SqlString whereFragment ) { ! buffer.Add( fromFragment ); //where fragment must be empty! } ! /// <summary></summary> ! public override JoinFragment Copy() { ANSIJoinFragment copy = new ANSIJoinFragment(); *************** *** 69,107 **** } ! public override void AddCondition(string alias, string[] columns, string condition) { ! for (int i=0; i<columns.Length; i++) { ! conditions.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++) { ! conditions.Add( " and " + alias + StringHelper.Dot + columns[i] + condition ); ! conditions.Add( parameters[i] ); } } ! ! public override void AddCrossJoin(string tableName, string alias) { ! buffer.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(); --- 90,160 ---- } ! /// <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++ ) { ! conditions.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++ ) { ! conditions.Add( " and " + alias + StringHelper.Dot + columns[ i ] + condition ); ! conditions.Add( parameters[ i ] ); } } ! /// <summary> ! /// ! /// </summary> ! /// <param name="tableName"></param> ! /// <param name="alias"></param> ! public override void AddCrossJoin( string tableName, string alias ) { ! buffer.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(); *************** *** 110,112 **** } ! } --- 163,165 ---- } ! } \ No newline at end of file Index: Alias.cs =================================================================== RCS file: /cvsroot/nhibernate/nhibernate/src/NHibernate/SqlCommand/Alias.cs,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** Alias.cs 16 Aug 2004 05:18:52 -0000 1.1 --- Alias.cs 31 Dec 2004 22:24:36 -0000 1.2 *************** *** 1,6 **** - using System; - - using NHibernate.Dialect; - namespace NHibernate.SqlCommand { --- 1,2 ---- *************** *** 13,23 **** private readonly string suffix; ! public Alias(int length, string suffix) { ! this.length = (suffix==null) ? length : length - suffix.Length; this.suffix = suffix; } ! public Alias(string suffix) { this.length = int.MaxValue; --- 9,28 ---- private readonly string suffix; ! /// <summary> ! /// ! /// </summary> ! /// <param name="length"></param> ! /// <param name="suffix"></param> ! public Alias( int length, string suffix ) { ! this.length = ( suffix == null ) ? length : length - suffix.Length; this.suffix = suffix; } ! /// <summary> ! /// ! /// </summary> ! /// <param name="suffix"></param> ! public Alias( string suffix ) { this.length = int.MaxValue; *************** *** 25,54 **** } ! public string ToAliasString(string sqlIdentifier, Dialect.Dialect dialect) { ! bool isQuoted = dialect.IsQuoted(sqlIdentifier); string unquoted; ! if(isQuoted) { ! unquoted = dialect.UnQuote(sqlIdentifier); } ! else { unquoted = sqlIdentifier; } ! if ( unquoted.Length > length ) { ! unquoted = unquoted.Substring(0, length); } ! if (suffix!=null) unquoted += suffix; ! if ( isQuoted ) { ! return dialect.QuoteForAliasName(unquoted); } ! else { return unquoted; --- 30,68 ---- } ! /// <summary> ! /// ! /// </summary> ! /// <param name="sqlIdentifier"></param> ! /// <param name="dialect"></param> ! /// <returns></returns> ! public string ToAliasString( string sqlIdentifier, Dialect.Dialect dialect ) { ! bool isQuoted = dialect.IsQuoted( sqlIdentifier ); string unquoted; ! if( isQuoted ) { ! unquoted = dialect.UnQuote( sqlIdentifier ); } ! else { unquoted = sqlIdentifier; } ! if( unquoted.Length > length ) { ! unquoted = unquoted.Substring( 0, length ); } ! if( suffix != null ) ! { ! unquoted += suffix; ! } ! if( isQuoted ) { ! return dialect.QuoteForAliasName( unquoted ); } ! else { return unquoted; *************** *** 57,80 **** } ! public string ToUnquotedAliasString(string sqlIdentifier, Dialect.Dialect dialect) { ! string unquoted = dialect.UnQuote(sqlIdentifier); ! if(unquoted.Length > length) { ! unquoted = unquoted.Substring(0, length); } ! if(suffix!=null) unquoted += suffix; return unquoted; } ! public string[] ToUnquotedAliasStrings(string[] sqlIdentifiers, Dialect.Dialect dialect) { ! string[] aliases = new string[sqlIdentifiers.Length]; ! for(int i = 0; i < sqlIdentifiers.Length; i++) { ! aliases[i] = ToUnquotedAliasString(sqlIdentifiers[i], dialect); } --- 71,109 ---- } ! /// <summary> ! /// ! /// </summary> ! /// <param name="sqlIdentifier"></param> ! /// <param name="dialect"></param> ! /// <returns></returns> ! public string ToUnquotedAliasString( string sqlIdentifier, Dialect.Dialect dialect ) { ! string unquoted = dialect.UnQuote( sqlIdentifier ); ! if( unquoted.Length > length ) { ! unquoted = unquoted.Substring( 0, length ); } ! if( suffix != null ) ! { ! unquoted += suffix; ! } return unquoted; } ! /// <summary> ! /// ! /// </summary> ! /// <param name="sqlIdentifiers"></param> ! /// <param name="dialect"></param> ! /// <returns></returns> ! public string[ ] ToUnquotedAliasStrings( string[ ] sqlIdentifiers, Dialect.Dialect dialect ) { ! string[ ] aliases = new string[sqlIdentifiers.Length]; ! for( int i = 0; i < sqlIdentifiers.Length; i++ ) { ! aliases[ i ] = ToUnquotedAliasString( sqlIdentifiers[ i ], dialect ); } *************** *** 82,96 **** } ! ! public string[] ToAliasStrings(string[] sqlIdentifiers, Dialect.Dialect dialect) { ! string[] aliases = new string[ sqlIdentifiers.Length ]; ! for ( int i=0; i<sqlIdentifiers.Length; i++ ) { ! aliases[i] = ToAliasString(sqlIdentifiers[i], dialect); } return aliases; } } ! } --- 111,131 ---- } ! ! /// <summary> ! /// ! /// </summary> ! /// <param name="sqlIdentifiers"></param> ! /// <param name="dialect"></param> ! /// <returns></returns> ! public string[ ] ToAliasStrings( string[ ] sqlIdentifiers, Dialect.Dialect dialect ) { ! string[ ] aliases = new string[sqlIdentifiers.Length]; ! for( int i = 0; i < sqlIdentifiers.Length; i++ ) { ! aliases[ i ] = ToAliasString( sqlIdentifiers[ i ], dialect ); } return aliases; } } ! } \ No newline at end of file Index: CaseFragment.cs =================================================================== RCS file: /cvsroot/nhibernate/nhibernate/src/NHibernate/SqlCommand/CaseFragment.cs,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** CaseFragment.cs 4 Mar 2004 04:10:15 -0000 1.1 --- CaseFragment.cs 31 Dec 2004 22:24:36 -0000 1.2 *************** *** 1,4 **** - using System; - namespace NHibernate.SqlCommand { --- 1,2 ---- *************** *** 6,17 **** /// Represents an SQL <c>case when ... then ... end as ...</c> /// </summary> ! public abstract class CaseFragment { ! public abstract CaseFragment SetReturnColumnName(string returnColumnName); ! public abstract CaseFragment SetReturnColumnName(string returnColumnName, string suffix); ! public abstract CaseFragment AddWhenColumnNotNull(string alias, string columnName, string columnValue); public abstract SqlString ToSqlStringFragment(); } ! ! } --- 4,37 ---- /// Represents an SQL <c>case when ... then ... end as ...</c> /// </summary> ! public abstract class CaseFragment { ! /// <summary> ! /// ! /// </summary> ! /// <param name="returnColumnName"></param> ! /// <returns></returns> ! public abstract CaseFragment SetReturnColumnName( string returnColumnName ); ! ! /// <summary> ! /// ! /// </summary> ! /// <param name="returnColumnName"></param> ! /// <param name="suffix"></param> ! /// <returns></returns> ! public abstract CaseFragment SetReturnColumnName( string returnColumnName, string suffix ); ! ! /// <summary> ! /// ! /// </summary> ! /// <param name="alias"></param> ! /// <param name="columnName"></param> ! /// <param name="columnValue"></param> ! /// <returns></returns> ! public abstract CaseFragment AddWhenColumnNotNull( string alias, string columnName, string columnValue ); ! ! /// <summary></summary> public abstract SqlString ToSqlStringFragment(); } ! ! } \ No newline at end of file Index: ANSICaseFragment.cs =================================================================== RCS file: /cvsroot/nhibernate/nhibernate/src/NHibernate/SqlCommand/ANSICaseFragment.cs,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** ANSICaseFragment.cs 16 Aug 2004 05:18:52 -0000 1.3 --- ANSICaseFragment.cs 31 Dec 2004 22:24:36 -0000 1.4 *************** *** 1,9 **** - using System; using System.Collections; using System.Text; - using NHibernate.Util; - namespace NHibernate.SqlCommand { --- 1,6 ---- *************** *** 16,20 **** private Dialect.Dialect dialect; ! public ANSICaseFragment(Dialect.Dialect dialect) { this.dialect = dialect; --- 13,21 ---- private Dialect.Dialect dialect; ! /// <summary> ! /// ! /// </summary> ! /// <param name="dialect"></param> ! public ANSICaseFragment( Dialect.Dialect dialect ) { this.dialect = dialect; *************** *** 25,29 **** private IList cases = new ArrayList(); ! public override CaseFragment SetReturnColumnName(string returnColumnName) { this.returnColumnName = returnColumnName; --- 26,35 ---- private IList cases = new ArrayList(); ! /// <summary> ! /// ! /// </summary> ! /// <param name="returnColumnName"></param> ! /// <returns></returns> ! public override CaseFragment SetReturnColumnName( string returnColumnName ) { this.returnColumnName = returnColumnName; *************** *** 31,69 **** } ! public override CaseFragment SetReturnColumnName(string returnColumnName, string suffix) { ! return SetReturnColumnName( new Alias(suffix).ToAliasString( returnColumnName, dialect ) ); } ! public override CaseFragment AddWhenColumnNotNull(string alias, string columnName, string columnValue) { string key = alias + StringHelper.Dot + columnName + " is not null"; ! ! cases.Add(" when " + key + " then " + columnValue ); return this; } public override SqlString ToSqlStringFragment() { ! ! StringBuilder buf = new StringBuilder( cases.Count * 15 + 10 ); ! buf.Append("case"); ! for(int i = 0 ; i < cases.Count; i++) { ! buf.Append(cases[i]); } ! buf.Append(" end"); ! if( returnColumnName != null ) { ! buf.Append(" as ") ! .Append(returnColumnName); } ! return new SqlString(buf.ToString()); } } ! } --- 37,88 ---- } ! /// <summary> ! /// ! /// </summary> ! /// <param name="returnColumnName"></param> ! /// <param name="suffix"></param> ! /// <returns></returns> ! public override CaseFragment SetReturnColumnName( string returnColumnName, string suffix ) { ! return SetReturnColumnName( new Alias( suffix ).ToAliasString( returnColumnName, dialect ) ); } ! /// <summary> ! /// ! /// </summary> ! /// <param name="alias"></param> ! /// <param name="columnName"></param> ! /// <param name="columnValue"></param> ! /// <returns></returns> ! public override CaseFragment AddWhenColumnNotNull( string alias, string columnName, string columnValue ) { string key = alias + StringHelper.Dot + columnName + " is not null"; ! ! cases.Add( " when " + key + " then " + columnValue ); return this; } + /// <summary></summary> public override SqlString ToSqlStringFragment() { ! StringBuilder buf = new StringBuilder( cases.Count*15 + 10 ); ! buf.Append( "case" ); ! for( int i = 0; i < cases.Count; i++ ) { ! buf.Append( cases[ i ] ); } ! buf.Append( " end" ); ! if( returnColumnName != null ) { ! buf.Append( " as " ) ! .Append( returnColumnName ); } ! return new SqlString( buf.ToString() ); } } ! } \ No newline at end of file |