original_string: public function add_field(xmldb_table $xmldb_table, xmldb_field $xmldb_field) {
           // Check the field doesn't exist
          if ($this->field_exists($xmldb_table, $xmldb_field)) {
              throw new ddl_exception('ddlfieldalreadyexists', $xmldb_field->getName());
          }
  
          // If NOT NULL and no default given (we ask the generator about the
          // *real* default that will be used) check the table is empty
          if ($xmldb_field->getNotNull() && $this->generator->getDefaultValue($xmldb_field) === NULL && $this->mdb->count_records($xmldb_table->getName())) {
              throw new ddl_exception('ddlunknownerror', null, 'Field ' . $xmldb_table->getName() . '->' . $xmldb_field->getName() .
                        ' cannot be added. Not null fields added to non empty tables require default value. Create skipped');
          }
  
          if (!$sqlarr = $this->generator->getAddFieldSQL($xmldb_table, $xmldb_field)) {
              throw new ddl_exception('ddlunknownerror', null, 'addfield sql not generated');
          }
          $this->execute_sql_arr($sqlarr, array($xmldb_table->getName()));
      }
code: public function add_field(xmldb_table $xmldb_table, xmldb_field $xmldb_field) {
           // Check the field doesn't exist
          if ($this->field_exists($xmldb_table, $xmldb_field)) {
              throw new ddl_exception('ddlfieldalreadyexists', $xmldb_field->getName());
          }
  
          // If NOT NULL and no default given (we ask the generator about the
          // *real* default that will be used) check the table is empty
          if ($xmldb_field->getNotNull() && $this->generator->getDefaultValue($xmldb_field) === NULL && $this->mdb->count_records($xmldb_table->getName())) {
              throw new ddl_exception('ddlunknownerror', null, 'Field ' . $xmldb_table->getName() . '->' . $xmldb_field->getName() .
                        ' cannot be added. Not null fields added to non empty tables require default value. Create skipped');
          }
  
          if (!$sqlarr = $this->generator->getAddFieldSQL($xmldb_table, $xmldb_field)) {
              throw new ddl_exception('ddlunknownerror', null, 'addfield sql not generated');
          }
          $this->execute_sql_arr($sqlarr, array($xmldb_table->getName()));
      }
code_tokens: public function add_field ( xmldb_table $ xmldb_table , xmldb_field $ xmldb_field ) { // Check the field doesn't exist if ( $ this -> field_exists ( $ xmldb_table , $ xmldb_field ) ) { throw new ddl_exception ( 'ddlfieldalreadyexists' , $ xmldb_field -> getName ( ) ) ; } // If NOT NULL and no default given (we ask the generator about the // *real* default that will be used) check the table is empty if ( $ xmldb_field -> getNotNull ( ) && $ this -> generator -> getDefaultValue ( $ xmldb_field ) === NULL && $ this -> mdb -> count_records ( $ xmldb_table -> getName ( ) ) ) { throw new ddl_exception ( 'ddlunknownerror' , null , 'Field ' . $ xmldb_table -> getName ( ) . '->' . $ xmldb_field -> getName ( ) . ' cannot be added. Not null fields added to non empty tables require default value. Create skipped' ) ; } if ( ! $ sqlarr = $ this -> generator -> getAddFieldSQL ( $ xmldb_table , $ xmldb_field ) ) { throw new ddl_exception ( 'ddlunknownerror' , null , 'addfield sql not generated' ) ; } $ this -> execute_sql_arr ( $ sqlarr , array ( $ xmldb_table -> getName ( ) ) ) ; }
docstring: This function will add the field to the table passed as arguments
  
  @param xmldb_table $xmldb_table Table object (just the name is mandatory).
  @param xmldb_field $xmldb_field Index object (full specs are required).
  @return void
docstring_tokens: This function will add the field to the table passed as arguments