WARNING: this is a niggly detail post.
> inline ~DefaultInsertPolicy() {
I'm not wild about things like 'inline' and 'register' in code that
doesn't have critical performance requirements. I trust the compiler's
optimizer. As has been stated many, many times, MySQL++ is never the
bottleneck.
Also, inline couples a library to the executable, which can prevent you
from upgrading the library without recompiling the executable. The same
can be said of templates, but we use templates in MySQL++ only where
they are necessary. inline isn't necessary.
> inline void startQuery() {
MySQL++ uses all-lowercase with underscores for member functions. I'm
not wild about it, but we can't go changing it now.
> template <class SSQLS>
> bool canAdd(const SSQLS & object) const {
I wouldn't use SSQLS as a template parameter name. insertfrom() should
work with vector<Row>, too. RowT, maybe?
> Transaction transaction(*conn_);
Thank you. I feared I was going to see some raw SQL here for this. :)