libdir.'/xmlize.php'); /// Add required XMLDB constants require_once($CFG->libdir.'/xmldb/xmldb_constants.php'); /// Add required XMLDB DB classes require_once($CFG->libdir.'/xmldb/xmldb_object.php'); require_once($CFG->libdir.'/xmldb/xmldb_file.php'); require_once($CFG->libdir.'/xmldb/xmldb_structure.php'); require_once($CFG->libdir.'/xmldb/xmldb_table.php'); require_once($CFG->libdir.'/xmldb/xmldb_field.php'); require_once($CFG->libdir.'/xmldb/xmldb_key.php'); require_once($CFG->libdir.'/xmldb/xmldb_index.php'); require_once($CFG->libdir.'/xmldb/xmldb_statement.php'); require_once($CFG->libdir.'/ddl/sql_generator.php'); require_once($CFG->libdir.'/ddl/database_manager.php'); /** * DDL exception class, use instead of error() and "return false;" in ddl code. */ class ddl_exception extends moodle_exception { function __construct($errorcode, $a=NULL, $debuginfo=null) { parent::__construct($errorcode, '', '', $a, $debuginfo); } } /** * Table does not exist problem exception */ class ddl_table_missing_exception extends ddl_exception { function __construct($tablename, $debuginfo=null) { parent::__construct('ddltablenotexist', $tablename, $debuginfo); } } /** * Table does not exist problem exception */ class ddl_field_missing_exception extends ddl_exception { function __construct($fieldname, $tablename, $debuginfo=null) { $a = new object(); $a->fieldname = $fieldname; $a->tablename = $tablename; parent::__construct('ddlfieldnotexist', $a, $debuginfo); } } /** * Error during changing db structure */ class ddl_change_structure_exception extends ddl_exception { public $error; public $sql; function __construct($error, $sql=null) { $this->error = $error; $this->sql = $sql; $errorinfo = s($error).'

'.s($sql); parent::__construct('ddlexecuteerror', NULL, $errorinfo); } }