diff options
author | unknown <monty@donna.mysql.com> | 2000-10-14 03:16:35 +0300 |
---|---|---|
committer | unknown <monty@donna.mysql.com> | 2000-10-14 03:16:35 +0300 |
commit | 518a621adf75a55cad471f82d926842f3bcbf997 (patch) | |
tree | 1b0bc8c3909ac0c3e49a7d72615c583c9a72254d /mysys/my_lock.c | |
parent | da2c52f1fe73f1fca8d95875957b4bcb4bd84a4b (diff) | |
download | mariadb-git-518a621adf75a55cad471f82d926842f3bcbf997.tar.gz |
Fix of LEFT JOIN optimizer bug, problem with key cache on Windows and
a lot of portability issues.
Docs/manual.texi:
Changed FOREIGN KEY to FOREIGN KEY constraint
client/mysqladmin.c:
Don't flush MASTER or SLAVE on refresh
configure.in:
Fix for hpux 11.0
extra/perror.c:
New error message
include/my_pthread.h:
Portability fix for windows
myisam/mi_locking.c:
Ensure that locking doesn't interfere with pread/pwrite on windows
myisam/sort.c:
checked with purecover
mysys/mf_tempfile.c:
Fix for windows
mysys/my_lock.c:
Ensure that locking doesn't interfere with pread/pwrite on windows
mysys/my_winthread.c:
Portability fix
sql-bench/Results/ATIS-mysql-NT_4.0:
New benchmark runs
sql-bench/Results/RUN-mysql-NT_4.0:
New benchmark runs
sql-bench/Results/alter-table-mysql-NT_4.0:
New benchmark runs
sql-bench/Results/big-tables-mysql-NT_4.0:
New benchmark runs
sql-bench/Results/connect-mysql-NT_4.0:
New benchmark runs
sql-bench/Results/create-mysql-NT_4.0:
New benchmark runs
sql-bench/Results/insert-mysql-NT_4.0:
New benchmark runs
sql-bench/Results/select-mysql-NT_4.0:
New benchmark runs
sql-bench/Results/wisconsin-mysql-NT_4.0:
New benchmark runs
sql-bench/crash-me.sh:
Fixed things for PostgreSQL
sql-bench/limits/mysql-3.23.cfg:
Update for new crash-me
sql-bench/limits/mysql.cfg:
Update for new crash-me
sql-bench/print-limit-table:
Fixed position for alter table rename
sql-bench/test-insert.sh:
Fix for PostgreSQL
sql/field.cc:
Fix for default values in CREATE ... SELECT
sql/field.h:
Fix for default values in CREATE ... SELECT
sql/log.cc:
Fixed typo
sql/log_event.cc:
Portability fix
sql/mysqlbinlog.cc:
Portability fix
sql/mysqld.cc:
Don't turn of concurrent insert with --skip-new or --safe
sql/sql_base.cc:
Portability fix
sql/sql_class.cc:
Portability fix
sql/sql_class.h:
Portability fix
sql/sql_parse.cc:
Fix for --log-slow-queries
sql/sql_repl.cc:
Portability fixes
sql/sql_select.cc:
Fixed optimizer bug for LEFT JOIN
sql/sql_select.h:
Fixed optimizer bug for LEFT JOIN
sql/sql_table.cc:
Fix for default values in CREATE ... SELECT
sql/sql_yacc.yy:
Added optional AS to: CREATE TABLE foo [ AS ] SELECT ...
Diffstat (limited to 'mysys/my_lock.c')
-rw-r--r-- | mysys/my_lock.c | 15 |
1 files changed, 11 insertions, 4 deletions
diff --git a/mysys/my_lock.c b/mysys/my_lock.c index 4f1506f20cf..ed637648353 100644 --- a/mysys/my_lock.c +++ b/mysys/my_lock.c @@ -109,10 +109,17 @@ int my_lock(File fd, int locktype, my_off_t start, my_off_t length, printf("Error: DosSetFileLocks() == %d\n",rc); } #elif defined(HAVE_LOCKING) - if (MyFlags & MY_SEEK_NOT_DONE) - VOID(my_seek(fd,start,MY_SEEK_SET,MYF(MyFlags & ~MY_SEEK_NOT_DONE))); - if (!locking(fd,locktype,(ulong) length) || errno == EINVAL) - DBUG_RETURN(0); + /* Windows */ + { + my_bool error; + pthread_mutex_lock(&my_file_info[fd].mutex); + if (MyFlags & MY_SEEK_NOT_DONE) + VOID(my_seek(fd,start,MY_SEEK_SET,MYF(MyFlags & ~MY_SEEK_NOT_DONE))); + error= locking(fd,locktype,(ulong) length) && errno != EINVAL; + pthread_mutex_unlock(&my_file_info[fd].mutex); + if (!error) + DBUG_RETURN(0); + } #else #if defined(HAVE_FCNTL) lock.l_type= (short) locktype; |