Uploaded image for project: 'Moodle'
  1. Moodle
  2. MDL-7856

Database mod search is case sensitive

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: 1.6.2
    • Fix Version/s: 1.9
    • Labels:
      None
    • Environment:
      Tested on Linux
    • Database:
      PostgreSQL
    • Affected Branches:
      MOODLE_16_STABLE
    • Fixed Branches:
      MOODLE_19_STABLE

      Description

      In the view.php, creating the SQL statement it uses double-quotes as string delimiter. This is legal with MySQL, but far away any SQL standard sorridente and it does not work with Postgres too.
      The SQL syntax error can be seen enabling Debug.

      I'm referring to 2006080701 version of the module downloaded with Moodle 1.6.2+
      This is done in lines 308 and 321

      I fixed it changing these line as follows:

      line 308
      $searchselect = ' AND (c1.content LIKE \'%'.$search.'%\') ';

      line 321
      $searchselect = ' AND (c.content LIKE \'%'.$search.'%\') ';

      It have to be tested on MySQL, but should be compatible.

      ----------------8<---------------8<---------------8<---------------8<---------------8<----------------
      Actually, I slightly changed these lines also making the search case-insensitive.

      line 308
      $searchselect = ' AND ('.db_uppercase(). '(c1.content) LIKE \'%'.strtoupper($search).'%\') ';

      line 321
      $searchselect = ' AND ('.db_uppercase(). '(c.content) LIKE \'%'.strtoupper($search).'%\') ';

        Gliffy Diagrams

          Attachments

            Issue Links

              Activity

                People

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

                  Dates

                  • Created:
                    Updated:
                    Resolved:
                    Fix Release Date:
                    3/Mar/08