extragear/multimedia/amarok
Dan Meltzer
parallelgrapefruit at gmail.com
Tue Sep 23 16:25:43 CEST 2008
On Tue, Sep 23, 2008 at 10:23 AM, Dan Meltzer
<parallelgrapefruit at gmail.com> wrote:
> On Tue, Sep 23, 2008 at 10:09 AM, Ian Monroe <ian.monroe at gmail.com> wrote:
>> SVN commit 863921 by ianmonroe:
>>
>> Enable MySQL Embedded support. So now Amarok 2 requires the libmysqld.a library.
>> On OpenSUSE, this is installed with libmysqlclient-devel, YMMV.
>>
>> We're pretty close to the beta2 tag, so if something is commonly not working
>> ping me and I'll revert. It'd be really nice to have this tested in the beta2
>> though.
>>
>> The reason for the 'FindMySQLAmarok' file is that the default FindMySQL couldn't
>> find mysql embedded on my system. I figure there might be some more corrections
>> needed, then we can submit our changes upstream in ~1 month.
>
> As recently blogged about by the kde-windows team, mysqle is a no go
> on windows due to mysql being pretty horrible upstream.
>
> Dan,
... And to finish my email...
How about, for now (as the sqlite code hasn't been deleted yet) until
we find a solution on windows (which will probably take a while) we
still use sqlite on windows and mysql on linux?
>>
>> CCMAIL: amarok at kde.org
>> CCMAIL: amarok-devel at kde.org
>>
>> M +3 -0 CMakeLists.txt
>> M +2 -0 ChangeLog
>> A cmake/modules/FindMySQLAmarok.cmake
>> M +6 -19 src/browsers/servicebrowser/magnatunestore/MagnatuneDatabaseHandler.cpp
>> M +4 -4 src/collection/sqlcollection/CMakeLists.txt
>> M +3 -3 src/collection/sqlcollection/SqlCollection.cpp
>>
>>
>> --- trunk/extragear/multimedia/amarok/CMakeLists.txt #863920:863921
>> @@ -33,6 +33,9 @@
>> find_package(Strigi REQUIRED)
>> macro_log_feature( STRIGI_FOUND "strigi" "Index metadata of files" "http://strigi.sourceforge.net" TRUE "" "" )
>>
>> +find_package(MySQLAmarok REQUIRED)
>> +macro_log_feature( MYSQL_EMBEDDED_FOUND "mysqld" "Embedded MySQL" "http://www.mysql.com" TRUE "" "" )
>> +
>> include_directories (${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_BINARY_DIR} ${KDE4_INCLUDES} ${TAGLIB_INCLUDES})
>> include(CheckTagLibFileName)
>>
>> --- trunk/extragear/multimedia/amarok/ChangeLog #863920:863921
>> @@ -25,6 +25,8 @@
>> * Add option to enable/disable automatic cover fetching.
>>
>> CHANGES:
>> + * Switch from Sqlite to MySQL Embedded (libmysqld), resulting in faster
>> + scanning and collection filtering times.
>> * When saving a new user playlist, the playlist browser immediately shows
>> the newly saved playlist and starts an edit operation on it.
>> * Many small visual and layout tweaks.
>> --- trunk/extragear/multimedia/amarok/src/browsers/servicebrowser/magnatunestore/MagnatuneDatabaseHandler.cpp #863920:863921
>> @@ -39,24 +39,11 @@
>> //Get database instance
>> SqlStorage *sqlDb = CollectionManager::instance()->sqlStorage();
>>
>> - QString tracksAutoIncrement = "";
>> - QString albumsAutoIncrement = "";
>> - QString artistAutoIncrement = "";
>> - QString genreAutoIncrement = "";
>> - QString moodsAutoIncrement = "";
>> + QString autoIncrement = "AUTO_INCREMENT";
>>
>> - /*
>> - if ( sqlDb->type() == DbConnection::mysql )
>> - {
>> - tracksAutoIncrement = "AUTO_INCREMENT";
>> - albumsAutoIncrement = "AUTO_INCREMENT";
>> - artistAutoIncrement = "AUTO_INCREMENT";
>> - moodsAutoIncrement = "AUTO_INCREMENT";
>> - }*/
>> -
>> // create table containing tracks
>> QString queryString = "CREATE TABLE magnatune_tracks ("
>> - "id INTEGER PRIMARY KEY " + tracksAutoIncrement + ',' +
>> + "id INTEGER PRIMARY KEY " + autoIncrement + ',' +
>> "name " + sqlDb->textColumnType() + ',' +
>> "track_number INTEGER,"
>> "length INTEGER,"
>> @@ -76,7 +63,7 @@
>>
>> //Create album table
>> queryString = "CREATE TABLE magnatune_albums ("
>> - "id INTEGER PRIMARY KEY " + albumsAutoIncrement + ',' +
>> + "id INTEGER PRIMARY KEY " + autoIncrement + ',' +
>> "name " + sqlDb->textColumnType() + ',' +
>> "year INTEGER,"
>> "artist_id INTEGER,"
>> @@ -94,7 +81,7 @@
>>
>> //Create artist table
>> queryString = "CREATE TABLE magnatune_artists ("
>> - "id INTEGER PRIMARY KEY " + artistAutoIncrement + ',' +
>> + "id INTEGER PRIMARY KEY " + autoIncrement + ',' +
>> "name " + sqlDb->textColumnType() + ',' +
>> "artist_page " + sqlDb->exactTextColumnType() + ',' +
>> "description " + sqlDb->textColumnType() + ',' +
>> @@ -108,7 +95,7 @@
>>
>> //create genre table
>> queryString = "CREATE TABLE magnatune_genre ("
>> - "id INTEGER PRIMARY KEY " + genreAutoIncrement + ',' +
>> + "id INTEGER PRIMARY KEY " + autoIncrement + ',' +
>> "name " + sqlDb->textColumnType() + ',' +
>> "album_id INTEGER" + ");";
>>
>> @@ -120,7 +107,7 @@
>>
>> //create moods table
>> queryString = "CREATE TABLE magnatune_moods ("
>> - "id INTEGER PRIMARY KEY " + moodsAutoIncrement + ',' +
>> + "id INTEGER PRIMARY KEY " + autoIncrement + ',' +
>> "track_id INTEGER," +
>> "mood " + sqlDb->textColumnType() + ");";
>>
>> --- trunk/extragear/multimedia/amarok/src/collection/sqlcollection/CMakeLists.txt #863920:863921
>> @@ -16,7 +16,7 @@
>> ${KDE4_INCLUDE_DIR}
>> ${STRIGI_INCLUDE_DIR}
>> ${QT_INCLUDES}
>> - # ${MYSQL_INCLUDE_DIR}
>> + ${MYSQL_INCLUDE_DIR}
>> )
>>
>> ########### next target ###############
>> @@ -45,7 +45,7 @@
>> SqlMeta.cpp
>> SqliteCollection.cpp
>> ../../sqlite/sqlite3.c
>> - # MySqlEmbeddedCollection.cpp
>> + MySqlEmbeddedCollection.cpp
>> ${extra_src}
>> )
>>
>> @@ -64,7 +64,7 @@
>> ${KDE4_KIO_LIBS}
>> ${KDE4_THREADWEAVER_LIBRARIES}
>> ${sqlite_deps}
>> - # ${MYSQL_EMBEDDED_LIBRARIES} crypt ssl crypto z
>> + ${MYSQL_EMBEDDED_LIBRARIES} crypt ssl crypto z
>> )
>>
>> if(APPLE)
>> @@ -77,7 +77,7 @@
>> # MySqlQueryMaker.cpp)
>> #
>> # kde4_add_plugin(amarok_collection-mysql WITH_PREFIX ${amarok_mysql_SRCS})
>> -# target_link_libraries(amarok_collection-mysql amaroklib ${MYSQL_LIBS} ${KDE4_KDECORE_LIBS} )
>> +# target_link_libraries(amarok_collection-mysql amaroklib ${MYSQL_LIBS} ${KDE4_KDECORE_LIBS} ssl )
>> # install(TARGETS amarok_collection-mysql DESTINATION ${PLUGIN_INSTALL_DIR})
>> # install(FILES amarok_collection-mysql.desktop DESTINATION ${SERVICES_INSTALL_DIR})
>> #endif(MYSQL_FOUND)
>> --- trunk/extragear/multimedia/amarok/src/collection/sqlcollection/SqlCollection.cpp #863920:863921
>> @@ -25,7 +25,7 @@
>> #include "SqlCollectionLocation.h"
>> #include "SqlQueryMaker.h"
>> #include "SqliteCollection.h"
>> -//#include "MySqlEmbeddedCollection.h"
>> +#include "MySqlEmbeddedCollection.h"
>> //#include "mysqlcollection.h"
>>
>> #ifdef Q_OS_WIN32
>> @@ -62,8 +62,8 @@
>> break;
>> }*/
>> // uncomment next to test MySQLe (and comment the next to next)
>> -// collection = new MySqlEmbeddedCollection( "localCollection", i18n( "Local Collection" ) );
>> - collection = new SqliteCollection( "localCollection", i18n( "Local Collection" ) );
>> + collection = new MySqlEmbeddedCollection( "localCollection", i18n( "Local Collection" ) );
>> +// collection = new SqliteCollection( "localCollection", i18n( "Local Collection" ) );
>> emit newCollection( collection );
>> }
>>
>> _______________________________________________
>> Amarok-devel mailing list
>> Amarok-devel at kde.org
>> https://mail.kde.org/mailman/listinfo/amarok-devel
>>
>
More information about the Amarok-devel
mailing list