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
387afb3d
Commit
387afb3d
authored
Apr 13, 2005
by
pem@mysql.comhem.se
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Fixed BUG#9856: Stored procedures: crash if handler for sqlexception, not found.
parent
6a46d0cd
Changes
4
Show whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
43 additions
and
8 deletions
+43
-8
mysql-test/r/sp.result
mysql-test/r/sp.result
+18
-0
mysql-test/t/sp.test
mysql-test/t/sp.test
+23
-0
sql/sp_pcontext.h
sql/sp_pcontext.h
+1
-7
sql/sql_yacc.yy
sql/sql_yacc.yy
+1
-1
No files found.
mysql-test/r/sp.result
View file @
387afb3d
...
@@ -2862,4 +2862,22 @@ call bug6129(@@sql_mode)|
...
@@ -2862,4 +2862,22 @@ call bug6129(@@sql_mode)|
@@sql_mode = mode
@@sql_mode = mode
0
0
drop procedure bug6129|
drop procedure bug6129|
drop procedure if exists bug9856|
create procedure bug9856()
begin
declare v int;
declare c cursor for select data from t1;
declare exit handler for sqlexception, not found select '16';
open c;
fetch c into v;
select v;
end|
delete from t1|
call bug9856()|
16
16
call bug9856()|
16
16
drop procedure bug9856|
drop table t1,t2;
drop table t1,t2;
mysql-test/t/sp.test
View file @
387afb3d
...
@@ -3514,6 +3514,29 @@ call bug6129(@@sql_mode)|
...
@@ -3514,6 +3514,29 @@ call bug6129(@@sql_mode)|
drop
procedure
bug6129
|
drop
procedure
bug6129
|
#
# BUG#9856: Stored procedures: crash if handler for sqlexception, not found
#
--
disable_warnings
drop
procedure
if
exists
bug9856
|
--
enable_warnings
create
procedure
bug9856
()
begin
declare
v
int
;
declare
c
cursor
for
select
data
from
t1
;
declare
exit
handler
for
sqlexception
,
not
found
select
'16'
;
open
c
;
fetch
c
into
v
;
select
v
;
end
|
delete
from
t1
|
call
bug9856
()
|
call
bug9856
()
|
drop
procedure
bug9856
|
#
#
# BUG#NNNN: New bug synopsis
# BUG#NNNN: New bug synopsis
#
#
...
...
sql/sp_pcontext.h
View file @
387afb3d
...
@@ -235,12 +235,6 @@ class sp_pcontext : public Sql_alloc
...
@@ -235,12 +235,6 @@ class sp_pcontext : public Sql_alloc
// Handlers
// Handlers
//
//
inline
void
add_handler
()
{
m_handlers
+=
1
;
}
inline
void
inline
void
push_handler
(
sp_cond_type_t
*
cond
)
push_handler
(
sp_cond_type_t
*
cond
)
{
{
...
@@ -257,7 +251,7 @@ class sp_pcontext : public Sql_alloc
...
@@ -257,7 +251,7 @@ class sp_pcontext : public Sql_alloc
}
}
inline
void
inline
void
push
_handlers
(
uint
n
)
add
_handlers
(
uint
n
)
{
{
m_handlers
+=
n
;
m_handlers
+=
n
;
}
}
...
...
sql/sql_yacc.yy
View file @
387afb3d
...
@@ -1681,7 +1681,6 @@ sp_decl:
...
@@ -1681,7 +1681,6 @@ sp_decl:
sp->add_instr(i);
sp->add_instr(i);
sp->push_backpatch(i, ctx->push_label((char *)"", 0));
sp->push_backpatch(i, ctx->push_label((char *)"", 0));
ctx->add_handler();
sp->m_in_handler= TRUE;
sp->m_in_handler= TRUE;
}
}
sp_hcond_list sp_proc_stmt
sp_hcond_list sp_proc_stmt
...
@@ -1709,6 +1708,7 @@ sp_decl:
...
@@ -1709,6 +1708,7 @@ sp_decl:
sp->m_in_handler= FALSE;
sp->m_in_handler= FALSE;
$$.vars= $$.conds= $$.curs= 0;
$$.vars= $$.conds= $$.curs= 0;
$$.hndlrs= $6;
$$.hndlrs= $6;
ctx->add_handlers($6);
}
}
| DECLARE_SYM ident CURSOR_SYM FOR_SYM sp_cursor_stmt
| DECLARE_SYM ident CURSOR_SYM FOR_SYM sp_cursor_stmt
{
{
...
...
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