On 10/23/2011 3:02 PM, Ilya Kalujny wrote:
> -class MYSQLPP_EXPORT SQLStream :
> -public std::ostringstream
> +class MYSQLPP_EXPORT SQLStream
> + std::ostringstream ostream_;
This is an ABI breakage. It could therefore only be considered for v4.0
at the earliest.
It also requires us to basically reimplement the ostringstream public
interface if we want to at least provide duck typing equivalence. Your
version only provides the operator<<() interface, which may well work
for 90% of the code using MySQL++, but I've got to imagine some people
are using other interfaces they get for free with the current design.
> Due to the problem mentioned here:
...wherein, they point to a MS bug DB article that basically says "tuff
luck, yer skrewd."
Isn't the standard wisdom that MS's empire was built in part on
backwards compatibility with previous reasonable behavior wherever
possible, even at the expense of progress? Dropping old broken things I
can understand, but why is this new limitation good "by design"? It
feels more like a bad side effect of some optimization.
> Maybe it should go into repo to save other people some trouble.
The mailing list is as far as it will go, unless a MySQL++ 4.0 is ever
started, which looks fairly unlikely.
People are welcome to apply this hack of a patch to their copy if they
like. It would increase their burden of responsibility under the terms
of the LGPL to do so, of course.