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
f376ea1b
Commit
f376ea1b
authored
Aug 01, 2007
by
ramil/ram@ramil.myoffice.izhnet.ru
Browse files
Options
Browse Files
Download
Plain Diff
Merge rkalimullin@bk-internal.mysql.com:/home/bk/mysql-5.0-maint
into mysql.com:/home/ram/work/b29928.new/b29928.new.5.0
parents
ba3729a6
7fb417d0
Changes
7
Show whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
43 additions
and
16 deletions
+43
-16
mysql-test/r/mysqlbinlog.result
mysql-test/r/mysqlbinlog.result
+7
-0
mysql-test/t/mysqlbinlog.test
mysql-test/t/mysqlbinlog.test
+21
-0
sql/item_create.cc
sql/item_create.cc
+3
-1
sql/item_func.cc
sql/item_func.cc
+1
-10
sql/log_event.cc
sql/log_event.cc
+7
-4
sql/sql_class.cc
sql/sql_class.cc
+1
-1
sql/sql_class.h
sql/sql_class.h
+3
-0
No files found.
mysql-test/r/mysqlbinlog.result
View file @
f376ea1b
...
...
@@ -318,4 +318,11 @@ INSERT INTO t1 VALUES ('0123456789');
flush logs;
DROP TABLE t1;
# Query thread_id=REMOVED exec_time=REMOVED error_code=REMOVED
flush logs;
create table t1(a int);
insert into t1 values(connection_id());
flush logs;
drop table t1;
1
drop table t1;
End of 5.0 tests
mysql-test/t/mysqlbinlog.test
View file @
f376ea1b
...
...
@@ -216,4 +216,25 @@ flush logs;
DROP
TABLE
t1
;
--
exec
$MYSQL_BINLOG
--
hexdump
--
local
-
load
=
$MYSQLTEST_VARDIR
/
tmp
/
$MYSQLTEST_VARDIR
/
log
/
master
-
bin
.
000011
|
grep
'Query'
|
sed
's/[0-9]\{1,\}/REMOVED/g'
#
# Bug #29928: incorrect connection_id() restoring from mysqlbinlog out
#
flush
logs
;
create
table
t1
(
a
int
);
insert
into
t1
values
(
connection_id
());
let
$a
=
`select a from t1`
;
flush
logs
;
--
exec
$MYSQL_BINLOG
$MYSQLTEST_VARDIR
/
log
/
master
-
bin
.
000013
>
$MYSQLTEST_VARDIR
/
tmp
/
bug29928
.
sql
drop
table
t1
;
connect
(
con1
,
localhost
,
root
,
,
test
);
connection
con1
;
--
exec
$MYSQL
test
<
$MYSQLTEST_VARDIR
/
tmp
/
bug29928
.
sql
--
remove_file
$MYSQLTEST_VARDIR
/
tmp
/
bug29928
.
sql
let
$b
=
`select a from t1`
;
disconnect
con1
;
connection
default
;
let
$c
=
`select $a=$b`
;
--
echo
$c
drop
table
t1
;
--
echo
End
of
5.0
tests
sql/item_create.cc
View file @
f376ea1b
...
...
@@ -70,7 +70,9 @@ Item *create_func_ceiling(Item* a)
Item
*
create_func_connection_id
(
void
)
{
current_thd
->
lex
->
safe_to_cache_query
=
0
;
THD
*
thd
=
current_thd
;
thd
->
lex
->
safe_to_cache_query
=
0
;
thd
->
thread_specific_used
=
TRUE
;
return
new
Item_func_connection_id
();
}
...
...
sql/item_func.cc
View file @
f376ea1b
...
...
@@ -649,16 +649,7 @@ bool Item_func_connection_id::fix_fields(THD *thd, Item **ref)
{
if
(
Item_int_func
::
fix_fields
(
thd
,
ref
))
return
TRUE
;
/*
To replicate CONNECTION_ID() properly we should use
pseudo_thread_id on slave, which contains the value of thread_id
on master.
*/
value
=
((
thd
->
slave_thread
)
?
thd
->
variables
.
pseudo_thread_id
:
thd
->
thread_id
);
value
=
thd
->
variables
.
pseudo_thread_id
;
return
FALSE
;
}
...
...
sql/log_event.cc
View file @
f376ea1b
...
...
@@ -1303,8 +1303,9 @@ Query_log_event::Query_log_event(THD* thd_arg, const char* query_arg,
ulong
query_length
,
bool
using_trans
,
bool
suppress_use
,
THD
::
killed_state
killed_status_arg
)
:
Log_event
(
thd_arg
,
((
thd_arg
->
tmp_table_used
?
LOG_EVENT_THREAD_SPECIFIC_F
:
0
)
|
(
suppress_use
?
LOG_EVENT_SUPPRESS_USE_F
:
0
)),
((
thd_arg
->
tmp_table_used
||
thd_arg
->
thread_specific_used
)
?
LOG_EVENT_THREAD_SPECIFIC_F
:
0
)
|
(
suppress_use
?
LOG_EVENT_SUPPRESS_USE_F
:
0
),
using_trans
),
data_buf
(
0
),
query
(
query_arg
),
catalog
(
thd_arg
->
catalog
),
db
(
thd_arg
->
db
),
q_len
((
uint32
)
query_length
),
...
...
@@ -2689,8 +2690,10 @@ Load_log_event::Load_log_event(THD *thd_arg, sql_exchange *ex,
List
<
Item
>
&
fields_arg
,
enum
enum_duplicates
handle_dup
,
bool
ignore
,
bool
using_trans
)
:
Log_event
(
thd_arg
,
!
thd_arg
->
tmp_table_used
?
0
:
LOG_EVENT_THREAD_SPECIFIC_F
,
using_trans
),
:
Log_event
(
thd_arg
,
(
thd_arg
->
tmp_table_used
||
thd_arg
->
thread_specific_used
)
?
LOG_EVENT_THREAD_SPECIFIC_F
:
0
,
using_trans
),
thread_id
(
thd_arg
->
thread_id
),
slave_proxy_id
(
thd_arg
->
variables
.
pseudo_thread_id
),
num_fields
(
0
),
fields
(
0
),
...
...
sql/sql_class.cc
View file @
f376ea1b
...
...
@@ -197,7 +197,7 @@ THD::THD()
count_cuted_fields
=
CHECK_FIELD_IGNORE
;
killed
=
NOT_KILLED
;
db_length
=
col_access
=
0
;
query_error
=
tmp_table_used
=
0
;
query_error
=
tmp_table_used
=
thread_specific_used
=
0
;
next_insert_id
=
last_insert_id
=
0
;
hash_clear
(
&
handler_tables_hash
);
tmp_table
=
0
;
...
...
sql/sql_class.h
View file @
f376ea1b
...
...
@@ -1457,6 +1457,9 @@ public:
bool
in_lock_tables
;
bool
query_error
,
bootstrap
,
cleanup_done
;
bool
tmp_table_used
;
/** is set if some thread specific value(s) used in a statement. */
bool
thread_specific_used
;
bool
charset_is_system_charset
,
charset_is_collation_connection
;
bool
charset_is_character_set_filesystem
;
bool
enable_slow_log
;
/* enable slow log for current statement */
...
...
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