Uploaded image for project: 'eZ Publish / Platform'
  1. eZ Publish / Platform
  2. EZP-3848

Error in postgresql with eZContentClassClassGroup::fetchClassListByGroups

    XMLWordPrintable

Details

    • Icon: Bug Bug
    • Resolution: Fixed
    • Icon: Low Low
    • None
    • None
    • Misc
    • None
    • Version: 3.4
      PHP Version:
      Webserver:
      Database:

    Description

      Error: eZPostgreSQLDB
      Error: error executing query: SELECT contentclass_id, contentclass_version, group_id, group_name
      FROM ezcontentclass_classgroup
      WHERE group_id IN ( '1' ) AND contentclass_version='0'
      GROUP BY contentclass_id
      ORDER BY contentclass_id ASC ERROR: Attribute ezcontentclass_classgroup.contentclass_version must be GROUPed or used in an aggregate function

      Environment:
      PostgreSQL 7.3.4
      PHP Version 4.3.6
      eZPublish 3.4
      Apache 2.0
      Linux Fedora core 1

      Error replication:

      include_once( 'kernel/classes/ezcontentclassclassgroup.php' );
      $classIDList =& eZContentClassClassGroup::fetchClassListByGroups( 0, array( 1 ) );
      

      Solution proposal:
      In kernel/classes/ezcontentclassclassgroup.php line 148

      $classGroupList =& eZPersistentObject::fetchObjectList(
                                              eZContentClassClassGroup::definition(),
                                              array( 'contentclass_id'),
                                              array( "group_id" => $groupIDList,
                                                      "contentclass_version" => $contentclassVersion ),
                                              null,
                                              null,
                                              false,
                                              array( 'contentclass_id' ) );
      
      

      PHP warning in foreach if $classGroupList is null.

      if ( is_array($classGroupList) )
      if ( $asObject )
      {
      foreach ( $classGroupList as $classGroup )
      {
      $classList[] = eZContentClass::fetch( $classGroup['contentclass_id'] );
      }
      }
      else
      {
      foreach ( $classGroupList as $classGroup )
      {
      $classList[] = $classGroup['contentclass_id'];
      }
      }
      }
      

      Thanks

      Attachments

        Activity

          People

            unknown unknown
            fhernandez fhernandez
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: