Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
M
MariaDB
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
nexedi
MariaDB
Commits
41780a75
Commit
41780a75
authored
Feb 04, 2005
by
unknown
Browse files
Options
Browse Files
Download
Plain Diff
Merge kboortz@bk-internal.mysql.com:/home/bk/mysql-4.1
into mysql.com:/Users/kent/mysql/bk/mysql-4.1-perl
parents
90095cbc
876b4a59
Changes
4
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
46 additions
and
6 deletions
+46
-6
mysql-test/r/update.result
mysql-test/r/update.result
+7
-0
mysql-test/t/update.test
mysql-test/t/update.test
+9
-0
ndb/src/common/util/NdbSqlUtil.cpp
ndb/src/common/util/NdbSqlUtil.cpp
+28
-0
sql/item_func.cc
sql/item_func.cc
+2
-6
No files found.
mysql-test/r/update.result
View file @
41780a75
...
@@ -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;
mysql-test/t/update.test
View file @
41780a75
...
@@ -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
;
ndb/src/common/util/NdbSqlUtil.cpp
View file @
41780a75
...
@@ -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
}
}
...
...
sql/item_func.cc
View file @
41780a75
...
@@ -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 */
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment