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 /sql/sql_base.cc | |
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 'sql/sql_base.cc')
-rw-r--r-- | sql/sql_base.cc | 20 |
1 files changed, 10 insertions, 10 deletions
diff --git a/sql/sql_base.cc b/sql/sql_base.cc index 03b799aee7d..ab42d393925 100644 --- a/sql/sql_base.cc +++ b/sql/sql_base.cc @@ -33,8 +33,8 @@ TABLE *unused_tables; /* Used by mysql_test */ HASH open_cache; /* Used by mysql_test */ -static int open_unireg_entry(TABLE *entry,const char *db,const char *name, - const char *alias, bool locked); +static int open_unireg_entry(THD *thd,TABLE *entry,const char *db, + const char *name, const char *alias, bool locked); static bool insert_fields(THD *thd,TABLE_LIST *tables, const char *table_name, List_iterator<Item> *it); static void free_cache_entry(TABLE *entry); @@ -572,7 +572,7 @@ TABLE *reopen_name_locked_table(THD* thd, TABLE_LIST* table_list) key_length=(uint) (strmov(strmov(key,db)+1,table_name)-key)+1; pthread_mutex_lock(&LOCK_open); - if (open_unireg_entry(table, db, table_name, table_name,0) || + if (open_unireg_entry(thd, table, db, table_name, table_name,0) || !(table->table_cache_key =memdup_root(&table->mem_root,(char*) key, key_length))) { @@ -706,7 +706,7 @@ TABLE *open_table(THD *thd,const char *db,const char *table_name, /* make a new table */ if (!(table=(TABLE*) my_malloc(sizeof(*table),MYF(MY_WME)))) DBUG_RETURN(NULL); - if (open_unireg_entry(table,db,table_name,alias,0) || + if (open_unireg_entry(thd, table,db,table_name,alias,0) || !(table->table_cache_key=memdup_root(&table->mem_root,(char*) key, key_length))) { @@ -816,7 +816,8 @@ bool reopen_table(TABLE *table,bool locked) if (!locked) VOID(pthread_mutex_lock(&LOCK_open)); - if (open_unireg_entry(&tmp,db,table_name,table->table_name,locked)) + if (open_unireg_entry(current_thd,&tmp,db,table_name,table->table_name, + locked)) goto end; free_io_cache(table); @@ -1110,10 +1111,11 @@ void abort_locked_tables(THD *thd,const char *db, const char *table_name) ** Purpose : Load a table definition from file and open unireg table ** Args : entry with DB and table given ** Returns : 0 if ok +** Note that the extra argument for open is taken from thd->open_options */ -static int open_unireg_entry(TABLE *entry,const char *db,const char *name, - const char *alias, bool locked) +static int open_unireg_entry(THD *thd, TABLE *entry, const char *db, + const char *name, const char *alias, bool locked) { char path[FN_REFLEN]; int error; @@ -1124,10 +1126,8 @@ static int open_unireg_entry(TABLE *entry,const char *db,const char *name, (uint) (HA_OPEN_KEYFILE | HA_OPEN_RNDFILE | HA_GET_INDEX | HA_TRY_READ_ONLY), READ_KEYINFO | COMPUTE_TYPES | EXTRA_RECORD, - ha_open_options, - entry)) + thd->open_options, entry)) { - THD *thd=current_thd; if (!entry->crashed) goto err; // Can't repair the table |