~drizzle-trunk/drizzle/development

« back to all changes in this revision

Viewing changes to drizzled/sql_insert.cc

  • Committer: Jay Pipes
  • Date: 2008-12-17 04:02:20 UTC
  • mto: This revision was merged to the branch mainline in revision 717.
  • Revision ID: jpipes@serialcoder-20081217040220-b062yr3pwibi0j2o
Enabled the null.test.

* Fixed numerous SQL syntax change errors in null.test
* Added tests to ensure that UPDATE .. SET col=NULL produced appropriate errors, but only when rows were contained in the table.
* Added tests to ensure that LOAD DATA INFILE produces errors when setting NULL on NOT NULL columns

sql_insert.cc:

Modified the check_that_all_fields_are_given_values() function to ensure
an error is thrown instead of a warning when NULL is inserted into a NOT NULL column.

sql_update.cc:

Modifed mysql_update(), setting ignore to only CHECK_FIELD_ERROR_FOR_NULL, which 
is used by field_conv:set_field_to_null() and set_field_to_null_with_conversions() 
during the update

field_conv.cc:

Raise an error, not a warning, when NULL is set for NOT NULL columns

sql_load.cc:

Set ignore again, same as in sql_update.cc, but leave error as 1263 which 
gives additional information in a LOAD statement.

Added a null_test.txt file to check the LOAD DATA INFILE statement in null.test

Show diffs side-by-side

added added

removed removed

Lines of Context:
1011
1011
        table_list= table_list->top_table();
1012
1012
        view= test(0);
1013
1013
      }
1014
 
      {
1015
 
        push_warning_printf(session, DRIZZLE_ERROR::WARN_LEVEL_WARN,
1016
 
                            ER_NO_DEFAULT_FOR_FIELD,
1017
 
                            ER(ER_NO_DEFAULT_FOR_FIELD),
1018
 
                            (*field)->field_name);
1019
 
      }
 
1014
      /*
 
1015
       * Per the SQL standard, inserting NULL into a NOT NULL
 
1016
       * field requires an error to be thrown.
 
1017
       */
 
1018
      my_error(ER_BAD_NULL_ERROR, MYF(0), (*field)->field_name);
1020
1019
      err= 1;
1021
1020
    }
1022
1021
  }