Roadmap for diesel 2.0

Roadmap for diesel 2.0

  • Allow macro imports (There is already this PR, that needs a decision about how we want to structure our docs)
  • Fix missing parts in our query dsl, notably:
    • Adding proper GROUP BY support (experimental branch)
    • Adding support for aliasing (PR)
    • Allow a variable amount of bind calls for raw sql fragments and queries. (We need some way to box SqlLiteral and SqlQuery, PR)
  • Make it possible to implement backends outside of diesel (at least by using some nightly rust features)
    • This involves the following changes:
      • Adding a possibility to override the sql statement used to create the migrations table
      • Allow to specialize some trait impl’s behind the unstablefeature flag
      • Investigate into a mechanism to extend diesel-cli for adding support for an additional backend?
    • See the changes required for diesel-oci (Some of those changes are just a hack and need a better solution)
    • Investigate what may required by additional backends (MSSQL, …)
  • Make it possible to use diesel without a static at compile time known schema
    • This involves changing the raw value representation of the backends to include some type information in addition to the raw byte array (affects MySql and Postgres)
    • For postgres there is already this PR
    • Similar change is needed for MySQL
    • Think about an way that would allow to just get back a Iterator<Item = (&str, DB::RawValue)> (Probably possible by changing NamedRow slightly?)
    • Additional work helpers should go to diesel-dynamic-schema, that could be developed without blocking the 2.0 release
  • Removing all items marked as deprecated in one of the 1.x releases