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
e436736d
Commit
e436736d
authored
May 26, 2003
by
monty@mashka.mysql.fi
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
ixed wrong unlock of tables (new bug)
parent
beb29e1b
Changes
4
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
18 additions
and
19 deletions
+18
-19
sql/sql_delete.cc
sql/sql_delete.cc
+4
-2
sql/sql_insert.cc
sql/sql_insert.cc
+4
-8
sql/sql_load.cc
sql/sql_load.cc
+4
-2
sql/sql_update.cc
sql/sql_update.cc
+6
-7
No files found.
sql/sql_delete.cc
View file @
e436736d
...
@@ -481,8 +481,10 @@ bool multi_delete::send_eof()
...
@@ -481,8 +481,10 @@ bool multi_delete::send_eof()
/* reset used flags */
/* reset used flags */
thd
->
proc_info
=
"end"
;
thd
->
proc_info
=
"end"
;
/* We must invalidate the query cache before binlog writing and
/*
ha_autocommit_... */
We must invalidate the query cache before binlog writing and
ha_autocommit_...
*/
if
(
deleted
)
if
(
deleted
)
query_cache_invalidate3
(
thd
,
delete_tables
,
1
);
query_cache_invalidate3
(
thd
,
delete_tables
,
1
);
...
...
sql/sql_insert.cc
View file @
e436736d
...
@@ -350,9 +350,7 @@ int mysql_insert(THD *thd,TABLE_LIST *table_list,
...
@@ -350,9 +350,7 @@ int mysql_insert(THD *thd,TABLE_LIST *table_list,
before binlog writing and ha_autocommit_...
before binlog writing and ha_autocommit_...
*/
*/
if
(
info
.
copied
||
info
.
deleted
)
if
(
info
.
copied
||
info
.
deleted
)
{
query_cache_invalidate3
(
thd
,
table_list
,
1
);
query_cache_invalidate3
(
thd
,
table_list
,
1
);
}
transactional_table
=
table
->
file
->
has_transactions
();
transactional_table
=
table
->
file
->
has_transactions
();
...
@@ -1424,9 +1422,7 @@ void select_insert::send_error(uint errcode,const char *err)
...
@@ -1424,9 +1422,7 @@ void select_insert::send_error(uint errcode,const char *err)
table
->
file
->
extra
(
HA_EXTRA_NO_CACHE
);
table
->
file
->
extra
(
HA_EXTRA_NO_CACHE
);
table
->
file
->
activate_all_index
(
thd
);
table
->
file
->
activate_all_index
(
thd
);
if
(
info
.
copied
||
info
.
deleted
)
if
(
info
.
copied
||
info
.
deleted
)
{
query_cache_invalidate3
(
thd
,
table
,
1
);
query_cache_invalidate3
(
thd
,
table
,
1
);
}
ha_rollback_stmt
(
thd
);
ha_rollback_stmt
(
thd
);
}
}
...
@@ -1438,13 +1434,13 @@ bool select_insert::send_eof()
...
@@ -1438,13 +1434,13 @@ bool select_insert::send_eof()
error
=
table
->
file
->
activate_all_index
(
thd
);
error
=
table
->
file
->
activate_all_index
(
thd
);
table
->
file
->
extra
(
HA_EXTRA_NO_IGNORE_DUP_KEY
);
table
->
file
->
extra
(
HA_EXTRA_NO_IGNORE_DUP_KEY
);
/* We must invalidate the table in the query cache before binlog writing
/*
and ha_autocommit_... */
We must invalidate the table in the query cache before binlog writing
and ha_autocommit_...
*/
if
(
info
.
copied
||
info
.
deleted
)
if
(
info
.
copied
||
info
.
deleted
)
{
query_cache_invalidate3
(
thd
,
table
,
1
);
query_cache_invalidate3
(
thd
,
table
,
1
);
}
/* Write to binlog before commiting transaction */
/* Write to binlog before commiting transaction */
if
(
mysql_bin_log
.
is_open
())
if
(
mysql_bin_log
.
is_open
())
...
...
sql/sql_load.cc
View file @
e436736d
...
@@ -283,8 +283,10 @@ int mysql_load(THD *thd,sql_exchange *ex,TABLE_LIST *table_list,
...
@@ -283,8 +283,10 @@ int mysql_load(THD *thd,sql_exchange *ex,TABLE_LIST *table_list,
table
->
copy_blobs
=
0
;
table
->
copy_blobs
=
0
;
thd
->
count_cuted_fields
=
0
;
/* Don`t calc cuted fields */
thd
->
count_cuted_fields
=
0
;
/* Don`t calc cuted fields */
/* We must invalidate the table in query cache before binlog writing and
/*
ha_autocommit_... */
We must invalidate the table in query cache before binlog writing and
ha_autocommit_...
*/
query_cache_invalidate3
(
thd
,
table_list
,
0
);
query_cache_invalidate3
(
thd
,
table_list
,
0
);
if
(
error
)
if
(
error
)
...
...
sql/sql_update.cc
View file @
e436736d
...
@@ -338,14 +338,7 @@ int mysql_update(THD *thd,
...
@@ -338,14 +338,7 @@ int mysql_update(THD *thd,
This must be before binlog writing and ha_autocommit_...
This must be before binlog writing and ha_autocommit_...
*/
*/
if
(
updated
)
if
(
updated
)
{
query_cache_invalidate3
(
thd
,
table_list
,
1
);
query_cache_invalidate3
(
thd
,
table_list
,
1
);
}
if
(
thd
->
lock
)
{
mysql_unlock_tables
(
thd
,
thd
->
lock
);
thd
->
lock
=
0
;
}
transactional_table
=
table
->
file
->
has_transactions
();
transactional_table
=
table
->
file
->
has_transactions
();
log_delayed
=
(
transactional_table
||
table
->
tmp_table
);
log_delayed
=
(
transactional_table
||
table
->
tmp_table
);
...
@@ -368,6 +361,12 @@ int mysql_update(THD *thd,
...
@@ -368,6 +361,12 @@ int mysql_update(THD *thd,
error
=
1
;
error
=
1
;
}
}
if
(
thd
->
lock
)
{
mysql_unlock_tables
(
thd
,
thd
->
lock
);
thd
->
lock
=
0
;
}
delete
select
;
delete
select
;
free_underlaid_joins
(
thd
,
&
thd
->
lex
.
select_lex
);
free_underlaid_joins
(
thd
,
&
thd
->
lex
.
select_lex
);
if
(
error
>=
0
)
if
(
error
>=
0
)
...
...
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