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
82973c72
Commit
82973c72
authored
Jul 17, 2007
by
sergefp@pylon64.mylan
Browse files
Options
Browse Files
Download
Plain Diff
Merge spetrunia@bk-internal.mysql.com:/home/bk/mysql-5.0-opt
into mysql.com:/home/psergey/mysql-5.0-bug29740
parents
17654758
651e6ffa
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
29 additions
and
0 deletions
+29
-0
sql/ha_heap.cc
sql/ha_heap.cc
+20
-0
sql/ha_heap.h
sql/ha_heap.h
+1
-0
sql/opt_range.cc
sql/opt_range.cc
+8
-0
No files found.
sql/ha_heap.cc
View file @
82973c72
...
@@ -114,6 +114,26 @@ int ha_heap::close(void)
...
@@ -114,6 +114,26 @@ int ha_heap::close(void)
}
}
/*
Create a copy of this table
DESCRIPTION
Do same as default implementation but use file->s->name instead of
table->s->path. This is needed by Windows where the clone() call sees
'/'-delimited path in table->s->path, while ha_peap::open() was called
with '\'-delimited path.
*/
handler
*
ha_heap
::
clone
(
MEM_ROOT
*
mem_root
)
{
handler
*
new_handler
=
get_new_handler
(
table
,
mem_root
,
table
->
s
->
db_type
);
if
(
new_handler
&&
!
new_handler
->
ha_open
(
file
->
s
->
name
,
table
->
db_stat
,
HA_OPEN_IGNORE_IF_LOCKED
))
return
new_handler
;
return
NULL
;
}
/*
/*
Compute which keys to use for scanning
Compute which keys to use for scanning
...
...
sql/ha_heap.h
View file @
82973c72
...
@@ -32,6 +32,7 @@ class ha_heap: public handler
...
@@ -32,6 +32,7 @@ class ha_heap: public handler
public:
public:
ha_heap
(
TABLE
*
table
);
ha_heap
(
TABLE
*
table
);
~
ha_heap
()
{}
~
ha_heap
()
{}
handler
*
clone
(
MEM_ROOT
*
mem_root
);
const
char
*
table_type
()
const
const
char
*
table_type
()
const
{
{
return
(
table
->
in_use
->
variables
.
sql_mode
&
MODE_MYSQL323
)
?
return
(
table
->
in_use
->
variables
.
sql_mode
&
MODE_MYSQL323
)
?
...
...
sql/opt_range.cc
View file @
82973c72
...
@@ -1131,6 +1131,14 @@ int QUICK_RANGE_SELECT::init_ror_merged_scan(bool reuse_handler)
...
@@ -1131,6 +1131,14 @@ int QUICK_RANGE_SELECT::init_ror_merged_scan(bool reuse_handler)
THD
*
thd
=
current_thd
;
THD
*
thd
=
current_thd
;
if
(
!
(
file
=
head
->
file
->
clone
(
thd
->
mem_root
)))
if
(
!
(
file
=
head
->
file
->
clone
(
thd
->
mem_root
)))
{
{
/*
Manually set the error flag. Note: there seems to be quite a few
places where a failure could cause the server to "hang" the client by
sending no response to a query. ATM those are not real errors because
the storage engine calls in question happen to never fail with the
existing storage engines.
*/
thd
->
net
.
report_error
=
1
;
/* Caller will free the memory */
/* Caller will free the memory */
goto
failure
;
goto
failure
;
}
}
...
...
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