Commit cf2ecf37 authored by unknown's avatar unknown
Browse files

Merge eagle.mysql.r18.ru:/home/vva/work/mysql.orig/clear/mysql-3.23

into eagle.mysql.r18.ru:/home/vva/work/BUG_2012/mysql-3.23

parents 62860ba9 5454f676
Loading
Loading
Loading
Loading
+12 −0
Original line number Diff line number Diff line
@@ -11,3 +11,15 @@ payoutID
19
20
22
Month	Type	Field	Count
2003-09-01	1	1	100
2003-09-01	1	2	100
2003-09-01	2	1	100
2003-09-01	2	2	100
2003-09-01	3	1	100
NULL	Field	Count
NULL	1	100
NULL	2	100
No	Field	Count
0	1	100
0	2	100
+31 −0
Original line number Diff line number Diff line
@@ -10,3 +10,34 @@ insert into t2 (payoutID) SELECT DISTINCT payoutID FROM t1;
insert into t2 (payoutID) SELECT payoutID+10 FROM t1;
select * from t2;
drop table t1,t2;

#
# Another problem from Bug #2012
#

CREATE TABLE t1(
 Month date NOT NULL,
 Type tinyint(3) unsigned NOT NULL auto_increment,
 Field int(10) unsigned NOT NULL,
 Count int(10) unsigned NOT NULL,
 UNIQUE KEY Month (Month,Type,Field)
);
	  
insert into t1 Values
(20030901, 1, 1, 100),
(20030901, 1, 2, 100),
(20030901, 2, 1, 100),
(20030901, 2, 2, 100),
(20030901, 3, 1, 100);

select * from t1;
	  
Select null, Field, Count From t1 Where Month=20030901 and Type=2;
	  
create table t2(No int not null, Field int not null, Count int not null);
	  
insert into t2 Select null, Field, Count From t1 Where Month=20030901 and Type=2;
	  
select * from t2;

drop table t1, t2;
+7 −1
Original line number Diff line number Diff line
@@ -2184,9 +2184,15 @@ store_val_in_field(Field *field,Item *item)
{
  THD *thd=current_thd;
  ulong cuted_fields=thd->cuted_fields;
  /*
    we should restore old value of count_cuted_fields because
    store_val_in_field can be called from mysql_insert 
    with select_insert, which make count_cuted_fields= 1
   */
  bool old_count_cuted_fields= thd->count_cuted_fields;
  thd->count_cuted_fields=1;
  item->save_in_field(field);
  thd->count_cuted_fields=0;
  thd->count_cuted_fields= old_count_cuted_fields;
  return cuted_fields != thd->cuted_fields;
}