You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
31 lines
750 B
31 lines
750 B
using System.Text;
|
|
|
|
namespace Marr.Data.QGen
|
|
{
|
|
public class SqliteRowCountQueryDecorator : IQuery
|
|
{
|
|
private SelectQuery _innerQuery;
|
|
|
|
public SqliteRowCountQueryDecorator(SelectQuery innerQuery)
|
|
{
|
|
_innerQuery = innerQuery;
|
|
}
|
|
|
|
public string Generate()
|
|
{
|
|
StringBuilder sql = new StringBuilder();
|
|
|
|
BuildSelectCountClause(sql);
|
|
_innerQuery.BuildFromClause(sql);
|
|
_innerQuery.BuildJoinClauses(sql);
|
|
_innerQuery.BuildWhereClause(sql);
|
|
|
|
return sql.ToString();
|
|
}
|
|
|
|
private void BuildSelectCountClause(StringBuilder sql)
|
|
{
|
|
sql.AppendLine("SELECT COUNT(*)");
|
|
}
|
|
}
|
|
} |