Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Use CBLQueryBuilder in CBLIncrementalStore #571

Closed
pasin opened this issue Jan 23, 2015 · 2 comments
Closed

Use CBLQueryBuilder in CBLIncrementalStore #571

pasin opened this issue Jan 23, 2015 · 2 comments
Assignees
Milestone

Comments

@pasin
Copy link
Contributor

pasin commented Jan 23, 2015

Use CBLQueryBuilder in CBLIncrementalStore so that:

  1. View can be auto-generated based on fetch request's predicate.
  2. Support more types of predicates such as compound predicates.
  3. Simplify query coding logic.

Limitation:
No relationship queries (Join) supported by CBLQueryBuilder. We could detect this and fall back to full-table scan as the current CBLIncrementalStore does when there are no views specified.

@pasin pasin self-assigned this Jan 23, 2015
@zgramana zgramana added this to the 1.1.0 milestone Jan 23, 2015
pasin added a commit that referenced this issue Feb 2, 2015
…arch

- Use CBLQueryBuilder to fetch documents with predicates that do not have relationship keypath, otherwise fall back to the old way of using view and post filtering.
- Scan the original predice to generate a new predicate with template and a variable dictionary.
- Refator executeRequest:request:context:error method by seperating out each type of requests into its own method.
- Update unit tests

#571
pasin added a commit that referenced this issue Feb 2, 2015
…arch

- Use CBLQueryBuilder to fetch documents with predicates that do not have relationship keypath, otherwise fall back to the old way of using view and post filtering.
- Scan the original predice to generate a new predicate with template and a variable dictionary.
- Refator executeRequest:request:context:error method by seperating out each type of requests into its own method.
- Update unit tests

#571
pasin added a commit that referenced this issue Feb 2, 2015
…arch

- Use CBLQueryBuilder to fetch documents with predicates that do not have relationship keypath, otherwise fall back to the old way of using view and post filtering.
- Scan the original predice to generate a new predicate with template and a variable dictionary.
- Refator executeRequest:request:context:error method by seperating out each type of requests into its own method.
- Update unit tests

#571
pasin added a commit that referenced this issue Feb 2, 2015
…arch

- Use CBLQueryBuilder to fetch documents with predicates that do not have relationship keypath, otherwise fall back to the old way of using view and post filtering.
- Scan the original predice to generate a new predicate with template and a variable dictionary.
- Refator executeRequest:request:context:error method by seperating out each type of requests into its own method.
- Update unit tests

#571
pasin added a commit that referenced this issue Feb 3, 2015
…arch

- Use CBLQueryBuilder to fetch documents with predicates that do not have relationship keypath, otherwise fall back to the old way of using view and post filtering.
- Scan the original predice to generate a new predicate with template and a variable dictionary.
- Refator executeRequest:request:context:error method by seperating out each type of requests into its own method.
- Update unit tests

#571
pasin added a commit that referenced this issue Feb 3, 2015
…arch

- Use CBLQueryBuilder to fetch documents with predicates that do not have relationship keypath, otherwise fall back to the old way of using view and post filtering.
- Scan the original predice to generate a new predicate with template and a variable dictionary.
- Refator executeRequest:request:context:error method by seperating out each type of requests into its own method.
- Update unit tests

#571
pasin added a commit that referenced this issue Feb 3, 2015
…arch

- Use CBLQueryBuilder to fetch documents with predicates that do not have relationship keypath, otherwise fall back to the old way of using view and post filtering.
- Scan the original predice to generate a new predicate with template and a variable dictionary.
- Refator executeRequest:request:context:error method by seperating out each type of requests into its own method.
- Update unit tests

#571
@zgramana zgramana added size-small and removed epic labels Feb 6, 2015
pasin added a commit that referenced this issue Feb 6, 2015
…arch

- Use CBLQueryBuilder to fetch documents with predicates that do not have relationship keypath, otherwise fall back to the old way of using view and post filtering.
- Scan the original predice to generate a new predicate with template and a variable dictionary.
- Refator executeRequest:request:context:error method by seperating out each type of requests into its own method.
- Update unit tests

#571
pasin added a commit that referenced this issue Feb 6, 2015
- QueryBuilder caching in the fetchByUsingQueryBuilderWithPredicate mthod.
- Handle invalid data type when converting from CBL value to Core Data value
- Use CBLJSON to serialize cache key.

#571
snej added a commit that referenced this issue Feb 9, 2015
CBLIncrementalStore - Utilize CBLQueryBuilder and add relationship search (#571)
@snej
Copy link
Contributor

snej commented Feb 10, 2015

Can this be closed now that the PR has been merged? Or is there more work?

@pasin
Copy link
Contributor Author

pasin commented Feb 10, 2015

This can be closed now.

@pasin pasin closed this as completed Feb 10, 2015
@pasin pasin removed the in progress label Feb 10, 2015
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants