mirror of
https://github.com/MariaDB/server.git
synced 2025-01-18 21:12:26 +01:00
Merge
BitKeeper/etc/logging_ok: auto-union sql/item_func.cc: Auto merged ndb/src/common/util/NdbSqlUtil.cpp: merge
This commit is contained in:
commit
dbf8329576
4 changed files with 51 additions and 9 deletions
|
@ -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" where t1.c3 = 10;
|
||||
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);
|
|||
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;
|
||||
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;
|
||||
|
|
|
@ -550,8 +550,6 @@ NdbSqlUtil::cmpDate(const void* info, const void* p1, unsigned n1, const void* p
|
|||
return +1;
|
||||
return 0;
|
||||
}
|
||||
assert(! full);
|
||||
return CmpUnknown;
|
||||
#else
|
||||
char t1[4], t2[4];
|
||||
if (n1 == 3 && n2 == 3)
|
||||
|
@ -562,6 +560,7 @@ NdbSqlUtil::cmpDate(const void* info, const void* p1, unsigned n1, const void* p
|
|||
p2 = t2;
|
||||
n1 = n2 = 4;
|
||||
}
|
||||
#ifdef ndb_date_sol9x86_cc_xO3_madness
|
||||
if (n2 >= 4) { // may access 4-th byte
|
||||
const uchar* v1 = (const uchar*)p1;
|
||||
const uchar* v2 = (const uchar*)p2;
|
||||
|
@ -576,9 +575,40 @@ NdbSqlUtil::cmpDate(const void* info, const void* p1, unsigned n1, const void* p
|
|||
return +1;
|
||||
return 0;
|
||||
}
|
||||
#else
|
||||
if (n2 >= 4) {
|
||||
const uchar* v1 = (const uchar*)p1;
|
||||
const uchar* v2 = (const uchar*)p2;
|
||||
uint j1 = uint3korr(v1);
|
||||
uint j2 = uint3korr(v2);
|
||||
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
|
||||
assert(! full);
|
||||
return CmpUnknown;
|
||||
#endif
|
||||
}
|
||||
|
||||
// not supported
|
||||
|
|
|
@ -2383,14 +2383,10 @@ longlong Item_func_last_insert_id::val_int()
|
|||
longlong value=args[0]->val_int();
|
||||
current_thd->insert_id(value);
|
||||
null_value=args[0]->null_value;
|
||||
return value;
|
||||
}
|
||||
else
|
||||
{
|
||||
Item *it= get_system_var(current_thd, OPT_SESSION, "last_insert_id", 14,
|
||||
"last_insert_id()");
|
||||
return it->val_int();
|
||||
}
|
||||
current_thd->lex->uncacheable(UNCACHEABLE_SIDEEFFECT);
|
||||
return current_thd->insert_id();
|
||||
}
|
||||
|
||||
/* This function is just used to test speed of different functions */
|
||||
|
|
Loading…
Reference in a new issue