original_string: public function getFieldSQL($xmldb_table, $xmldb_field, $skip_type_clause = NULL, $skip_default_clause = NULL, $skip_notnull_clause = NULL, $specify_nulls_clause = NULL, $specify_field_name = true)  {
          if ($error = $xmldb_field->validateDefinition($xmldb_table)) {
              throw new coding_exception($error);
          }
  
          $skip_type_clause = is_null($skip_type_clause) ? $this->alter_column_skip_type : $skip_type_clause;
          $skip_default_clause = is_null($skip_default_clause) ? $this->alter_column_skip_default : $skip_default_clause;
          $skip_notnull_clause = is_null($skip_notnull_clause) ? $this->alter_column_skip_notnull : $skip_notnull_clause;
          $specify_nulls_clause = is_null($specify_nulls_clause) ? $this->specify_nulls : $specify_nulls_clause;
  
          // First of all, convert integers to numbers if defined
          if ($this->integer_to_number) {
              if ($xmldb_field->getType() == XMLDB_TYPE_INTEGER) {
                  $xmldb_field->setType(XMLDB_TYPE_NUMBER);
              }
          }
          // Same for floats
          if ($this->float_to_number) {
              if ($xmldb_field->getType() == XMLDB_TYPE_FLOAT) {
                  $xmldb_field->setType(XMLDB_TYPE_NUMBER);
              }
          }
  
          $field = ''; // Let's accumulate the whole expression based on params and settings
          // The name
          if ($specify_field_name) {
              $field .= $this->getEncQuoted($xmldb_field->getName());
          }
          // The type and length only if we don't want to skip it
          if (!$skip_type_clause) {
              // The type and length
              $field .= ' ' . $this->getTypeSQL($xmldb_field->getType(), $xmldb_field->getLength(), $xmldb_field->getDecimals());
          }
          // note: unsigned is not supported any more since moodle 2.3, all numbers are signed
          // Calculate the not null clause
          $notnull = '';
          // Only if we don't want to skip it
          if (!$skip_notnull_clause) {
              if ($xmldb_field->getNotNull()) {
                  $notnull = ' NOT NULL';
              } else {
                  if ($specify_nulls_clause) {
                      $notnull = ' NULL';
                  }
              }
          }
          // Calculate the default clause
          $default_clause = '';
          if (!$skip_default_clause) { //Only if we don't want to skip it
              $default_clause = $this->getDefaultClause($xmldb_field);
          }
          // Based on default_after_null, set both clauses properly
          if ($this->default_after_null) {
              $field .= $notnull . $default_clause;
          } else {
              $field .= $default_clause . $notnull;
          }
          // The sequence
          if ($xmldb_field->getSequence()) {
              if($xmldb_field->getLength()<=9 && $this->sequence_name_small) {
                  $sequencename=$this->sequence_name_small;
              } else {
                  $sequencename=$this->sequence_name;
              }
              $field .= ' ' . $sequencename;
              if ($this->sequence_only) {
                  // We only want the field name and sequence name to be printed
                  // so, calculate it and return
                  $sql = $this->getEncQuoted($xmldb_field->getName()) . ' ' . $sequencename;
                  return $sql;
              }
          }
          return $field;
      }
code: public function getFieldSQL($xmldb_table, $xmldb_field, $skip_type_clause = NULL, $skip_default_clause = NULL, $skip_notnull_clause = NULL, $specify_nulls_clause = NULL, $specify_field_name = true)  {
          if ($error = $xmldb_field->validateDefinition($xmldb_table)) {
              throw new coding_exception($error);
          }
  
          $skip_type_clause = is_null($skip_type_clause) ? $this->alter_column_skip_type : $skip_type_clause;
          $skip_default_clause = is_null($skip_default_clause) ? $this->alter_column_skip_default : $skip_default_clause;
          $skip_notnull_clause = is_null($skip_notnull_clause) ? $this->alter_column_skip_notnull : $skip_notnull_clause;
          $specify_nulls_clause = is_null($specify_nulls_clause) ? $this->specify_nulls : $specify_nulls_clause;
  
          // First of all, convert integers to numbers if defined
          if ($this->integer_to_number) {
              if ($xmldb_field->getType() == XMLDB_TYPE_INTEGER) {
                  $xmldb_field->setType(XMLDB_TYPE_NUMBER);
              }
          }
          // Same for floats
          if ($this->float_to_number) {
              if ($xmldb_field->getType() == XMLDB_TYPE_FLOAT) {
                  $xmldb_field->setType(XMLDB_TYPE_NUMBER);
              }
          }
  
          $field = ''; // Let's accumulate the whole expression based on params and settings
          // The name
          if ($specify_field_name) {
              $field .= $this->getEncQuoted($xmldb_field->getName());
          }
          // The type and length only if we don't want to skip it
          if (!$skip_type_clause) {
              // The type and length
              $field .= ' ' . $this->getTypeSQL($xmldb_field->getType(), $xmldb_field->getLength(), $xmldb_field->getDecimals());
          }
          // note: unsigned is not supported any more since moodle 2.3, all numbers are signed
          // Calculate the not null clause
          $notnull = '';
          // Only if we don't want to skip it
          if (!$skip_notnull_clause) {
              if ($xmldb_field->getNotNull()) {
                  $notnull = ' NOT NULL';
              } else {
                  if ($specify_nulls_clause) {
                      $notnull = ' NULL';
                  }
              }
          }
          // Calculate the default clause
          $default_clause = '';
          if (!$skip_default_clause) { //Only if we don't want to skip it
              $default_clause = $this->getDefaultClause($xmldb_field);
          }
          // Based on default_after_null, set both clauses properly
          if ($this->default_after_null) {
              $field .= $notnull . $default_clause;
          } else {
              $field .= $default_clause . $notnull;
          }
          // The sequence
          if ($xmldb_field->getSequence()) {
              if($xmldb_field->getLength()<=9 && $this->sequence_name_small) {
                  $sequencename=$this->sequence_name_small;
              } else {
                  $sequencename=$this->sequence_name;
              }
              $field .= ' ' . $sequencename;
              if ($this->sequence_only) {
                  // We only want the field name and sequence name to be printed
                  // so, calculate it and return
                  $sql = $this->getEncQuoted($xmldb_field->getName()) . ' ' . $sequencename;
                  return $sql;
              }
          }
          return $field;
      }
code_tokens: public function getFieldSQL ( $ xmldb_table , $ xmldb_field , $ skip_type_clause = NULL , $ skip_default_clause = NULL , $ skip_notnull_clause = NULL , $ specify_nulls_clause = NULL , $ specify_field_name = true ) { if ( $ error = $ xmldb_field -> validateDefinition ( $ xmldb_table ) ) { throw new coding_exception ( $ error ) ; } $ skip_type_clause = is_null ( $ skip_type_clause ) ? $ this -> alter_column_skip_type : $ skip_type_clause ; $ skip_default_clause = is_null ( $ skip_default_clause ) ? $ this -> alter_column_skip_default : $ skip_default_clause ; $ skip_notnull_clause = is_null ( $ skip_notnull_clause ) ? $ this -> alter_column_skip_notnull : $ skip_notnull_clause ; $ specify_nulls_clause = is_null ( $ specify_nulls_clause ) ? $ this -> specify_nulls : $ specify_nulls_clause ; // First of all, convert integers to numbers if defined if ( $ this -> integer_to_number ) { if ( $ xmldb_field -> getType ( ) == XMLDB_TYPE_INTEGER ) { $ xmldb_field -> setType ( XMLDB_TYPE_NUMBER ) ; } } // Same for floats if ( $ this -> float_to_number ) { if ( $ xmldb_field -> getType ( ) == XMLDB_TYPE_FLOAT ) { $ xmldb_field -> setType ( XMLDB_TYPE_NUMBER ) ; } } $ field = '' ; // Let's accumulate the whole expression based on params and settings // The name if ( $ specify_field_name ) { $ field .= $ this -> getEncQuoted ( $ xmldb_field -> getName ( ) ) ; } // The type and length only if we don't want to skip it if ( ! $ skip_type_clause ) { // The type and length $ field .= ' ' . $ this -> getTypeSQL ( $ xmldb_field -> getType ( ) , $ xmldb_field -> getLength ( ) , $ xmldb_field -> getDecimals ( ) ) ; } // note: unsigned is not supported any more since moodle 2.3, all numbers are signed // Calculate the not null clause $ notnull = '' ; // Only if we don't want to skip it if ( ! $ skip_notnull_clause ) { if ( $ xmldb_field -> getNotNull ( ) ) { $ notnull = ' NOT NULL' ; } else { if ( $ specify_nulls_clause ) { $ notnull = ' NULL' ; } } } // Calculate the default clause $ default_clause = '' ; if ( ! $ skip_default_clause ) { //Only if we don't want to skip it $ default_clause = $ this -> getDefaultClause ( $ xmldb_field ) ; } // Based on default_after_null, set both clauses properly if ( $ this -> default_after_null ) { $ field .= $ notnull . $ default_clause ; } else { $ field .= $ default_clause . $ notnull ; } // The sequence if ( $ xmldb_field -> getSequence ( ) ) { if ( $ xmldb_field -> getLength ( ) <= 9 && $ this -> sequence_name_small ) { $ sequencename = $ this -> sequence_name_small ; } else { $ sequencename = $ this -> sequence_name ; } $ field .= ' ' . $ sequencename ; if ( $ this -> sequence_only ) { // We only want the field name and sequence name to be printed // so, calculate it and return $ sql = $ this -> getEncQuoted ( $ xmldb_field -> getName ( ) ) . ' ' . $ sequencename ; return $ sql ; } } return $ field ; }
docstring: Given one correct xmldb_field, returns the complete SQL line to create it.
  
  @param xmldb_table $xmldb_table The table related to $xmldb_field.
  @param xmldb_field $xmldb_field The instance of xmldb_field to create the SQL from.
  @param string $skip_type_clause The type clause on alter columns, NULL by default.
  @param string $skip_default_clause The default clause on alter columns, NULL by default.
  @param string $skip_notnull_clause The null/notnull clause on alter columns, NULL by default.
  @param string $specify_nulls_clause To force a specific null clause, NULL by default.
  @param bool $specify_field_name Flag to specify fieldname in return.
  @return string The field generating SQL statement.
  @throws coding_exception Thrown when xmldb_field doesn't validate with the xmldb_table.
docstring_tokens: Given one correct xmldb_field returns the complete SQL line to create it .