Update of /cvsroot/nhibernate/nhibernate/src/NHibernate/SqlCommand
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv1216/NHibernate/SqlCommand
Modified Files:
SelectFragment.cs
Log Message:
Add methods to add a forumla to a select fragment.
Index: SelectFragment.cs
===================================================================
RCS file: /cvsroot/nhibernate/nhibernate/src/NHibernate/SqlCommand/SelectFragment.cs,v
retrieving revision 1.3
retrieving revision 1.4
diff -C2 -d -r1.3 -r1.4
*** SelectFragment.cs 15 Apr 2004 11:36:36 -0000 1.3
--- SelectFragment.cs 23 Jun 2004 21:08:58 -0000 1.4
***************
*** 15,19 ****
private string suffix;
private IList columns = new ArrayList();
! private IList aliases = new ArrayList();
private IList columnAliases = new ArrayList();
private Dialect.Dialect dialect;
--- 15,19 ----
private string suffix;
private IList columns = new ArrayList();
! //private IList aliases = new ArrayList();
private IList columnAliases = new ArrayList();
private Dialect.Dialect dialect;
***************
*** 49,54 ****
public SelectFragment AddColumn(string tableAlias, string columnName, string columnAlias)
{
! columns.Add(columnName);
! aliases.Add(tableAlias);
columnAliases.Add(columnAlias);
return this;
--- 49,61 ----
public SelectFragment AddColumn(string tableAlias, string columnName, string columnAlias)
{
! if(tableAlias==null || tableAlias==String.Empty)
! {
! columns.Add(columnName);
! }
! else
! {
! columns.Add(tableAlias + StringHelper.Dot + columnName);
! }
!
columnAliases.Add(columnAlias);
return this;
***************
*** 68,71 ****
--- 75,100 ----
}
+ public SelectFragment AddFormulas(string tableAlias, string[] formulas, string[] formulaAliases)
+ {
+ for(int i=0; i < formulas.Length; i++)
+ {
+ AddFormula(tableAlias, formulas[i], formulaAliases[i]);
+ }
+
+ return this;
+ }
+
+ public SelectFragment AddFormula(string tableAlias, string formula, string formulaAlias)
+ {
+
+ AddColumn(
+ null,
+ StringHelper.Replace(formula, Template.PlaceHolder, tableAlias),
+ formulaAlias);
+
+ return this;
+ }
+
+
public SqlString ToSqlStringFragment()
{
***************
*** 83,88 ****
if(i > 0 || includeLeadingComma) buf.Append(StringHelper.CommaSpace);
! string alias = aliases[i] as string;
! if (alias!=null) buf.Append(alias).Append(StringHelper.Dot);
string columnAlias = columnAliases[i] as string;
--- 112,117 ----
if(i > 0 || includeLeadingComma) buf.Append(StringHelper.CommaSpace);
! // string alias = aliases[i] as string;
! // if (alias!=null) buf.Append(alias).Append(StringHelper.Dot);
string columnAlias = columnAliases[i] as string;
|