Ejemplo n.º 1
0
        /// <summary>
        /// Processes the expression.
        /// </summary>
        /// <param name="expression">The expression.</param>
        /// <param name="db">The db.</param>
        /// <param name="definition">The view definition.</param>
        /// <returns></returns>
        public ExpressionVisitor ProcessExpression(Expression expression, IBigDDatabase db, IBigDViewDefinition definition)
        {
            Query = db.Query(definition);
            VisitExpression(expression);

            switch (keys.Count)
            {
            case 0:     // 0 keys means it's a range query. do nothing.
                break;

            case 1:     // 1 key means it's a single Equals or a Contains on a single.
                Query.Key(keys[0]);
                break;

            default:     // neither 0 nor 1 means that we've got a set of keys to test.
                Query.Keys(keys);
                break;
            }

            return(this);
        }
Ejemplo n.º 2
0
 /// <summary>
 /// Initializes a new instance of the <see cref="BigDDesignDocument"/> class.
 /// </summary>
 /// <param name="documentId">The document identifier.</param>
 /// <param name="owner">The owner.</param>
 public BigDDesignDocument(string documentId, IBigDDatabase owner)
     : base("_design/" + documentId)
 {
     Owner = owner;
 }
Ejemplo n.º 3
0
 /// <summary>
 /// Initializes a new instance of the <see cref="BigDQueryProvider"/> class.
 /// </summary>
 /// <param name="db">The db.</param>
 /// <param name="definition">The definition.</param>
 public BigDQueryProvider(IBigDDatabase db, IBigDViewDefinition definition)
 {
     this.db         = db;
     this.definition = definition;
 }
Ejemplo n.º 4
0
 /// <summary>
 /// Initializes a new instance of the <see cref="BigDQueryProvider"/> class.
 /// </summary>
 /// <param name="db">The db.</param>
 /// <param name="design">The design.</param>
 /// <param name="view">The view.</param>
 public BigDQueryProvider(IBigDDatabase db, string design, string view)
 {
     this.db     = db;
     this.view   = view;
     this.design = design;
 }
Ejemplo n.º 5
0
 /// <summary>
 /// Processes the expression.
 /// </summary>
 /// <param name="expression">The expression.</param>
 /// <param name="db">The db.</param>
 /// <param name="design">The name of the design document.</param>
 /// <param name="view">The name of the view.</param>
 /// <returns></returns>
 public ExpressionVisitor ProcessExpression(Expression expression, IBigDDatabase db, string design, string view)
 {
     Query = db.Query(design, view);
     VisitExpression(expression);
     return(this);
 }
Ejemplo n.º 6
0
 /// <summary>
 /// Gets the database copy.
 /// </summary>
 /// <param name="db">The database.</param>
 /// <returns>IReconcilingDocument.</returns>
 public virtual IReconcilingDocument GetDatabaseCopy(IBigDDatabase db)
 {
     return(db.GetDocument <BigDDocument>(Id));
 }
Ejemplo n.º 7
0
 public BigDRequest(IBigDDatabase db)
 {
     server  = db.Server;
     this.db = db;
 }