~mordred/drizzle/codestyle

« back to all changes in this revision

Viewing changes to drizzled/field.cc

  • Committer: Brian Aker
  • Date: 2008-08-20 15:38:22 UTC
  • Revision ID: brian@tangent.org-20080820153822-x6nak78f04fq0n52
More MODE removal.

Show diffs side-by-side

added added

removed removed

Lines of Context:
2061
2061
    true  on error
2062
2062
*/
2063
2063
 
2064
 
bool Create_field::init(THD *thd, char *fld_name, enum_field_types fld_type,
 
2064
bool Create_field::init(THD *thd __attribute__((unused)), char *fld_name, enum_field_types fld_type,
2065
2065
                        char *fld_length, char *fld_decimals,
2066
2066
                        uint fld_type_modifier, Item *fld_default_value,
2067
2067
                        Item *fld_on_update_value, LEX_STRING *fld_comment,
2164
2164
      /* Allow empty as default value. */
2165
2165
      String str,*res;
2166
2166
      res= fld_default_value->val_str(&str);
2167
 
      /*
2168
 
        A default other than '' is always an error, and any non-NULL
2169
 
        specified default is an error in strict mode.
2170
 
      */
2171
 
      if (res->length() || (thd->variables.sql_mode &
2172
 
                            (MODE_STRICT_TRANS_TABLES |
2173
 
                             MODE_STRICT_ALL_TABLES)))
2174
 
      {
2175
 
        my_error(ER_BLOB_CANT_HAVE_DEFAULT, MYF(0),
2176
 
                 fld_name); /* purecov: inspected */
2177
 
        return(true);
2178
 
      }
2179
 
      else
2180
 
      {
2181
 
        /*
2182
 
          Otherwise a default of '' is just a warning.
2183
 
        */
2184
 
        push_warning_printf(thd, DRIZZLE_ERROR::WARN_LEVEL_WARN,
2185
 
                            ER_BLOB_CANT_HAVE_DEFAULT,
2186
 
                            ER(ER_BLOB_CANT_HAVE_DEFAULT),
2187
 
                            fld_name);
2188
 
      }
2189
 
      def= 0;
2190
2167
    }
2191
2168
    flags|= BLOB_FLAG;
2192
2169
    break;