CBLQuery

@interface CBLQuery : NSObject

A database query. A CBLQuery instance can be constructed by calling one of the select methods.

  • Create a query from the select and from component. - parameter: select the select component reresenting the SELECT clause of the query. - parameter: from the from component representing the FROM clause of the query. - returns: the CBLQuery instance.

    Declaration

    Objective-C

    + (nonnull instancetype)select:(nonnull CBLQuerySelect *)select
                              from:(nonnull CBLQueryDataSource *)from;

    Swift

    class func select(_ select: CBLQuerySelect, from: CBLQueryDataSource) -> Self

    Parameters

    select

    the select component reresenting the SELECT clause of the query.

    from

    the from component representing the FROM clause of the query.

    Return Value

    the CBLQuery instance.

  • Create a distinct query from the select and from component. - parameter: selectDistinct the select component representing the SELECT clause of the query. - parameter: from the from component representing the FROM clause of the query. - returns: the CBLQuery instance.

    Declaration

    Objective-C

    + (nonnull instancetype)selectDistinct:(nonnull CBLQuerySelect *)selectDistinct
                                      from:(nonnull CBLQueryDataSource *)from;

    Swift

    class func selectDistinct(_ selectDistinct: CBLQuerySelect, from: CBLQueryDataSource) -> Self

    Parameters

    selectDistinct

    the select component representing the SELECT clause of the query.

    from

    the from component representing the FROM clause of the query.

    Return Value

    the CBLQuery instance.

  • Create a query from the select, from, and where component. - parameter: select the select component representing the SELECT clause of the query. - parameter: from the from component representing the FROM clause of the query. - parameter: where the where component representing the WHERE clause of the query. - returns: the CBLQuery instance.

    Declaration

    Objective-C

    + (nonnull instancetype)select:(nonnull CBLQuerySelect *)select
                              from:(nonnull CBLQueryDataSource *)from
                             where:(nullable CBLQueryExpression *)where;

    Swift

    class func select(_ select: CBLQuerySelect, from: CBLQueryDataSource, where: CBLQueryExpression?) -> Self

    Parameters

    select

    the select component representing the SELECT clause of the query.

    from

    the from component representing the FROM clause of the query.

    where

    the where component representing the WHERE clause of the query.

    Return Value

    the CBLQuery instance.

  • Create a distinct query from the select, from, and where component. - parameter: selectDistinct the select component representing the SELECT clause of the query. - parameter: from the from component representing the FROM clause of the query. - parameter: where the where component representing the WHERE clause of the query. - returns: the CBLQuery instance.

    Declaration

    Objective-C

    + (nonnull instancetype)selectDistinct:(nonnull CBLQuerySelect *)selectDistinct
                                      from:(nonnull CBLQueryDataSource *)from
                                     where:(nullable CBLQueryExpression *)where;

    Swift

    class func selectDistinct(_ selectDistinct: CBLQuerySelect, from: CBLQueryDataSource, where: CBLQueryExpression?) -> Self

    Parameters

    selectDistinct

    the select component representing the SELECT clause of the query.

    from

    the from component representing the FROM clause of the query.

    where

    the where component representing the WHERE clause of the query.

    Return Value

    the CBLQuery instance.

  • Create a query Create a query from the select, from, where, and order by component. - parameter: select the select component representing the SELECT clause of the query. - parameter: from the from component representing the FROM clause of the query. - parameter: where the where component representing the WHERE clause of the query. - parameter: orderBy the order by component representing the ORDER BY clause of the query. - returns: the CBLQuery instance.

    Declaration

    Objective-C

    + (nonnull instancetype)select:(nonnull CBLQuerySelect *)select
                              from:(nonnull CBLQueryDataSource *)from
                             where:(nullable CBLQueryExpression *)where
                           orderBy:(nullable CBLQueryOrderBy *)orderBy;

    Swift

    class func select(_ select: CBLQuerySelect, from: CBLQueryDataSource, where: CBLQueryExpression?, orderBy: CBLQueryOrderBy?) -> Self

    Parameters

    select

    the select component representing the SELECT clause of the query.

    from

    the from component representing the FROM clause of the query.

    where

    the where component representing the WHERE clause of the query.

    orderBy

    the order by component representing the ORDER BY clause of the query.

    Return Value

    the CBLQuery instance.

  • Create a distinct query Create a query from the select, from, where, and order by component. - parameter: selectDistinct the select component representing the SELECT clause of the query. - parameter: from the from component representing the FROM clause of the query. - parameter: where the where component representing the WHERE clause of the query. - parameter: orderBy the order by component representing the ORDER BY clause of the query. - returns: the CBLQuery instance.

    Declaration

    Objective-C

    + (nonnull instancetype)selectDistinct:(nonnull CBLQuerySelect *)selectDistinct
                                      from:(nonnull CBLQueryDataSource *)from
                                     where:(nullable CBLQueryExpression *)where
                                   orderBy:(nullable CBLQueryOrderBy *)orderBy;

    Swift

    class func selectDistinct(_ selectDistinct: CBLQuerySelect, from: CBLQueryDataSource, where: CBLQueryExpression?, orderBy: CBLQueryOrderBy?) -> Self

    Parameters

    selectDistinct

    the select component representing the SELECT clause of the query.

    from

    the from component representing the FROM clause of the query.

    where

    the where component representing the WHERE clause of the query.

    orderBy

    the order by component representing the ORDER BY clause of the query.

    Return Value

    the CBLQuery instance.

  • Checks whether the query is valid, recompiling it if necessary, without running it. - parameter: outError If an error occurs, it will be stored here if this parameter is non-NULL. - returns: YES if the query is valid, or NO if the query is not valid.

    Declaration

    Objective-C

    - (BOOL)check:(NSError *_Nullable *_Nullable)outError;

    Swift

    func check() throws

    Parameters

    outError

    If an error occurs, it will be stored here if this parameter is non-NULL.

    Return Value

    YES if the query is valid, or NO if the query is not valid.

  • Returns a string describing the implementation of the compiled query. This is intended to be read by a developer for purposes of optimizing the query, especially to add database indexes. It’s not machine-readable and its format may change.

    As currently implemented, the result is two or more lines separated by newline characters:
    * The first line is the SQLite SELECT statement.
    * The subsequent lines are the output of SQLite's "EXPLAIN QUERY PLAN" command applied to that
    statement; for help interpreting this, see https://www.sqlite.org/eqp.html . The most
    important thing to know is that if you see "SCAN TABLE", it means that SQLite is doing a
    slow linear scan of the documents instead of using an index.
    - parameter: outError If an error occurs, it will be stored here if this parameter is non-NULL.
    - returns: a string describing the implementation of the compiled query.
    

    Declaration

    Objective-C

    - (nullable NSString *)explain:(NSError *_Nullable *_Nullable)outError;

    Swift

    func explain() throws -> String

    Parameters

    outError

    If an error occurs, it will be stored here if this parameter is non-NULL.

    Return Value

    a string describing the implementation of the compiled query.

  • Runs the query. The returning an enumerator that returns result rows one at a time. You can run the query any number of times, and you can even have multiple enumerators active at once. The results come from a snapshot of the database taken at the moment -run: is called, so they will not reflect any changes made to the database afterwards. - parameter: outError If an error occurs, it will be stored here if this parameter is non-NULL. - returns: an enumerator of the query result.

    Declaration

    Objective-C

    - (nullable NSEnumerator<CBLQueryRow *> *)run:
        (NSError *_Nullable *_Nullable)outError;

    Swift

    func run() throws -> NSEnumerator

    Parameters

    outError

    If an error occurs, it will be stored here if this parameter is non-NULL.

    Return Value

    an enumerator of the query result.

  • Undocumented

    Declaration

    Objective-C

    @interface CBLQuery : NSObject