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
b7bcb965
Commit
b7bcb965
authored
Nov 23, 2002
by
unknown
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
lock option in table list
sql/sql_lex.cc: note about methods location
parent
671ed6ac
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
14 additions
and
28 deletions
+14
-28
sql/sql_lex.cc
sql/sql_lex.cc
+4
-1
sql/sql_parse.cc
sql/sql_parse.cc
+1
-23
sql/sql_yacc.yy
sql/sql_yacc.yy
+9
-4
No files found.
sql/sql_lex.cc
View file @
b7bcb965
...
...
@@ -1282,4 +1282,7 @@ List<String>* st_select_lex::get_ignore_index()
return
ignore_index_ptr
;
}
// There are st_select_lex::add_table_to_list in sql_parse.cc
/*
There are st_select_lex::add_table_to_list &
st_select_lex::set_lock_for_tables in sql_parse.cc
*/
sql/sql_parse.cc
View file @
b7bcb965
...
...
@@ -1426,20 +1426,7 @@ mysql_execute_command(THD *thd)
{
if
(
!
result
)
{
if
((
result
=
new
select_send
()))
{
/*
Normal select:
Change lock if we are using SELECT HIGH PRIORITY,
FOR UPDATE or IN SHARE MODE
TODO: Delete the following loop when locks is set by sql_yacc
*/
TABLE_LIST
*
table
;
for
(
table
=
tables
;
table
;
table
=
table
->
next
)
table
->
lock_type
=
lex
->
lock_option
;
}
else
if
(
!
(
result
=
new
select_send
()))
{
res
=
-
1
;
#ifdef DELETE_ITEMS
...
...
@@ -1663,9 +1650,6 @@ mysql_execute_command(THD *thd)
TABLE_LIST
*
table
;
if
(
check_table_access
(
thd
,
SELECT_ACL
,
tables
->
next
))
goto
error
;
// Error message is given
/* TODO: Delete the following loop when locks is set by sql_yacc */
for
(
table
=
tables
->
next
;
table
;
table
=
table
->
next
)
table
->
lock_type
=
lex
->
lock_option
;
}
unit
->
offset_limit_cnt
=
select_lex
->
offset_limit
;
unit
->
select_limit_cnt
=
select_lex
->
select_limit
+
...
...
@@ -2023,12 +2007,6 @@ mysql_execute_command(THD *thd)
net_printf
(
thd
,
ER_INSERT_TABLE_USED
,
tables
->
real_name
);
DBUG_VOID_RETURN
;
}
{
/* TODO: Delete the following loop when locks is set by sql_yacc */
TABLE_LIST
*
table
;
for
(
table
=
tables
->
next
;
table
;
table
=
table
->
next
)
table
->
lock_type
=
lex
->
lock_option
;
}
/* Skip first table, which is the table we are inserting in */
lex
->
select_lex
.
table_list
.
first
=
...
...
sql/sql_yacc.yy
View file @
b7bcb965
...
...
@@ -798,7 +798,10 @@ create:
($2 &
HA_LEX_CREATE_TMP_TABLE ?
&tmp_table_alias :
(LEX_STRING*) 0),1))
(LEX_STRING*) 0),1,
((using_update_log)?
TL_READ_NO_INSERT:
TL_READ)))
YYABORT;
lex->create_list.empty();
lex->key_list.empty();
...
...
@@ -2374,8 +2377,9 @@ join_table:
}
table_ident opt_table_alias opt_key_definition
{
SELECT_LEX_NODE *sel=Select;
if (!($$= sel->add_table_to_list($2, $3, 0, TL_UNLOCK,
LEX *lex= Lex;
SELECT_LEX_NODE *sel= lex->current_select;
if (!($$= sel->add_table_to_list($2, $3, 0, lex->lock_option,
sel->get_use_index(),
sel->get_ignore_index())))
YYABORT;
...
...
@@ -2388,7 +2392,8 @@ join_table:
SELECT_LEX_UNIT *unit= lex->current_select->master_unit();
lex->current_select= unit->outer_select();
if (!($$= lex->current_select->
add_table_to_list(new Table_ident(unit), $5, 0, TL_UNLOCK)))
add_table_to_list(new Table_ident(unit), $5, 0,
lex->lock_option)))
YYABORT;
};
...
...
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