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
0efc57ee
Commit
0efc57ee
authored
Jan 16, 2003
by
heikki@hundin.mysql.fi
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
ha_innodb.cc:
Make SHOW INNODB STATUS aware when we are estimating index range size etc.
parent
c228dfac
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
30 additions
and
7 deletions
+30
-7
sql/ha_innodb.cc
sql/ha_innodb.cc
+30
-7
No files found.
sql/ha_innodb.cc
View file @
0efc57ee
...
@@ -3414,6 +3414,8 @@ ha_innobase::records_in_range(
...
@@ -3414,6 +3414,8 @@ ha_innobase::records_in_range(
update_thd
(
current_thd
);
update_thd
(
current_thd
);
prebuilt
->
trx
->
op_info
=
(
char
*
)
"estimating records in index range"
;
/* In case MySQL calls this in the middle of a SELECT query, release
/* In case MySQL calls this in the middle of a SELECT query, release
possible adaptive hash latch to avoid deadlocks of threads */
possible adaptive hash latch to avoid deadlocks of threads */
...
@@ -3451,6 +3453,8 @@ ha_innobase::records_in_range(
...
@@ -3451,6 +3453,8 @@ ha_innobase::records_in_range(
my_free
((
char
*
)
key_val_buff2
,
MYF
(
0
));
my_free
((
char
*
)
key_val_buff2
,
MYF
(
0
));
prebuilt
->
trx
->
op_info
=
(
char
*
)
""
;
DBUG_RETURN
((
ha_rows
)
n_rows
);
DBUG_RETURN
((
ha_rows
)
n_rows
);
}
}
...
@@ -3479,6 +3483,9 @@ ha_innobase::estimate_number_of_rows(void)
...
@@ -3479,6 +3483,9 @@ ha_innobase::estimate_number_of_rows(void)
update_thd
(
current_thd
);
update_thd
(
current_thd
);
prebuilt
->
trx
->
op_info
=
(
char
*
)
"calculating upper bound for table rows"
;
/* In case MySQL calls this in the middle of a SELECT query, release
/* In case MySQL calls this in the middle of a SELECT query, release
possible adaptive hash latch to avoid deadlocks of threads */
possible adaptive hash latch to avoid deadlocks of threads */
...
@@ -3497,6 +3504,8 @@ ha_innobase::estimate_number_of_rows(void)
...
@@ -3497,6 +3504,8 @@ ha_innobase::estimate_number_of_rows(void)
estimate
=
2
*
local_data_file_length
/
dict_index_calc_min_rec_len
(
index
);
estimate
=
2
*
local_data_file_length
/
dict_index_calc_min_rec_len
(
index
);
prebuilt
->
trx
->
op_info
=
(
char
*
)
""
;
DBUG_RETURN
((
ha_rows
)
estimate
);
DBUG_RETURN
((
ha_rows
)
estimate
);
}
}
...
@@ -3556,6 +3565,8 @@ ha_innobase::info(
...
@@ -3556,6 +3565,8 @@ ha_innobase::info(
/* In case MySQL calls this in the middle of a SELECT query, release
/* In case MySQL calls this in the middle of a SELECT query, release
possible adaptive hash latch to avoid deadlocks of threads */
possible adaptive hash latch to avoid deadlocks of threads */
prebuilt
->
trx
->
op_info
=
(
char
*
)
"returning various info to MySQL"
;
trx_search_latch_release_if_reserved
(
prebuilt
->
trx
);
trx_search_latch_release_if_reserved
(
prebuilt
->
trx
);
ib_table
=
prebuilt
->
table
;
ib_table
=
prebuilt
->
table
;
...
@@ -3564,7 +3575,12 @@ ha_innobase::info(
...
@@ -3564,7 +3575,12 @@ ha_innobase::info(
/* In sql_show we call with this flag: update then statistics
/* In sql_show we call with this flag: update then statistics
so that they are up-to-date */
so that they are up-to-date */
prebuilt
->
trx
->
op_info
=
(
char
*
)
"updating table statistics"
;
dict_update_statistics
(
ib_table
);
dict_update_statistics
(
ib_table
);
prebuilt
->
trx
->
op_info
=
(
char
*
)
"returning various info to MySQL"
;
}
}
if
(
flag
&
HA_STATUS_VARIABLE
)
{
if
(
flag
&
HA_STATUS_VARIABLE
)
{
...
@@ -3632,6 +3648,8 @@ ha_innobase::info(
...
@@ -3632,6 +3648,8 @@ ha_innobase::info(
trx_get_error_info
(
prebuilt
->
trx
));
trx_get_error_info
(
prebuilt
->
trx
));
}
}
prebuilt
->
trx
->
op_info
=
(
char
*
)
""
;
DBUG_VOID_RETURN
;
DBUG_VOID_RETURN
;
}
}
...
@@ -3695,12 +3713,16 @@ ha_innobase::update_table_comment(
...
@@ -3695,12 +3713,16 @@ ha_innobase::update_table_comment(
update_thd
(
current_thd
);
update_thd
(
current_thd
);
prebuilt
->
trx
->
op_info
=
(
char
*
)
"returning table comment"
;
/* In case MySQL calls this in the middle of a SELECT query, release
/* In case MySQL calls this in the middle of a SELECT query, release
possible adaptive hash latch to avoid deadlocks of threads */
possible adaptive hash latch to avoid deadlocks of threads */
trx_search_latch_release_if_reserved
(
prebuilt
->
trx
);
trx_search_latch_release_if_reserved
(
prebuilt
->
trx
);
if
(
!
str
)
{
if
(
!
str
)
{
prebuilt
->
trx
->
op_info
=
(
char
*
)
""
;
return
((
char
*
)
comment
);
return
((
char
*
)
comment
);
}
}
...
@@ -3724,6 +3746,8 @@ ha_innobase::update_table_comment(
...
@@ -3724,6 +3746,8 @@ ha_innobase::update_table_comment(
prebuilt
->
table
);
prebuilt
->
table
);
}
}
prebuilt
->
trx
->
op_info
=
(
char
*
)
""
;
return
(
str
);
return
(
str
);
}
}
...
@@ -3740,30 +3764,29 @@ ha_innobase::get_foreign_key_create_info(void)
...
@@ -3740,30 +3764,29 @@ ha_innobase::get_foreign_key_create_info(void)
row_prebuilt_t
*
prebuilt
=
(
row_prebuilt_t
*
)
innobase_prebuilt
;
row_prebuilt_t
*
prebuilt
=
(
row_prebuilt_t
*
)
innobase_prebuilt
;
char
*
str
;
char
*
str
;
ut_a
(
prebuilt
!=
NULL
);
/* We do not know if MySQL can call this function before calling
/* We do not know if MySQL can call this function before calling
external_lock(). To be safe, update the thd of the current table
external_lock(). To be safe, update the thd of the current table
handle. */
handle. */
update_thd
(
current_thd
);
update_thd
(
current_thd
);
prebuilt
->
trx
->
op_info
=
(
char
*
)
"getting info on foreign keys"
;
/* In case MySQL calls this in the middle of a SELECT query, release
/* In case MySQL calls this in the middle of a SELECT query, release
possible adaptive hash latch to avoid deadlocks of threads */
possible adaptive hash latch to avoid deadlocks of threads */
trx_search_latch_release_if_reserved
(
prebuilt
->
trx
);
trx_search_latch_release_if_reserved
(
prebuilt
->
trx
);
if
(
prebuilt
==
NULL
)
{
fprintf
(
stderr
,
"InnoDB: Error: cannot get create info for foreign keys
\n
"
);
return
(
NULL
);
}
str
=
(
char
*
)
ut_malloc
(
10000
);
str
=
(
char
*
)
ut_malloc
(
10000
);
str
[
0
]
=
'\0'
;
str
[
0
]
=
'\0'
;
dict_print_info_on_foreign_keys
(
TRUE
,
str
,
9000
,
prebuilt
->
table
);
dict_print_info_on_foreign_keys
(
TRUE
,
str
,
9000
,
prebuilt
->
table
);
prebuilt
->
trx
->
op_info
=
(
char
*
)
""
;
return
(
str
);
return
(
str
);
}
}
...
...
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