List:Commits« Previous MessageNext Message »
From:ramil Date:October 5 2006 2:29pm
Subject:bk commit into 4.1 tree (ramil:1.2543) BUG#22377
View as plain text  
Below is the list of changes that have just been committed into a local
4.1 repository of ram. When ram does a push these changes will
be propagated to the main repository and, within 24 hours after the
push, to the public repository.
For information on how to access the public repository
see http://dev.mysql.com/doc/mysql/en/installing-source-tree.html

ChangeSet@stripped, 2006-10-05 17:29:50+05:00, ramil@stripped +3 -0
  Fix for bug #22377: iNCONSISTENCY WITH null
  
  Backport. See #20910: NOT NULL column reported as NULL in SHOW FIELDS or
INFORMATION_SCHEMA

  mysql-test/r/type_ranges.result@stripped, 2006-10-05 17:29:47+05:00, ramil@stripped +3 -3
    Fix for bug #22377: iNCONSISTENCY WITH null
      - results adjusted.

  mysql-test/r/type_timestamp.result@stripped, 2006-10-05 17:29:48+05:00, ramil@stripped +9
-9
    Fix for bug #22377: iNCONSISTENCY WITH null
      - results adjusted.

  sql/sql_show.cc@stripped, 2006-10-05 17:29:48+05:00, ramil@stripped +1 -10
    Fix for bug #22377: iNCONSISTENCY WITH null
      - as NULL values cannot be stored in 'timestamp not null' fields,
        don't make an exception for them.

# This is a BitKeeper patch.  What follows are the unified diffs for the
# set of deltas contained in the patch.  The rest of the patch, the part
# that BitKeeper cares about, is below these diffs.
# User:	ramil
# Host:	myoffice.izhnet.ru
# Root:	/usr/home/ram/work/bug22377/my41-bug22377

--- 1.208/sql/sql_show.cc	2006-10-05 17:29:55 +05:00
+++ 1.209/sql/sql_show.cc	2006-10-05 17:29:55 +05:00
@@ -714,16 +714,7 @@ mysqld_show_fields(THD *thd, TABLE_LIST 
 	if (verbose)
 	  protocol->store(field->has_charset() ? field->charset()->name : "NULL",
 			system_charset_info);
-        /*
-          Even if TIMESTAMP field can't contain NULL as its value it
-          will accept NULL if you will try to insert such value and will
-          convert NULL value to current TIMESTAMP. So YES here means
-          that NULL is allowed for assignment (but may be won't be
-          returned).
-        */
-        pos=(byte*) ((flags & NOT_NULL_FLAG) &&
-                     field->type() != FIELD_TYPE_TIMESTAMP ?
-                     "" : "YES");
+        pos= (byte*) ((flags & NOT_NULL_FLAG) ? "" : "YES");
         protocol->store((const char*) pos, system_charset_info);
         pos=(byte*) ((field->flags & PRI_KEY_FLAG) ? "PRI" :
                      (field->flags & UNIQUE_KEY_FLAG) ? "UNI" :

--- 1.26/mysql-test/r/type_ranges.result	2006-10-05 17:29:55 +05:00
+++ 1.27/mysql-test/r/type_ranges.result	2006-10-05 17:29:55 +05:00
@@ -54,7 +54,7 @@ ushort	smallint(5) unsigned zerofill	NUL
 umedium	mediumint(8) unsigned	NULL		MUL	0		#	
 ulong	int(11) unsigned	NULL		MUL	0		#	
 ulonglong	bigint(13) unsigned	NULL		MUL	0		#	
-time_stamp	timestamp	NULL	YES		CURRENT_TIMESTAMP		#	
+time_stamp	timestamp	NULL			CURRENT_TIMESTAMP		#	
 date_field	date	NULL	YES		NULL		#	
 time_field	time	NULL	YES		NULL		#	
 date_time	datetime	NULL	YES		NULL		#	
@@ -222,7 +222,7 @@ ushort	smallint(5) unsigned zerofill	NUL
 umedium	mediumint(8) unsigned	NULL		MUL	0		#	
 ulong	int(11) unsigned	NULL		MUL	0		#	
 ulonglong	bigint(13) unsigned	NULL		MUL	0		#	
-time_stamp	timestamp	NULL	YES		CURRENT_TIMESTAMP		#	
+time_stamp	timestamp	NULL			CURRENT_TIMESTAMP		#	
 date_field	varchar(10)	latin1_swedish_ci	YES		NULL		#	
 time_field	time	NULL	YES		NULL		#	
 date_time	datetime	NULL	YES		NULL		#	
@@ -248,7 +248,7 @@ ushort	smallint(5) unsigned zerofill	NUL
 umedium	mediumint(8) unsigned	NULL			0		#	
 ulong	int(11) unsigned	NULL			0		#	
 ulonglong	bigint(13) unsigned	NULL			0		#	
-time_stamp	timestamp	NULL	YES		0000-00-00 00:00:00		#	
+time_stamp	timestamp	NULL			0000-00-00 00:00:00		#	
 date_field	varchar(10)	latin1_swedish_ci	YES		NULL		#	
 time_field	time	NULL	YES		NULL		#	
 date_time	datetime	NULL	YES		NULL		#	

--- 1.26/mysql-test/r/type_timestamp.result	2006-10-05 17:29:55 +05:00
+++ 1.27/mysql-test/r/type_timestamp.result	2006-10-05 17:29:55 +05:00
@@ -188,9 +188,9 @@ t1	CREATE TABLE `t1` (
 ) ENGINE=MyISAM DEFAULT CHARSET=latin1
 show columns from t1;
 Field	Type	Null	Key	Default	Extra
-t1	timestamp	YES		2003-01-01 00:00:00	
+t1	timestamp			2003-01-01 00:00:00	
 t2	datetime	YES		NULL	
-t3	timestamp	YES		0000-00-00 00:00:00	
+t3	timestamp			0000-00-00 00:00:00	
 drop table t1;
 create table t1 (t1 timestamp default now(), t2 datetime, t3 timestamp);
 SET TIMESTAMP=1000000002;
@@ -212,9 +212,9 @@ t1	CREATE TABLE `t1` (
 ) ENGINE=MyISAM DEFAULT CHARSET=latin1
 show columns from t1;
 Field	Type	Null	Key	Default	Extra
-t1	timestamp	YES		CURRENT_TIMESTAMP	
+t1	timestamp			CURRENT_TIMESTAMP	
 t2	datetime	YES		NULL	
-t3	timestamp	YES		0000-00-00 00:00:00	
+t3	timestamp			0000-00-00 00:00:00	
 drop table t1;
 create table t1 (t1 timestamp default '2003-01-01 00:00:00' on update now(), t2
datetime);
 SET TIMESTAMP=1000000004;
@@ -238,7 +238,7 @@ t1	CREATE TABLE `t1` (
 ) ENGINE=MyISAM DEFAULT CHARSET=latin1
 show columns from t1;
 Field	Type	Null	Key	Default	Extra
-t1	timestamp	YES		2003-01-01 00:00:00	
+t1	timestamp			2003-01-01 00:00:00	
 t2	datetime	YES		NULL	
 drop table t1;
 create table t1 (t1 timestamp default now() on update now(), t2 datetime);
@@ -263,7 +263,7 @@ t1	CREATE TABLE `t1` (
 ) ENGINE=MyISAM DEFAULT CHARSET=latin1
 show columns from t1;
 Field	Type	Null	Key	Default	Extra
-t1	timestamp	YES		CURRENT_TIMESTAMP	
+t1	timestamp			CURRENT_TIMESTAMP	
 t2	datetime	YES		NULL	
 drop table t1;
 create table t1 (t1 timestamp, t2 datetime, t3 timestamp);
@@ -289,9 +289,9 @@ t1	CREATE TABLE `t1` (
 ) ENGINE=MyISAM DEFAULT CHARSET=latin1
 show columns from t1;
 Field	Type	Null	Key	Default	Extra
-t1	timestamp	YES		CURRENT_TIMESTAMP	
+t1	timestamp			CURRENT_TIMESTAMP	
 t2	datetime	YES		NULL	
-t3	timestamp	YES		0000-00-00 00:00:00	
+t3	timestamp			0000-00-00 00:00:00	
 drop table t1;
 create table t1 (t1 timestamp default current_timestamp on update current_timestamp, t2
datetime);
 SET TIMESTAMP=1000000009;
@@ -315,7 +315,7 @@ t1	CREATE TABLE `t1` (
 ) ENGINE=MyISAM DEFAULT CHARSET=latin1
 show columns from t1;
 Field	Type	Null	Key	Default	Extra
-t1	timestamp	YES		CURRENT_TIMESTAMP	
+t1	timestamp			CURRENT_TIMESTAMP	
 t2	datetime	YES		NULL	
 delete from t1;
 insert into t1 values ('2004-04-01 00:00:00', '2004-04-01 00:00:00');
Thread
bk commit into 4.1 tree (ramil:1.2543) BUG#22377ramil5 Oct