Details

    • Type: Sub-task Sub-task
    • Status: Closed
    • Priority: Critical Critical
    • Resolution: Fixed
    • Affects Version/s: 2.0
    • Fix Version/s: 2.0
    • Component/s: Database SQL/XMLDB
    • Labels:
      None
    • Affected Branches:
      MOODLE_20_STABLE
    • Fixed Branches:
      MOODLE_20_STABLE
    • Rank:
      35176

      Description

      Since the new DML 2.0 API is now in place, all code using the old dmllib needs to be upgraded. In essence, this means the following changes:

      1. Wherever old functions are used (get_record*, get_field*, set_field, insert_record, update_record), the global $DB must be used as the object on which these functions are called (e.g. get_record_select becomes $DB->get_record_select).
      2. All the functions that used to accept a list of string params in the form "param1, value1, param2, value2" now need to be given an array of key=>value pairs as a replacement for these params. Other params remain as before. Check the new API for any exceptions.
      3. rs_fetch_next_record($rs) is deprecated, in favour of the simple foreach($rs as $var). Calls to rs_close() must be replaced by $rs->close();

      As an example to #3, if you have the original code:

      while($result = rs_fetch_next_record($rs))

      { ... }

      rs_close();

      you would replace it with

      foreach ($rs as $result)

      { .... }

      $rs->close();

        Issue Links

          Activity

          Hide
          Petr Škoda added a comment -

          todo:
          1/ remove addslashes
          2/ use placeholders in SQL
          3/ fix function parameters, each $sql part needs $params array

          Show
          Petr Škoda added a comment - todo: 1/ remove addslashes 2/ use placeholders in SQL 3/ fix function parameters, each $sql part needs $params array
          Hide
          Petr Škoda added a comment -

          done, yay!

          Show
          Petr Škoda added a comment - done, yay!
          Hide
          Petr Škoda added a comment -

          done

          Show
          Petr Škoda added a comment - done

            People

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

              Dates

              • Created:
                Updated:
                Resolved: