Note:

If you want to create a new page for developers, you should create it on the Moodle Developer Resource site.

XMLB list of DDL functions to create: Difference between revisions

From MoodleDocs
Line 35: Line 35:
** <font color="green">Done: </font>add_index ($xmldb_table, $xmldb_index);
** <font color="green">Done: </font>add_index ($xmldb_table, $xmldb_index);
** <font color="green">Done: </font>drop_index ($xmldb_table, $xmldb-index);
** <font color="green">Done: </font>drop_index ($xmldb_table, $xmldb-index);
** rename_index ($xmldb_table, $xmldb_index, $newname);
** <font color="green">Done: </font>rename_index ($xmldb_table, $xmldb_index, $newname); (note that MySQL doesn't support this. Not important because indexes NEVER should be accessed by name!
** <font color="green">Done: </font>index_exists ($xmldb_table, $xmldb_index);
** <font color="green">Done: </font>index_exists ($xmldb_table, $xmldb_index);
** <font color="green">Done: </font>find_index_name ($xmldb_table, $xmldb_index);
** <font color="green">Done: </font>find_index_name ($xmldb_table, $xmldb_index);

Revision as of 18:26, 30 September 2006

XML database schema > 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);
    • Work In Progress: 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);
    • Work In Progress: 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);
    • Not Implemented: change_field_sequence ($xmldb_table, $xmldb_field); (some cross-db problems if more than one sequence is tried per table)
    • 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);
    • rename key ($xmldb_table, $xmldb_key, $newname);
    • 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.
  • 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 NEVER should be accessed by name!
    • Done: index_exists ($xmldb_table, $xmldb_index);
    • Done: find_index_name ($xmldb_table, $xmldb_index);