XMLB list of DDL functions to create

Jump to: navigation, search

XMLDB Documentation > Roadmap > Creating new DDL functions > List of DDL functions to create


This page will be used to list and track the process of implementation of the new DDL functions available under Moodle 1.7.

This document can be outdated in the future, if new DDL functions arrive, and no efforts to keep it updated will be done. Its primary goal was to have the initial list and to track the work performed, by using the Done tag. Interim process can use the Work In Progress tag.

You always can view, in this link, the actual list of available DDL functions.

The initial list

  • Table functions
    • Done: create_table ($xmldb_table);
    • Done: drop_table ($xmldb_table);
    • Done: rename_table ($xmldb_table, $newname);
    • Done: table_exists ($xmldb_table);
  • Field functions
    • Done: add_field ($xmldb_table, $xmldb_field);
    • Done: drop_field ($xmldb_table, $xmldb_field);
    • Done: rename_field ($xmldb_table, $xmldb_field, $newname);
    • Done: change_field_type ($xmldb_table, $xmldb_field); (supports int<-->char, number<-->char, float<-->char)
    • Done: change_field_precision ($xmldb_table, $xmldb_field);
    • Done: change_field_unsigned ($xmldb_table, $xmldb_field);
    • Done: change_field_notnull ($xmldb_table, $xmldb_field);
    • Done: change_field_enum ($xmldb_table, $xmldb_field);
    • Done: change_field_default ($xmldb_table, $xmldb_field);
    • Done: field_exists ($xmldb_table, $xmldb_field);
  • Key functions
    • Done: add_key ($xmldb_table, $xmldb_key);
    • Done: drop_key ($xmldb_table, $xmldb_key);
    • Done: rename_key ($xmldb_table, $xmldb_key, $newname); - note that MySQL, PostgreSQL and MSSQL don't support this. Not important because keys shouldn't be accessed by name under XMLDB! This is just one experimental function! If you need to rename one key, just drop and re-create it.
    • Done: find_key_name ($xmldb_table, $xmldb_key); - although it isn't using AdoDB MetaXXX at all (unsupported). Also, read db coding for more info. This is just one experimental function!
  • Index functions
    • Done: add_index ($xmldb_table, $xmldb_index);
    • Done: drop_index ($xmldb_table, $xmldb-index);
    • Done: rename_index ($xmldb_table, $xmldb_index, $newname); - note that MySQL doesn't support this. Not important because indexes shouldn't be accessed by name under XMLDB! This is just one experimental function! If you need to rename one index, just drop and re-create it.
    • Done: index_exists ($xmldb_table, $xmldb_index);
    • Done: find_index_name ($xmldb_table, $xmldb_index);
  • Sequence functions (only of interest for oracle -insert_record -)
    • Done: find_sequence_name ($xmldb_table); Note: this is out in Moodle 2.0 (MDL-20349)