Moodle
  1. Moodle
  2. MDL-26045

sql error in online block when separate group mode enabled

    Details

    • Type: Bug Bug
    • Status: Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: 2.0, 2.0.1
    • Fix Version/s: 2.0.2
    • Component/s: Blocks
    • Labels:
      None
    • Environment:
      Moodle 2.0.1, Linux CentOS, Apache, MySQL 5.0.91, PHP 5.2.14.
    • Database:
      MySQL
    • Affected Branches:
      MOODLE_20_STABLE
    • Fixed Branches:
      MOODLE_20_STABLE
    • Rank:
      16008

      Description

      Following debug msg is rcvd when new user tries to access course that they've been manually enrolled in.

      1. Add new user
      2. Manually enrolling them in a course
      3. Login as new user and try access course

      Debug info: Unknown column 'u.id' in 'on clause'
      SELECT u.id,u.picture,u.firstname,u.lastname,u.imagealt,u.email,u.username, MAX(ul.timeaccess) AS lastaccess
      FROM mdl_user_lastaccess ul, mdl_user u , mdl_groups_members gm
      JOIN (SELECT DISTINCT eu1_u.id
      FROM mdl_user eu1_u
      JOIN mdl_user_enrolments eu1_ue ON eu1_ue.userid = eu1_u.id
      JOIN mdl_enrol eu1_e ON (eu1_e.id = eu1_ue.enrolid AND eu1_e.courseid = ?)
      WHERE eu1_u.deleted = 0 AND eu1_u.id <> ?) euj ON euj.id = u.id
      WHERE ul.timeaccess > 1295354600
      AND u.id = ul.userid
      AND ul.courseid = ?
      AND u.id = gm.userid AND gm.groupid = ?
      GROUP BY u.id,u.picture,u.firstname,u.lastname,u.imagealt,u.email,u.username
      ORDER BY lastaccess DESC LIMIT 0, 50
      [array (
      0 => '7',
      1 => '1',
      2 => '7',
      3 => 0,
      )]
      Stack trace:
      line 391 of /lib/dml/moodle_database.php: dml_read_exception thrown
      line 769 of /lib/dml/mysqli_native_moodle_database.php: call to moodle_database->query_end()
      line 114 of /blocks/online_users/block_online_users.php: call to mysqli_native_moodle_database->get_records_sql()
      line 279 of /blocks/moodleblock.class.php: call to block_online_users->get_content()
      line 232 of /blocks/moodleblock.class.php: call to block_base->formatted_contents()
      line 895 of /lib/blocklib.php: call to block_base->get_content_for_output()
      line 947 of /lib/blocklib.php: call to block_manager->create_block_contents()
      line 342 of /lib/blocklib.php: call to block_manager->ensure_content_created()
      line 7 of /theme/base/layout/general.php: call to block_manager->region_has_content()
      line 647 of /lib/outputrenderers.php: call to include()
      line 605 of /lib/outputrenderers.php: call to core_renderer->render_page_layout()
      line 1200 of /lib/setuplib.php: call to core_renderer->header()
      line 196 of /course/view.php: call to bootstrap_renderer->__call()
      line 196 of /course/view.php: call to bootstrap_renderer->header()

        Activity

        Hide
        Chad Outten added a comment -

        Changed issue component. Should also mention this debug info was produced after recent upgrade from 1.9.9 to 2.0.

        Show
        Chad Outten added a comment - Changed issue component. Should also mention this debug info was produced after recent upgrade from 1.9.9 to 2.0.
        Hide
        Chad Outten added a comment -

        find below results of functional database test.

        Running tests on: Current database (native/mysqli)

        Fail: lib/dml/simpletest/testdml.php / ▶ dml_test / ▶ test_unique_index_collation_trouble
        Unique index is accent insensitive, this may cause problems for non-ascii languages. This is usually caused by accent insensitive default collation. at [/home/creative/public_html/lib/dml/simpletest/testdml.php line 2769]
        Exception: lib/dml/simpletest/testdml.php / ▶ dml_test / ▶ test_unique_index_collation_trouble
        Unexpected exception of type [dml_write_exception] with message [Error writing to database] in [/home/creative/public_html/lib/dml/moodle_database.php line 394]
        Debug info:
        Duplicate entry 'aäa' for key 2
        INSERT INTO mdl_unit_table (name) VALUES
        [array (
        0 => 'aäa',
        )]
        line 853 of /lib/dml/mysqli_native_moodle_database.php: call to moodle_database->query_end()
        line 895 of /lib/dml/mysqli_native_moodle_database.php: call to mysqli_native_moodle_database->insert_record_raw()
        line 2763 of /lib/dml/simpletest/testdml.php: call to mysqli_native_moodle_database->insert_record()
        line ... of ...
        Fail: lib/dml/simpletest/testdml.php / ▶ dml_test / ▶ test_sql_binary_equal
        SQL operator "=" is expected to be accent sensitive at [/home/creative/public_html/lib/dml/simpletest/testdml.php line 2797]
        Fail: lib/dml/simpletest/testdml.php / ▶ dml_test / ▶ test_sql_binary_equal
        SQL operator "=" is expected to be case sensitive at [/home/creative/public_html/lib/dml/simpletest/testdml.php line 2800]
        2/2 test cases complete: 962 passes, 3 fails and 1 exceptions.
        Run at Wednesday, 19 January 2011, 06:53 AM. Time taken: 7 secs. Using SimpleTest version 1.0.1.

        Show
        Chad Outten added a comment - find below results of functional database test. — Running tests on: Current database (native/mysqli) Fail: lib/dml/simpletest/testdml.php / ▶ dml_test / ▶ test_unique_index_collation_trouble Unique index is accent insensitive, this may cause problems for non-ascii languages. This is usually caused by accent insensitive default collation. at [/home/creative/public_html/lib/dml/simpletest/testdml.php line 2769] Exception: lib/dml/simpletest/testdml.php / ▶ dml_test / ▶ test_unique_index_collation_trouble Unexpected exception of type [dml_write_exception] with message [Error writing to database] in [/home/creative/public_html/lib/dml/moodle_database.php line 394] Debug info: Duplicate entry 'aäa' for key 2 INSERT INTO mdl_unit_table (name) VALUES [array ( 0 => 'aäa', )] line 853 of /lib/dml/mysqli_native_moodle_database.php: call to moodle_database->query_end() line 895 of /lib/dml/mysqli_native_moodle_database.php: call to mysqli_native_moodle_database->insert_record_raw() line 2763 of /lib/dml/simpletest/testdml.php: call to mysqli_native_moodle_database->insert_record() line ... of ... Fail: lib/dml/simpletest/testdml.php / ▶ dml_test / ▶ test_sql_binary_equal SQL operator "=" is expected to be accent sensitive at [/home/creative/public_html/lib/dml/simpletest/testdml.php line 2797] Fail: lib/dml/simpletest/testdml.php / ▶ dml_test / ▶ test_sql_binary_equal SQL operator "=" is expected to be case sensitive at [/home/creative/public_html/lib/dml/simpletest/testdml.php line 2800] 2/2 test cases complete: 962 passes, 3 fails and 1 exceptions. Run at Wednesday, 19 January 2011, 06:53 AM. Time taken: 7 secs. Using SimpleTest version 1.0.1.
        Hide
        Petr Škoda added a comment -

        I have managed to reproduce it, this happens if you use the online_block and set forced separate group mode in course

        working on a fix, thanks for the report...

        Show
        Petr Škoda added a comment - I have managed to reproduce it, this happens if you use the online_block and set forced separate group mode in course working on a fix, thanks for the report...
        Hide
        Petr Škoda added a comment -

        Workaround is to remove/disable the online block.

        Show
        Petr Škoda added a comment - Workaround is to remove/disable the online block.
        Hide
        Petr Škoda added a comment -

        patch is here: https://github.com/skodak/moodle/compare/master...MDL-26045_20_wip_onlineblock

        This fix will be available in the weekly build next week.

        Thanks for the report.

        Show
        Petr Škoda added a comment - patch is here: https://github.com/skodak/moodle/compare/master...MDL-26045_20_wip_onlineblock This fix will be available in the weekly build next week. Thanks for the report.
        Hide
        Chad Outten added a comment -

        Ok, Petr. Thanks for heads up. Suggested workaround seems to resolve described issue.

        Show
        Chad Outten added a comment - Ok, Petr. Thanks for heads up. Suggested workaround seems to resolve described issue.
        Hide
        Helen Foster added a comment -

        Chad, thanks for your report and Petr, thanks for fixing it.

        Show
        Helen Foster added a comment - Chad, thanks for your report and Petr, thanks for fixing it.

          People

          • Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved: