mirror of
https://github.com/MariaDB/server.git
synced 2025-07-29 05:21:33 +03:00
Merge bob.(none):/home/reggie/bk/mysql41
into bob.(none):/home/reggie/bk/mysql5.0 BitKeeper/etc/logging_ok: auto-union innobase/include/srv0srv.h: Auto merged innobase/srv/srv0srv.c: Auto merged sql/ha_innodb.h: Auto merged sql/mysqld.cc: Auto merged sql/set_var.cc: Auto merged sql/sql_table.cc: Auto merged
This commit is contained in:
@ -219,7 +219,8 @@ AsyncFile::run()
|
|||||||
rmrfReq(request, (char*)theFileName.c_str(), request->par.rmrf.own_directory);
|
rmrfReq(request, (char*)theFileName.c_str(), request->par.rmrf.own_directory);
|
||||||
break;
|
break;
|
||||||
case Request:: end:
|
case Request:: end:
|
||||||
closeReq(request);
|
if (theFd > 0)
|
||||||
|
closeReq(request);
|
||||||
endReq();
|
endReq();
|
||||||
return;
|
return;
|
||||||
default:
|
default:
|
||||||
@ -239,6 +240,7 @@ void AsyncFile::openReq(Request* request)
|
|||||||
{
|
{
|
||||||
m_openedWithSync = false;
|
m_openedWithSync = false;
|
||||||
m_syncFrequency = 0;
|
m_syncFrequency = 0;
|
||||||
|
m_syncCount= 0;
|
||||||
|
|
||||||
// for open.flags, see signal FSOPENREQ
|
// for open.flags, see signal FSOPENREQ
|
||||||
#ifdef NDB_WIN32
|
#ifdef NDB_WIN32
|
||||||
@ -329,7 +331,6 @@ void AsyncFile::openReq(Request* request)
|
|||||||
} else {
|
} else {
|
||||||
#endif
|
#endif
|
||||||
m_openedWithSync = false;
|
m_openedWithSync = false;
|
||||||
m_syncCount = 0;
|
|
||||||
m_syncFrequency = Global_syncFreq;
|
m_syncFrequency = Global_syncFreq;
|
||||||
#if 0
|
#if 0
|
||||||
}
|
}
|
||||||
@ -656,6 +657,7 @@ AsyncFile::writeBuffer(const char * buf, size_t size, off_t offset,
|
|||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
m_syncCount+= bytes_written;
|
||||||
buf += bytes_written;
|
buf += bytes_written;
|
||||||
size -= bytes_written;
|
size -= bytes_written;
|
||||||
offset += bytes_written;
|
offset += bytes_written;
|
||||||
@ -682,6 +684,10 @@ AsyncFile::closeReq(Request * request)
|
|||||||
hFile = INVALID_HANDLE_VALUE;
|
hFile = INVALID_HANDLE_VALUE;
|
||||||
#else
|
#else
|
||||||
if (-1 == ::close(theFd)) {
|
if (-1 == ::close(theFd)) {
|
||||||
|
#ifndef DBUG_OFF
|
||||||
|
if (theFd == -1)
|
||||||
|
abort();
|
||||||
|
#endif
|
||||||
request->error = errno;
|
request->error = errno;
|
||||||
}
|
}
|
||||||
theFd = -1;
|
theFd = -1;
|
||||||
@ -700,7 +706,8 @@ bool AsyncFile::isOpen(){
|
|||||||
void
|
void
|
||||||
AsyncFile::syncReq(Request * request)
|
AsyncFile::syncReq(Request * request)
|
||||||
{
|
{
|
||||||
if(m_openedWithSync){
|
if(m_openedWithSync ||
|
||||||
|
m_syncCount == 0){
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
#ifdef NDB_WIN32
|
#ifdef NDB_WIN32
|
||||||
@ -756,7 +763,6 @@ AsyncFile::appendReq(Request * request){
|
|||||||
|
|
||||||
if(m_syncFrequency != 0 && m_syncCount > m_syncFrequency){
|
if(m_syncFrequency != 0 && m_syncCount > m_syncFrequency){
|
||||||
syncReq(request);
|
syncReq(request);
|
||||||
request->error = 0;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -2394,8 +2394,7 @@ bool mysql_create_like_table(THD* thd, TABLE_LIST* table,
|
|||||||
strxmov(src_path, (*tmp_table)->s->path, reg_ext, NullS);
|
strxmov(src_path, (*tmp_table)->s->path, reg_ext, NullS);
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
strxmov(src_path, mysql_data_home, "/", src_db, "/", src_table,
|
fn_format( src_path, src_table, src_db, reg_ext, MYF(MY_UNPACK_FILENAME));
|
||||||
reg_ext, NullS);
|
|
||||||
if (access(src_path, F_OK))
|
if (access(src_path, F_OK))
|
||||||
{
|
{
|
||||||
my_error(ER_BAD_TABLE_ERROR, MYF(0), src_table);
|
my_error(ER_BAD_TABLE_ERROR, MYF(0), src_table);
|
||||||
@ -2422,8 +2421,7 @@ bool mysql_create_like_table(THD* thd, TABLE_LIST* table,
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
strxmov(dst_path, mysql_data_home, "/", db, "/", table_name,
|
fn_format( dst_path, table_name, db, reg_ext, MYF(MY_UNPACK_FILENAME));
|
||||||
reg_ext, NullS);
|
|
||||||
if (!access(dst_path, F_OK))
|
if (!access(dst_path, F_OK))
|
||||||
goto table_exists;
|
goto table_exists;
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user