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
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
Kirill Smelkov
mariadb
Commits
b7f7c7dc
Commit
b7f7c7dc
authored
Mar 17, 2008
by
davi@buzz.(none)
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Post-merge fixes for Bug 35103
parent
df5cf2b1
Changes
4
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
40 additions
and
16 deletions
+40
-16
libmysql/libmysql.c
libmysql/libmysql.c
+1
-1
sql/sql_class.cc
sql/sql_class.cc
+18
-4
sql/sql_prepare.cc
sql/sql_prepare.cc
+2
-2
tests/mysql_client_test.c
tests/mysql_client_test.c
+19
-9
No files found.
libmysql/libmysql.c
View file @
b7f7c7dc
...
...
@@ -4751,7 +4751,7 @@ int STDCALL mysql_stmt_store_result(MYSQL_STMT *stmt)
if
(
!
mysql
)
{
/* mysql can be reset in mysql_close called from mysql_reconnect */
set_stmt_error
(
stmt
,
CR_SERVER_LOST
,
unknown_sqlstate
);
set_stmt_error
(
stmt
,
CR_SERVER_LOST
,
unknown_sqlstate
,
NULL
);
DBUG_RETURN
(
1
);
}
...
...
sql/sql_class.cc
View file @
b7f7c7dc
...
...
@@ -395,8 +395,11 @@ Diagnostics_area::set_ok_status(THD *thd, ha_rows affected_rows_arg,
{
DBUG_ASSERT
(
!
is_set
());
#ifdef DBUG_OFF
/* In production, refuse to overwrite an error with an OK packet. */
if
(
is_error
())
/*
In production, refuse to overwrite an error or a custom response
with an OK packet.
*/
if
(
is_error
()
||
is_disabled
())
return
;
#endif
/** Only allowed to report success if has not yet reported an error */
...
...
@@ -424,8 +427,11 @@ Diagnostics_area::set_eof_status(THD *thd)
DBUG_ASSERT
(
!
is_set
());
#ifdef DBUG_OFF
/* In production, refuse to overwrite an error with an EOF packet. */
if
(
is_error
())
/*
In production, refuse to overwrite an error or a custom response
with an EOF packet.
*/
if
(
is_error
()
||
is_disabled
())
return
;
#endif
...
...
@@ -454,6 +460,14 @@ Diagnostics_area::set_error_status(THD *thd, uint sql_errno_arg,
an error can happen during the flush.
*/
DBUG_ASSERT
(
!
is_set
()
||
can_overwrite_status
);
#ifdef DBUG_OFF
/*
In production, refuse to overwrite a custom response with an
ERROR packet.
*/
if
(
is_disabled
())
return
;
#endif
m_sql_errno
=
sql_errno_arg
;
strmake
(
m_message
,
message_arg
,
sizeof
(
m_message
)
-
1
);
...
...
sql/sql_prepare.cc
View file @
b7f7c7dc
...
...
@@ -2555,6 +2555,8 @@ void mysql_stmt_close(THD *thd, char *packet)
Prepared_statement
*
stmt
;
DBUG_ENTER
(
"mysql_stmt_close"
);
thd
->
main_da
.
disable_status
();
if
(
!
(
stmt
=
find_prepared_statement
(
thd
,
stmt_id
,
"mysql_stmt_close"
)))
DBUG_VOID_RETURN
;
...
...
@@ -2566,8 +2568,6 @@ void mysql_stmt_close(THD *thd, char *packet)
(
void
)
stmt
->
deallocate
();
general_log_print
(
thd
,
thd
->
command
,
NullS
);
thd
->
main_da
.
disable_status
();
DBUG_VOID_RETURN
;
}
...
...
tests/mysql_client_test.c
View file @
b7f7c7dc
...
...
@@ -12016,6 +12016,7 @@ static void test_bug5194()
rc
=
mysql_stmt_execute
(
stmt
);
check_execute
(
stmt
,
rc
);
mysql_stmt_reset
(
stmt
);
}
mysql_stmt_close
(
stmt
);
...
...
@@ -16600,7 +16601,10 @@ static void test_bug27592()
DBUG_VOID_RETURN
;
}
#if 0
/**
Bug#29948 autoreconnect + prepared statements + kill seems unstable
*/
static
void
test_bug29948
()
{
...
...
@@ -16614,7 +16618,10 @@ static void test_bug29948()
const
char
*
query
;
int
buf
;
unsigned
long
length
,
cursor_type
;
DBUG_ENTER
(
"test_bug29948"
);
myheader
(
"test_bug29948"
);
dbc
=
mysql_init
(
NULL
);
DIE_UNLESS
(
dbc
);
...
...
@@ -16650,7 +16657,7 @@ static void test_bug29948()
res
=
mysql_stmt_attr_set
(
stmt
,
STMT_ATTR_CURSOR_TYPE
,
(
void
*
)
&
cursor_type
);
myquery
(
res
);
query= "SELECT *
from t1 where
a=?";
query
=
"SELECT *
FROM t1 WHERE
a=?"
;
res
=
mysql_stmt_prepare
(
stmt
,
query
,
strlen
(
query
));
myquery
(
res
);
...
...
@@ -16662,20 +16669,23 @@ static void test_bug29948()
res
=
mysql_stmt_bind_result
(
stmt
,
&
bind
);
check_execute
(
stmt
,
res
);
sprintf(kill_buf, "kill %ld", dbc->thread_id);
mysql_query(dbc, kill_buf);
my_snprintf
(
kill_buf
,
sizeof
(
kill_buf
),
"KILL %ld"
,
dbc
->
thread_id
);
res
=
mysql_query
(
dbc
,
kill_buf
);
myquery
(
res
);
res
=
mysql_stmt_store_result
(
stmt
);
DIE_UNLESS
(
res
);
mysql_stmt_free_result
(
stmt
);
mysql_stmt_close
(
stmt
);
mysql_query(dbc, "DROP TABLE t1");
res
=
mysql_query
(
dbc
,
"DROP TABLE t1"
);
myquery
(
res
);
mysql_close
(
dbc
);
}
#endif
/*
Bug#29687 mysql_stmt_store_result memory leak in libmysqld
...
...
@@ -17715,7 +17725,7 @@ static struct my_tests_st my_tests[]= {
{
"test_bug28505"
,
test_bug28505
},
{
"test_bug28934"
,
test_bug28934
},
{
"test_bug27592"
,
test_bug27592
},
/* { "test_bug29948", test_bug29948 }, */
{
"test_bug29948"
,
test_bug29948
},
{
"test_bug29687"
,
test_bug29687
},
{
"test_bug29692"
,
test_bug29692
},
{
"test_bug29306"
,
test_bug29306
},
...
...
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