sqlpp11-0.35 released

Finally! sqlpp11 now supports date and datetime and can be compiled with MSVC 2015 Update 1.

There are also a bunch of smaller features, like the empty .in() or the case_when() expressions. And of course a bunch of smaller fixes, improved compile time error messages, plus some refactoring to make the library easier to understand.

date and datetime

Based on Howard Hinnant’s wonderful date library, sqlpp11 now supports date and datetime column types. For instance, assuming we had

Then you could do

Compiles with MSVC 2015 Update 1

Thanks to the latest improvements in the Microsoft’s C++ compiler and the relentless efforts by isliser sqlpp11 can now be compiled with MSVC 2015 Update 1!

There are now some workarounds in the code that I want to get rid of asap. Here is a list of the issues that isliser stumbled across while adjusting sqlpp11:

Hoping for the next update, I am watching those bugs 🙂

Compiles with Xcode 7

Less surprising since Xcode 7 is based on clang, but still: Good to know.

Support for case when then else

sqlpp11 now supports expressions like

The expressions of then and else_ have to be of the same type.

Support for empty in()

You can now use in with empty lists, e.g.

Detect non-aggregates in case of GROUP BY

If you group your results via GROUP BY, then selected columns have to be aggregates. Either by being aggregate functions like count() or sum(), or by consisting of group_by expressions.

sqlpp11 now enforces this at compile time.