Skip to content

Latest commit

 

History

History
106 lines (87 loc) · 7.09 KB

TODO.md

File metadata and controls

106 lines (87 loc) · 7.09 KB

Cleanup

  • SQLCipher: sqlite3_rekey is discouraged (ccgus/fmdb#547 (comment))
  • Write regression tests for #156 and #157
  • Fix matchingRowIds (todo: what is the problem, already?)
  • deprecate ScopeAdapter(base, scopes), because base.addingScopes has a better implementation
  • groue/GRDB.swift#514
  • Test NOT TESTED methods
  • Cancellation of a started ValueObservation. Context: groue/GRDB.swift#601 (comment)
  • Remove submodules

Documentation

  • Document that creating "too many" ValueObservation increases database contention. This also applies to database pools, because when observations create reader contention, they also create writer contention. Context: groue/GRDB.swift#601 (comment)
  • Enhance the introduction to SQLRequest, based on the feedback in groue/GRDB.swift#617
  • Association: document how to use aggregates with inner join (testAnnotatedWithHasManyDefaultMaxJoiningRequired)
  • Association: document ordered vs. non-ordered hasMany and hasManyThrough associations

Features

Unsure if necessary

Unsure how

  • Association limits: Author.including(optional: Author.books.order(date.desc).first)

  • Joins and full-text tables

  • UPSERT https://www.sqlite.org/lang_UPSERT.html

  • Support for "INSERT INTO ... SELECT ...".

  • Look at the jazzy configuration of https://github.com/bignerdranch/Deferred

  • Predicates, so that a filter can be evaluated both on the database, and on a record instance.

    After investigation, we can't do it reliably without knowing the collation used by a column. And SQLite does not provide this information elsewhere than in the full CREATE TABLE statement stored in sqlite_master.

  • ValueObservation erasure

    // Do better than this
    observation.mapReducer { _, reducer in AnyValueReducer(reducer) }
    
  • new.updateChanges(from: old) vs. old.updateChanges(with: { old.a = new.a }). This is confusing.

Reading list