private QuerySpec(string smartSql, int pageSize)
 {
     QueryType     = SmartQueryType.Smart;
     SmartSql      = smartSql;
     CountSmartSql = ComputeCountSql(smartSql);
     PageSize      = pageSize;
     SoupName      = null;
     Path          = null;
     MatchKey      = null;
     BeginKey      = null;
     EndKey        = null;
     LikeKey       = null;
 }
 private QuerySpec(string smartSql, int pageSize)
 {
     QueryType = SmartQueryType.Smart;
     SmartSql = smartSql;
     CountSmartSql = ComputeCountSql(smartSql);
     PageSize = pageSize;
     SoupName = null;
     Path = null;
     MatchKey = null;
     BeginKey = null;
     EndKey = null;
     LikeKey = null;
 }
 private QuerySpec(string soupName, string path, SmartQueryType queryType, string matchKey, string beginKey,
                   string endKey, string likeKey, SqlOrder order, int pageSize)
 {
     SoupName      = soupName;
     Path          = path;
     QueryType     = queryType;
     MatchKey      = matchKey;
     BeginKey      = beginKey;
     EndKey        = endKey;
     LikeKey       = likeKey;
     Order         = order;
     PageSize      = pageSize;
     SmartSql      = ComputeSmartSql();
     CountSmartSql = ComputeCountSql();
 }
 private QuerySpec(string soupName, string path, SmartQueryType queryType, string matchKey, string beginKey,
     string endKey, string likeKey, SqlOrder order, int pageSize)
 {
     SoupName = soupName;
     Path = path;
     QueryType = queryType;
     MatchKey = matchKey;
     BeginKey = beginKey;
     EndKey = endKey;
     LikeKey = likeKey;
     Order = order;
     PageSize = pageSize;
     SmartSql = ComputeSmartSql();
     CountSmartSql = ComputeCountSql();
 }