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
057b8aa9
Commit
057b8aa9
authored
Apr 22, 2005
by
pem@mysql.comhem.se
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Fixed BUG#9004: Inconsistent behaviour of SP re. warnings
parent
a6b68d51
Changes
4
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
60 additions
and
3 deletions
+60
-3
mysql-test/r/sp.result
mysql-test/r/sp.result
+31
-0
mysql-test/t/sp.test
mysql-test/t/sp.test
+24
-0
sql/sql_error.cc
sql/sql_error.cc
+1
-1
sql/sql_parse.cc
sql/sql_parse.cc
+4
-2
No files found.
mysql-test/r/sp.result
View file @
057b8aa9
...
...
@@ -667,6 +667,8 @@ delete from t1|
drop table if exists t3|
create table t3 ( s char(16), d int)|
call into_test4()|
Warnings:
Warning 1329 No data to FETCH
select * from t3|
s d
into4 NULL
...
...
@@ -1792,7 +1794,12 @@ end if;
insert into t4 values (2, rc, t3);
end|
call bug1863(10)|
Warnings:
Note 1051 Unknown table 'temp_t1'
Warning 1329 No data to FETCH
call bug1863(10)|
Warnings:
Warning 1329 No data to FETCH
select * from t4|
f1 rc t3
2 0 NULL
...
...
@@ -2090,7 +2097,11 @@ begin
end|
call bug4579_1()|
call bug4579_1()|
Warnings:
Warning 1329 No data to FETCH
call bug4579_1()|
Warnings:
Warning 1329 No data to FETCH
drop procedure bug4579_1|
drop procedure bug4579_2|
drop table t3|
...
...
@@ -3010,4 +3021,24 @@ select @x|
@x
2005
drop function bug8861|
drop procedure if exists bug9004_1|
drop procedure if exists bug9004_2|
create procedure bug9004_1(x char(16))
begin
insert into t1 values (x, 42);
insert into t1 values (x, 17);
end|
create procedure bug9004_2(x char(16))
call bug9004_1(x)|
call bug9004_1('12345678901234567')|
Warnings:
Warning 1265 Data truncated for column 'id' at row 1
Warning 1265 Data truncated for column 'id' at row 2
call bug9004_2('12345678901234567890')|
Warnings:
Warning 1265 Data truncated for column 'id' at row 1
Warning 1265 Data truncated for column 'id' at row 2
delete from t1|
drop procedure bug9004_1|
drop procedure bug9004_2|
drop table t1,t2;
mysql-test/t/sp.test
View file @
057b8aa9
...
...
@@ -3700,6 +3700,30 @@ select @x|
drop
function
bug8861
|
#
# BUG#9004: Inconsistent behaviour of SP re. warnings
#
--
disable_warnings
drop
procedure
if
exists
bug9004_1
|
drop
procedure
if
exists
bug9004_2
|
--
enable_warnings
create
procedure
bug9004_1
(
x
char
(
16
))
begin
insert
into
t1
values
(
x
,
42
);
insert
into
t1
values
(
x
,
17
);
end
|
create
procedure
bug9004_2
(
x
char
(
16
))
call
bug9004_1
(
x
)
|
# Truncation warnings expected...
call
bug9004_1
(
'12345678901234567'
)
|
call
bug9004_2
(
'12345678901234567890'
)
|
delete
from
t1
|
drop
procedure
bug9004_1
|
drop
procedure
bug9004_2
|
#
# BUG#NNNN: New bug synopsis
#
...
...
sql/sql_error.cc
View file @
057b8aa9
...
...
@@ -113,7 +113,7 @@ MYSQL_ERROR *push_warning(THD *thd, MYSQL_ERROR::enum_warning_level level,
!
(
thd
->
options
&
OPTION_SQL_NOTES
))
DBUG_RETURN
(
0
);
if
(
thd
->
query_id
!=
thd
->
warn_id
)
if
(
thd
->
query_id
!=
thd
->
warn_id
&&
!
thd
->
spcont
)
mysql_reset_errors
(
thd
,
0
);
thd
->
got_warning
=
1
;
...
...
sql/sql_parse.cc
View file @
057b8aa9
...
...
@@ -2268,9 +2268,11 @@ mysql_execute_command(THD *thd)
A better approach would be to reset this for any commands
that is not a SHOW command or a select that only access local
variables, but for now this is probably good enough.
Don't reset warnings when executing a stored routine.
*/
if
(
all_tables
||
&
lex
->
select_lex
!=
lex
->
all_selects_list
||
lex
->
spfuns
.
records
||
lex
->
spprocs
.
records
)
if
((
all_tables
||
&
lex
->
select_lex
!=
lex
->
all_selects_list
||
lex
->
spfuns
.
records
||
lex
->
spprocs
.
records
)
&&
!
thd
->
spcont
)
mysql_reset_errors
(
thd
,
0
);
#ifdef HAVE_REPLICATION
...
...
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