On Sun, 28 Apr 2002, Andreas Krueger wrote:
> c) It doesn't seem to be sufficiently stable and tested
> -------------------------------------------------------
> -> Installing it and getting it running seems to be
> VERY difficult (not only but also on Windows):
> my experiences, yours and those of many others.
> -> It works only with a small set of compilers - why?
> OK, it takes some time to learn plattform-independent C++,
> but up to now, I got ALL of my projects compiled on
> VisualC++, GCC and HP-Unix C++! More than 10000 lines of code.
> -> e.g.: (At least on Windows) the SSQLS are said
> (by lazyfox who did the porting to VC++ 6)
> to be buggy or not-functioning.
> But that is not mentioned anywhere in the manual!
i have said this over and over again, but people appear not to be
listening and twisting my words:
the main version of mysql++ (1.7.9) works fine under the unix platforms as
far as i know. SSQLS, all template functions, etc, are all working
correctly under it!
the mysql++ version which i ported to VC++ (1.7.1) has, on the other hand,
a number of bugs. these bugs are purely caused by the fact that VC++ can't
handle the amount of templates in mysql++. this is purely a fault of
microsoft's compiler which doesn't adhere to ANSI C++ standards, not of
the programmers of mysql++. these bugs can only be solved by rewriting all
these templates, which is not a simple task.
here is a list of bugs that are known to me IN THE VISUAL C++ VERSION
ONLY:
- the SSQLS are working, but only if you use relatively small structs
(smaller than 16 i believe) and use vectors for storing the data.
otherwise VC++ bugs out and gives an internal compiler error.
- the auto-quoting system doesn't work when doing queries (also due to
template problems). this can be worked around by just adding quotes
manually to your query/data strings.
- VC++ has support for longlongs, but no ANSI functions that support this
type (like strtoll), so this type isn't really supported under VC++
furthermore, i want to say that i'm not officially connected to MySQL AB.
i'm just somebody who did a C++ project under VC++ and needed mysql
support. i found out about mysql++, which was just what i needed. but to
my disappointment only unix and borland platforms were supported.
however, instead of whining to the programmers about this, i ported it to
VC++ myself, originally only for use with my own project. because i only
needed its basic functionality i didn't really care to test its more complex
functions (the basic functionality is really working quite fine).
later i thought that there might be more people who wanted a VC++ version
of MySQL++, so i posted my port to the maintainer of mysql++ who put the
package on the website.
now, since i finished my project, i'm not really doing anything with
mysql++ anymore, which means that i'm not going to fix the bugs in the
VC++ version unless somebody employs me for it.
so, basically, if you want a VC++ version of mysql++ without these bugs,
please feel free to just take the code and fix it. it isn't open-source
for nothing after all.
however, what i can't stand is that somebody, who encountered these bugs
in my CONTRIBUTED VC++ version, goes screaming around that mysql++ is a
completely bad product because of that.
if you want to use the C version, by all means do that. if you want to use
the VC++ version without bugs, go contribute a new one!
lazyfox.