Commit b436e0fa authored by kent@mysql.com's avatar kent@mysql.com

Merge kboortz@bk-internal.mysql.com:/home/bk/mysql-4.1

into mysql.com:/Users/kent/mysql/bk/mysql-4.1-perl
parents 4f7ce433 9eacf61d
...@@ -212,3 +212,10 @@ insert into t1 values (1, "t1c2-1", 10), (2, "t1c2-2", 20); ...@@ -212,3 +212,10 @@ insert into t1 values (1, "t1c2-1", 10), (2, "t1c2-2", 20);
update t1 left join t2 on t1.c1 = t2.c1 set t2.c2 = "t2c2-1"; update t1 left join t2 on t1.c1 = t2.c1 set t2.c2 = "t2c2-1";
update t1 left join t2 on t1.c1 = t2.c1 set t2.c2 = "t2c2-1" where t1.c3 = 10; update t1 left join t2 on t1.c1 = t2.c1 set t2.c2 = "t2c2-1" where t1.c3 = 10;
drop table t1, t2; drop table t1, t2;
create table t1 (id int not null auto_increment primary key, id_str varchar(32));
insert into t1 (id_str) values ("test");
update t1 set id_str = concat(id_str, id) where id = last_insert_id();
select * from t1;
id id_str
1 test1
drop table t1;
...@@ -170,3 +170,12 @@ insert into t1 values (1, "t1c2-1", 10), (2, "t1c2-2", 20); ...@@ -170,3 +170,12 @@ insert into t1 values (1, "t1c2-1", 10), (2, "t1c2-2", 20);
update t1 left join t2 on t1.c1 = t2.c1 set t2.c2 = "t2c2-1"; update t1 left join t2 on t1.c1 = t2.c1 set t2.c2 = "t2c2-1";
update t1 left join t2 on t1.c1 = t2.c1 set t2.c2 = "t2c2-1" where t1.c3 = 10; update t1 left join t2 on t1.c1 = t2.c1 set t2.c2 = "t2c2-1" where t1.c3 = 10;
drop table t1, t2; drop table t1, t2;
#
# Bug #8057
#
create table t1 (id int not null auto_increment primary key, id_str varchar(32));
insert into t1 (id_str) values ("test");
update t1 set id_str = concat(id_str, id) where id = last_insert_id();
select * from t1;
drop table t1;
...@@ -526,6 +526,7 @@ NdbSqlUtil::cmpDate(const void* info, const Uint32* p1, const Uint32* p2, Uint32 ...@@ -526,6 +526,7 @@ NdbSqlUtil::cmpDate(const void* info, const Uint32* p1, const Uint32* p2, Uint32
union { const Uint32* p; const unsigned char* v; } u1, u2; union { const Uint32* p; const unsigned char* v; } u1, u2;
u1.p = p1; u1.p = p1;
u2.p = p2; u2.p = p2;
#ifdef ndb_date_sol9x86_cc_xO3_madness
// from Field_newdate::val_int // from Field_newdate::val_int
Uint64 j1 = uint3korr(u1.v); Uint64 j1 = uint3korr(u1.v);
Uint64 j2 = uint3korr(u2.v); Uint64 j2 = uint3korr(u2.v);
...@@ -536,6 +537,33 @@ NdbSqlUtil::cmpDate(const void* info, const Uint32* p1, const Uint32* p2, Uint32 ...@@ -536,6 +537,33 @@ NdbSqlUtil::cmpDate(const void* info, const Uint32* p1, const Uint32* p2, Uint32
if (j1 > j2) if (j1 > j2)
return +1; return +1;
return 0; return 0;
#else
uint j1 = uint3korr(u1.v);
uint j2 = uint3korr(u2.v);
uint d1 = (j1 & 31);
uint d2 = (j2 & 31);
j1 = (j1 >> 5);
j2 = (j2 >> 5);
uint m1 = (j1 & 15);
uint m2 = (j2 & 15);
j1 = (j1 >> 4);
j2 = (j2 >> 4);
uint y1 = j1;
uint y2 = j2;
if (y1 < y2)
return -1;
if (y1 > y2)
return +1;
if (m1 < m2)
return -1;
if (m1 > m2)
return +1;
if (d1 < d2)
return -1;
if (d1 > d2)
return +1;
return 0;
#endif
#endif #endif
} }
......
...@@ -2298,14 +2298,10 @@ longlong Item_func_last_insert_id::val_int() ...@@ -2298,14 +2298,10 @@ longlong Item_func_last_insert_id::val_int()
longlong value=args[0]->val_int(); longlong value=args[0]->val_int();
current_thd->insert_id(value); current_thd->insert_id(value);
null_value=args[0]->null_value; null_value=args[0]->null_value;
return value;
} }
else else
{ current_thd->lex->uncacheable(UNCACHEABLE_SIDEEFFECT);
Item *it= get_system_var(current_thd, OPT_SESSION, "last_insert_id", 14, return current_thd->insert_id();
"last_insert_id()");
return it->val_int();
}
} }
/* This function is just used to test speed of different functions */ /* This function is just used to test speed of different functions */
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment