madlib/madlib — pull request #87 by fschopp (2011-12-21 10:47:34+00:00)
Title: Integrate modifications to C++ abstraction layer

Major design change in C++ abstraction layer:
- Moved from a design based on abstract base classes to a policy-based design
- Advantages:
+ Remove as much overhead as possible
+ Simpler design (though possibly syntactically a bit harder)
+ Less code to maintain
+ Much more straihtforward control flow
+ No unnecessary object creation. Completely got rid of using shared_ptr
- Disadvantages:
+ The dbconnector part is now also header-only and it needs to include the postgres headers. Hence, there is the potential of name clashes (though it is possible to circumvent these problems).
+ Slightly higher memory usage because of template code. Probably irrelevant in practice though.