rbock/sqlpp11-connector-sqlite3

why is the move constructor for connector deleted?

Closed this issue · 3 comments

I noticed that the implementation details between connectors varies a lot between each other. This is annoying when you try to build code that can be (conditionally) compiled with various db's.

I like very much your project for two reasons. First of all the native and type safe interface to SQL. But secondly that the interface can be used among various DB's. However, for that some "standard" API guidelines should be agreed. I noticed so far variations to creating a connection.

  1. constructor requiring shared_ptr (postgresql and mysql) and some not (sqlite3).
  2. disabled move constructors. (sqlite3 and myslq)
rbock commented

Deleting the move constructor / assignment was an oversight (or maybe laziness?) at the time.
I'd be happy to receive pull requests for the changes.

I am not sure how to solve the shared_ptr vs. object interface dilemma. One solution might be to stop storing most of the data in the connection anyway. Passing by const reference would be the right way to do it then (that's what I am aiming for in sqlpp17).

OK.
I've watched your presentation on sqlpp17 and as you mentioned it, how "mature" is it? I am not using sqlpp for production code at all. So I am ok with issues, as long as they are like the ones I have been facing in sqlpp11. I've "upgraded" my code to C++17 already and as such, I'm willing be your beta tester for sqlpp17.

rbock commented

Hi

Sorry for taking a bit to answer about the status: I did some massive cleanup in the last few weeks, and I believe that sqlpp17 is now approaching beta status.

Obviously, the documentation is completely missing.

The code is still littered with #warning hints for further cleanup or about missing tests. My main focus for the next few weeks is adding tests, cleaning up code. Documentation will follow.

Any kind of test result will help :-)