Hi Guys,
Amarok, the audio player of KDE has recently switched to using MySQL embedded
as their storage backend (they used SQLite before). They approached me with a
few questions that I could need some help with, especially 1+2. Could some
kind soul please provide me with some input? Thanks in advance!
-------- Original Message --------
Subject: Amarok support of MySQL Embedded
Date: Tue, 29 Jul 2008 20:59:21 +0400
From: Edward Hades <edward.hades@stripped>
To: lenz@stripped
CC: amarok-devel@stripped
Hello Lanz!
I currently work on MySQL Embedded integration into Amarok and was told
that you have been enthusiastic about it and that we could count on your
help. So we do ;)
We have successfully managed to compile and run Amarok with it, but had
several issues with that (rated in order of increasing significance):
1. Key limit in MyISAM engine is 1000 bytes. Amarok currently uses
larger keys, and I had to manually increase this limit. I guess we
should actually work on some db redesign to eliminate these keys, since
they bring performance drawback, but I am not a DB specialist, and we
would really appreciate an inside view on what to do best here.
2. MySQL embedded uses exit() when it encounters a severe error. I am
not sure what is the threshold of severity between exit() and
non-exit(), but still it would be hardly friendly for a GUI program to
quit abruptly without any error messages and such. I understand, that
this code is shared with big MySQL brother, but I've managed to evade it
with simple macro that redefines exit(). Maybe there is a better way to
tell MySQL to use slightly less radical approach to error handling?
3. It builds by default with no -fPIC flag, and that is bad for us,
because our SQL-related code resides in a shared library. I did not dig
MySQL's configure scripts, but I think it should honor --with-pic flag
when building libmysqld.a (which it does not).
Thank you in advance for your support, we hope that Amarok is doomed to
long and prosper life with MySQL embedded as DB backend.
Bye,
LenZ
--
Lenz Grimmer - MySQL Community Relations Manager - http://de.sun.com/
Sun Microsystems GmbH, Sonnenallee 1, 85551 Kirchheim-Heimstetten, DE
Geschaeftsfuehrer: Thomas Schroeder, Wolfang Engels, Dr. Roland Boemer
Vorsitz d. Aufsichtsrates: Martin Haering AG Muenchen: HRB161028
Attachment: [application/pgp-signature] OpenPGP digital signature signature.asc