Ticket #2395: patch_use_new_db_structure.diff
File patch_use_new_db_structure.diff, 6.4 KB (added by , 17 years ago) |
---|
-
programs/mythbackend/httpstatus.cpp
1045 1045 1046 1046 if (query.isConnected()) 1047 1047 { 1048 query.prepare("SELECT filename FROM music metadata WHERE intid = :KEY" );1048 query.prepare("SELECT filename FROM music_songs song WHERE song_id = :KEY" ); 1049 1049 query.bindValue(":KEY", nTrack ); 1050 1050 query.exec(); 1051 1051 -
programs/mythbackend/upnpcdsmusic.cpp
52 52 53 53 static RootInfo g_RootNodes[] = 54 54 { 55 { "All Music", 55 { "All Music", 56 56 "*", 57 "SELECT intid as id, "58 " title asname, "57 "SELECT song_id as id, " 58 "name, " 59 59 "1 as children " 60 "FROM music metadata"60 "FROM music_songs song " 61 61 "%1 " 62 "ORDER BY title",62 "ORDER BY name", 63 63 "" }, 64 64 65 65 { "Recently Added", 66 66 "*", 67 "SELECT intid id, "68 " title asname, "67 "SELECT song_id id, " 68 "name, " 69 69 "1 as children " 70 "FROM music metadata"70 "FROM music_songs song " 71 71 "%1 " 72 "ORDER BY title",73 "WHERE (DATEDIFF( CURDATE(), date_ added ) <= 30 ) " },72 "ORDER BY name", 73 "WHERE (DATEDIFF( CURDATE(), date_modified ) <= 30 ) " }, 74 74 75 { "By Album", 76 "album ",77 "SELECT a lbumas id, "78 "a lbumas name, "79 "count( album) as children "80 "FROM music metadata"75 { "By Album", 76 "album_id", 77 "SELECT a.album_id as id, " 78 "a.album_name as name, " 79 "count( song.album_id ) as children " 80 "FROM music_songs song join music_albums a on a.album_id = song.album_id " 81 81 "%1 " 82 "GROUP BY a lbum"83 "ORDER BY a lbum",84 "WHERE album=:KEY" },82 "GROUP BY a.album_id " 83 "ORDER BY a.album_name", 84 "WHERE song.album_id=:KEY" }, 85 85 86 87 86 88 /* 87 89 88 { "By Artist", 89 "artist ",90 "SELECT a rtistas id, "91 "a rtistas name, "92 "count( distinct album) as children "93 "FROM music metadata"90 { "By Artist", 91 "artist_id", 92 "SELECT a.artist_id as id, " 93 "a.artist_name as name, " 94 "count( distinct song.artist_id ) as children " 95 "FROM music_songs song join music_artists a on a.artist_id = song.artist_id " 94 96 "%1 " 95 "GROUP BY a rtist"96 "ORDER BY a rtist",97 "WHERE artist=:KEY" },97 "GROUP BY a.artist_id " 98 "ORDER BY a.artist_name", 99 "WHERE song.artist_id=:KEY" }, 98 100 */ 99 101 /* 100 101 "genre ",102 "SELECT g enreas id, "102 { "By Genre", 103 "genre_id", 104 "SELECT g.genre_id as id, " 103 105 "genre as name, " 104 "count( distinct artist) as children "105 "FROM music metadata"106 "count( distinct song.genre_id ) as children " 107 "FROM music_songs song join music_genres g on g.genre_id = song.genre_id " 106 108 "%1 " 107 "GROUP BY g enre"108 "ORDER BY g enre",109 "WHERE genre=:KEY" },109 "GROUP BY g.genre_id " 110 "ORDER BY g.genre", 111 "WHERE song.genre_id=:KEY" }, 110 112 111 113 */ 112 114 }; … … 117 119 // 118 120 ///////////////////////////////////////////////////////////////////////////// 119 121 120 #define SHARED_MUSIC_SQL "SELECT intid, artist, album, title, " \ 121 "genre, year, tracknum, description, " \ 122 "filename, length " \ 123 "FROM musicmetadata " 122 #define SHARED_MUSIC_SQL "SELECT song.song_id as intid, artist.artist_name as artist, " \ 123 "album.album_name as album, song.name as title, " \ 124 "genre.genre, song.year, song.track as tracknum, " \ 125 "song.description, song.filename, song.length " \ 126 "FROM music_songs song " \ 127 " join music_artists artist on artist.artist_id = song.artist_id " \ 128 " join music_albums album on album.album_id = song.album_id " \ 129 " join music_genres genre on genre.genre_id = song.genre_id " \ 130 " %1 " 124 131 132 125 133 ///////////////////////////////////////////////////////////////////////////// 126 134 // 127 135 ///////////////////////////////////////////////////////////////////////////// … … 596 604 QString sSQL; 597 605 598 606 if (sColumn == "*") 599 sSQL = QString( "SELECT count( * ) FROM music metadata%1" ).arg( sWhere );607 sSQL = QString( "SELECT count( * ) FROM music_songs song %1" ).arg( sWhere ); 600 608 else 601 sSQL = QString( "SELECT count( DISTINCT %1 ) FROM music metadata" ).arg( sColumn );609 sSQL = QString( "SELECT count( DISTINCT %1 ) FROM music_songs song" ).arg( sColumn ); 602 610 603 611 query.prepare( sSQL ); 604 612 query.exec(); … … 630 638 // Note: Tried to use Bind, however it would not allow me to use it 631 639 // for column & table names 632 640 633 QString sSQL = QString( "SELECT count( %1 ) FROM music metadata%2" )641 QString sSQL = QString( "SELECT count( %1 ) FROM music_songs song %2" ) 634 642 .arg( g_RootNodes[ nNodeIdx ].column ) 635 643 .arg( g_RootNodes[ nNodeIdx ].where ); 636 644 … … 672 680 if (query.isConnected()) 673 681 { 674 682 QString sSQL = QString( SHARED_MUSIC_SQL 675 " %1LIMIT %2, %3" )683 "LIMIT %2, %3" ) 676 684 .arg( g_RootNodes[ nNodeIdx ].where ) 677 685 .arg( pRequest->m_nStartingIndex ) 678 686 .arg( pRequest->m_nRequestedCount );