• [^] # Re: MediaGoblin, une petite demo n'aurait pas ete de trop

    Posté par . En réponse à la dépêche Petites brèves : MediaGoblin, CloudStack, Walt Disney et G'MIC. Évalué à 3.

    L'exemple très pénible pour les erreurs de syntaxe, c'est le "select fieldA from tableA group by field2". Cela ne fonctionne pas en PostgreSQL. Il faut que tous les champs du select soit dans le group by. Mine de rien, ça nous oblige à changer pas mal de requêtes ce genre de chose.

    Pour l'exemple de requête qui ne retourne pas la même chose avec PostgreSQL, ce que je retrouve sur notre bugtracker, c'est surtout des changements faits pour PostgreSQL qui ont pour conséquence de casser ce que MySQL retournait, par exemple sur une requête comme :

    SELECT c.uppercats, COUNT(DISTINCT i.id) AS img_count
     FROM '.IMAGES_TABLE.' i INNER JOIN '.IMAGE_CATEGORY_TABLE.' AS ic ON i.id=image_id
     INNER JOIN '.CATEGORIES_TABLE.' c ON c.id=category_id
     '.$where_sql.'
     AND date_available=\''.$dates[$i]['date_available'].'\'
     GROUP BY category_id, c.uppercats
     ORDER BY img_count DESC
     LIMIT '.$max_cats.'
    ;';
    
    

    en Postgresql ça retourne des lignes sans doublons, mais en MySQL on a des doublons. Donc on rajoute un DISTINCT, mais alors ça ne marche plus avec PostgreSQL : un peu galère.