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
26ad972d
Commit
26ad972d
authored
Jan 13, 2005
by
unknown
Browse files
Options
Browse Files
Download
Plain Diff
Merge bk-internal:/home/bk/mysql-5.0
into mysql.com:/home/jimw/my/mysql-5.0-clean
parents
df56b842
68075175
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
27 additions
and
11 deletions
+27
-11
innobase/os/os0file.c
innobase/os/os0file.c
+15
-9
sql/ha_innodb.cc
sql/ha_innodb.cc
+12
-2
No files found.
innobase/os/os0file.c
View file @
26ad972d
...
@@ -490,7 +490,7 @@ os_io_init_simple(void)
...
@@ -490,7 +490,7 @@ os_io_init_simple(void)
}
}
}
}
#if
ndef UNIV_HOTBACKUP
#if
!defined(UNIV_HOTBACKUP) && !defined(__NETWARE__)
/*************************************************************************
/*************************************************************************
Creates a temporary file. This function is defined in ha_innodb.cc. */
Creates a temporary file. This function is defined in ha_innodb.cc. */
...
@@ -498,7 +498,7 @@ int
...
@@ -498,7 +498,7 @@ int
innobase_mysql_tmpfile
(
void
);
innobase_mysql_tmpfile
(
void
);
/*========================*/
/*========================*/
/* out: temporary file descriptor, or < 0 on error */
/* out: temporary file descriptor, or < 0 on error */
#endif
/* !UNIV_HOTBACKUP */
#endif
/* !UNIV_HOTBACKUP
&& !__NETWARE__
*/
/***************************************************************************
/***************************************************************************
Creates a temporary file. */
Creates a temporary file. */
...
@@ -508,9 +508,12 @@ os_file_create_tmpfile(void)
...
@@ -508,9 +508,12 @@ os_file_create_tmpfile(void)
/*========================*/
/*========================*/
/* out: temporary file handle, or NULL on error */
/* out: temporary file handle, or NULL on error */
{
{
#ifdef __NETWARE__
FILE
*
file
=
tmpfile
();
#else
/* __NETWARE__ */
FILE
*
file
=
NULL
;
FILE
*
file
=
NULL
;
int
fd
=
-
1
;
int
fd
=
-
1
;
#ifdef UNIV_HOTBACKUP
#
ifdef UNIV_HOTBACKUP
int
tries
;
int
tries
;
for
(
tries
=
10
;
tries
--
;
)
{
for
(
tries
=
10
;
tries
--
;
)
{
char
*
name
=
tempnam
(
fil_path_to_mysql_datadir
,
"ib"
);
char
*
name
=
tempnam
(
fil_path_to_mysql_datadir
,
"ib"
);
...
@@ -519,15 +522,15 @@ os_file_create_tmpfile(void)
...
@@ -519,15 +522,15 @@ os_file_create_tmpfile(void)
}
}
fd
=
open
(
name
,
fd
=
open
(
name
,
# ifdef __WIN__
#
ifdef __WIN__
O_SEQUENTIAL
|
O_SHORT_LIVED
|
O_TEMPORARY
|
O_SEQUENTIAL
|
O_SHORT_LIVED
|
O_TEMPORARY
|
# endif
/* __WIN__ */
#
endif
/* __WIN__ */
O_CREAT
|
O_EXCL
|
O_RDWR
,
O_CREAT
|
O_EXCL
|
O_RDWR
,
S_IREAD
|
S_IWRITE
);
S_IREAD
|
S_IWRITE
);
if
(
fd
>=
0
)
{
if
(
fd
>=
0
)
{
# ifndef __WIN__
#
ifndef __WIN__
unlink
(
name
);
unlink
(
name
);
# endif
/* !__WIN__ */
#
endif
/* !__WIN__ */
free
(
name
);
free
(
name
);
break
;
break
;
}
}
...
@@ -538,22 +541,25 @@ os_file_create_tmpfile(void)
...
@@ -538,22 +541,25 @@ os_file_create_tmpfile(void)
name
);
name
);
free
(
name
);
free
(
name
);
}
}
#else
/* UNIV_HOTBACKUP */
#
else
/* UNIV_HOTBACKUP */
fd
=
innobase_mysql_tmpfile
();
fd
=
innobase_mysql_tmpfile
();
#endif
/* UNIV_HOTBACKUP */
#
endif
/* UNIV_HOTBACKUP */
if
(
fd
>=
0
)
{
if
(
fd
>=
0
)
{
file
=
fdopen
(
fd
,
"w+b"
);
file
=
fdopen
(
fd
,
"w+b"
);
}
}
#endif
/* __NETWARE__ */
if
(
!
file
)
{
if
(
!
file
)
{
ut_print_timestamp
(
stderr
);
ut_print_timestamp
(
stderr
);
fprintf
(
stderr
,
fprintf
(
stderr
,
" InnoDB: Error: unable to create temporary file;"
" InnoDB: Error: unable to create temporary file;"
" errno: %d
\n
"
,
errno
);
" errno: %d
\n
"
,
errno
);
#ifndef __NETWARE__
if
(
fd
>=
0
)
{
if
(
fd
>=
0
)
{
close
(
fd
);
close
(
fd
);
}
}
#endif
/* !__NETWARE__ */
}
}
return
(
file
);
return
(
file
);
...
...
sql/ha_innodb.cc
View file @
26ad972d
...
@@ -5704,7 +5704,9 @@ ha_innobase::store_lock(
...
@@ -5704,7 +5704,9 @@ ha_innobase::store_lock(
if
((
lock_type
==
TL_READ
&&
thd
->
in_lock_tables
)
||
if
((
lock_type
==
TL_READ
&&
thd
->
in_lock_tables
)
||
(
lock_type
==
TL_READ_HIGH_PRIORITY
&&
thd
->
in_lock_tables
)
||
(
lock_type
==
TL_READ_HIGH_PRIORITY
&&
thd
->
in_lock_tables
)
||
lock_type
==
TL_READ_WITH_SHARED_LOCKS
||
lock_type
==
TL_READ_WITH_SHARED_LOCKS
||
lock_type
==
TL_READ_NO_INSERT
)
{
lock_type
==
TL_READ_NO_INSERT
||
thd
->
lex
->
sql_command
!=
SQLCOM_SELECT
)
{
/* The OR cases above are in this order:
/* The OR cases above are in this order:
1) MySQL is doing LOCK TABLES ... READ LOCAL, or
1) MySQL is doing LOCK TABLES ... READ LOCAL, or
2) (we do not know when TL_READ_HIGH_PRIORITY is used), or
2) (we do not know when TL_READ_HIGH_PRIORITY is used), or
...
@@ -5712,7 +5714,15 @@ ha_innobase::store_lock(
...
@@ -5712,7 +5714,15 @@ ha_innobase::store_lock(
4) we are doing a complex SQL statement like
4) we are doing a complex SQL statement like
INSERT INTO ... SELECT ... and the logical logging (MySQL
INSERT INTO ... SELECT ... and the logical logging (MySQL
binlog) requires the use of a locking read, or
binlog) requires the use of a locking read, or
MySQL is doing LOCK TABLES ... READ. */
MySQL is doing LOCK TABLES ... READ.
5) we let InnoDB do locking reads for all SQL statements that
are not simple SELECTs; note that select_lock_type in this
case may get strengthened in ::external_lock() to LOCK_X.
Note that we MUST use a locking read in all data modifying
SQL statements, because otherwise the execution would not be
serializable, and also the results from the update could be
unexpected if an obsolete consistent read view would be
used. */
prebuilt
->
select_lock_type
=
LOCK_S
;
prebuilt
->
select_lock_type
=
LOCK_S
;
prebuilt
->
stored_select_lock_type
=
LOCK_S
;
prebuilt
->
stored_select_lock_type
=
LOCK_S
;
...
...
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