Commit graph

950 commits

Author SHA1 Message Date
heikki@hundin.mysql.fi
bea92e1646 dict0dict.c, dict0dict.h, fil0fil.c:
Fix a problem in crash recovery of .ibd files on Windows if the user used lower_case_table_names=0 or 2; the directory scan in crash recovery forgot to put all paths to lower case, so that the tablespace name would be consistent with the internal data dictionary of InnoDB; remember that InnoDB puts internally all database names and table names to lower case on Windows, regardless of the value of lower_case_table_names
2005-04-27 02:57:19 +03:00
jan@hundin.mysql.fi
384efc4493 Fixed a bug: deadlock without any locking, simple select and update (Bug #7975).
Backported from 5.0.3.
2005-04-18 12:17:32 +03:00
heikki@hundin.mysql.fi
a1f7f57be9 fil0fil.c:
Add fault tolerance in the scan of .ibd files at a crash recovery; formerly a single failure of readdir_get_next caused the rest of the directory to be skipped
2005-04-14 22:27:15 +03:00
heikki@hundin.mysql.fi
7cdb04b18b fil0fil.c:
At the shutdown, write the latest lsn only to the first pages of the ibdata files of the system tablespace, NOT to the .ibd files; writing to tens of thousands .ibd files can take minutes
2005-04-13 17:22:04 +03:00
heikki@hundin.mysql.fi
aefe018b67 row0sel.c:
Do not test the value of err if the lock operation was skipped because innodb_logs_unsafe_for_binlog was TRUE; though this did not cause any bugs visible to the user, because err is inited to DB_SUCCESS at the start of the function row_search_for_mysql()
2005-04-13 15:49:28 +03:00
marko@hundin.mysql.fi
d5646eb6c5 InnoDB: Ignore character set mismatch in ALTER TABLE and RENAME TABLE
if foreign_key_checks=0. (Bug #9802)
2005-04-12 16:12:34 +03:00
marko@hundin.mysql.fi
f32fe9c154 InnoDB: Avoid test suite failures caused by a locking conflict
between two server instances at server shutdown/startup.
This conflict on advisory locks appears to be the result of a bug
in the operating system; these locks should be released when the
files are closed, but somehow that does not always happen
immediately in Linux.  (Bug #9381)
2005-04-06 15:09:15 +03:00
heikki@hundin.mysql.fi
0c2caeb4d8 row0sel.c, btr0pcur.c, btr0pcur.ic, btr0pcur.h:
Add diagnostic code to track assertion failure in ut_a(cursor->old_stored == BTR_PCUR_OLD_STORED); the failure happened in OPTIMIZE TABLE, and in 4.0.24 in some other context
2005-04-06 10:27:40 +03:00
heikki@hundin.mysql.fi
9db3965924 dict0dict.c:
Add a note that ENUM in new tables cannot reference ENUM in old tables, in FOREIGN KEY constraints
2005-04-05 11:35:03 +03:00
heikki@hundin.mysql.fi
8a906d79aa trx0trx.c:
If MySQL wrote to its binlog, but for some reason trx->update_undo and trx->insert_undo were NULL in InnoDB, then trx->commit_lsn was garbage, and InnoDB could assert in the log flush of trx_commit_complete_for_mysql() (Bug #9277)
2005-03-21 22:21:55 +02:00
heikki@hundin.mysql.fi
177e7b7f47 Merge 2005-03-21 22:14:00 +02:00
heikki@hundin.mysql.fi
3f378c5232 trx0trx.c, trx0trx.h:
If MySQL wrote to its binlog, but for some reason trx->update_undo and trx->insert_undo were NULL in InnoDB, then trx->commit_lsn was garbage, and InnoDB could assert in the log flush of trx_commit_complete_for_mysql() (Bug #9277)
2005-03-21 22:10:42 +02:00
marko@hundin.mysql.fi
dd20809e32 Merge hundin.mysql.fi:/home/marko/k/mysql-4.0
into hundin.mysql.fi:/home/marko/mysql-4.1
2005-03-15 11:14:57 +02:00
heikki@hundin.mysql.fi
9967ee9d28 buf0flu.c:
Add diagnostics to track why ut_a(block->state == BUF_BLOCK_FILE_PAGE) failed in buf_flush_ready_for_replace() for a user
2005-03-15 08:33:47 +02:00
marko@hundin.mysql.fi
d5c1475db6 dict0load.c:
dict_load_table(): Refuse to open ROW_FORMAT=COMPACT tables
  of MySQL 5.0.3 and later.
2005-03-14 12:43:22 +02:00
heikki@hundin.mysql.fi
2ec7c5f447 log0recv.c:
Better ibbackup message
  Add a message explaining why we do a 'crash recovery' after an ibbackup restore; suggested by Tim Smith
2005-03-09 20:32:01 +02:00
marko@hundin.mysql.fi
2bfe884320 dict0load.c:
dict_load_table(): Do not complain about mix_len != 0,
  because MySQL 3.23.4x left garbage in that column.
2005-03-08 20:06:09 +02:00
marko@hundin.mysql.fi
48cd94d9ae After merge fixes 2005-03-08 17:18:27 +02:00
marko@hundin.mysql.fi
63d01ae103 dict0load.c:
dict_load_table(): Remove the check for row_format=compact for now,
  because the flag bit we used (high-order bit of mix_len)
  has not been zero for at least two customers.
2005-03-08 17:08:17 +02:00
marko@hundin.mysql.fi
4fe94704a7 Merge hundin.mysql.fi:/home/marko/k/mysql-4.0
into hundin.mysql.fi:/home/marko/mysql-4.1
2005-03-08 16:02:13 +02:00
marko@hundin.mysql.fi
beea918092 InnoDB: Win64 portability fix: add missing declaration and
correct the definition of srv_max_buf_pool_modified_pct.
2005-03-08 11:12:18 +02:00
marko@hundin.mysql.fi
a6f17f4cc4 Merge marko@bk-internal.mysql.com:/home/bk/mysql-4.1
into hundin.mysql.fi:/home/marko/mysql-4.1
2005-03-07 15:28:11 +02:00
heikki@hundin.mysql.fi
69fe070acb trx0trx.c:
Print a hex dump of the trx_t object if trx->n_mysql_tables_in_use != 0 at trx_free()
2005-03-07 15:28:10 +02:00
marko@hundin.mysql.fi
38adb1ba79 InnoDB: Portability fixes for warnings reported on IA-64 Windows 2005-03-07 12:03:33 +02:00
heikki@hundin.mysql.fi
d565920ba2 ut0mem.c:
If InnoDB cannot allocate memory, keep retrying for 60 seconds before we crash mysqld; maybe the memory shortage is just temporary
2005-03-04 18:17:29 +02:00
heikki@hundin.mysql.fi
474a910499 trx0trx.c:
Do not assert, but print diagnostics if MySQL tries to free a trx where n_mysql_tables_in_use > 0
2005-03-04 17:58:06 +02:00
marko@hundin.mysql.fi
92d8692495 Merge marko@bk-internal.mysql.com:/home/bk/mysql-4.1
into hundin.mysql.fi:/home/marko/mysql-4.1
2005-03-04 15:27:07 +02:00
heikki@hundin.mysql.fi
07a0fdeb24 srv0start.c:
Work around the AIX 5.1 security patch ML7 problem in errno when it should be EEXIST
2005-03-03 18:00:34 +02:00
heikki@hundin.mysql.fi
c93fcd19a5 Merge 2005-03-03 17:50:04 +02:00
heikki@hundin.mysql.fi
df6d26e4bd srv0start.c:
Work around the AIX 5.1 ML7 patch problem in errno at a higher level, in srv0start.c
os0file.c:
  Revert the AIX patch here
2005-03-03 17:46:56 +02:00
heikki@hundin.mysql.fi
80fca0a075 Merge hundin.mysql.fi:/home/heikki/mysql-4.0
into hundin.mysql.fi:/home/heikki/mysql-4.1
2005-03-03 17:26:12 +02:00
heikki@hundin.mysql.fi
47440f4b5a os0file.c:
AIX 5.1 after security patch ML7 seems to contain a bug that instead of EEXIST it sets errno to 0 if a file creation fails because the file already exists. Work around that bug by interpreting errno 0 in AIX as EEXIST.
2005-03-03 17:20:05 +02:00
marko@hundin.mysql.fi
c75036ed70 row0sel.c:
row_sel_store_mysql_rec(): Do not try to space-pad BLOB fields. (Bug #8771)
2005-03-01 20:46:23 +02:00
marko@hundin.mysql.fi
2b10afd911 After merge fixes 2005-03-01 09:51:32 +02:00
marko@hundin.mysql.fi
ce553fc2fe InnoDB: Fix compilation errors on IA-64 Windows 2005-03-01 09:27:09 +02:00
monty@mysql.com
ab11370de6 Merge bk-internal.mysql.com:/home/bk/mysql-4.1
into mysql.com:/home/my/mysql-4.1
2005-02-28 12:00:18 +02:00
monty@mysql.com
253bfcf783 Fixed wrong memory references found by purify
(No really critical errors found, but a few possible wrong results)
2005-02-28 11:59:46 +02:00
heikki@hundin.mysql.fi
41e45ab16a fil0fil.c:
Check if node == NULL, which means we are outside tablespace bounds, and print a big fatal error message
2005-02-25 22:16:14 +02:00
heikki@hundin.mysql.fi
5f427ec35d row0sel.c:
Fix bug #8677: if one used LOCK TABLES, created an InnoDB temp table, and did a multi-table update where a MyISAM table was the update table and the temp table was a read table, then InnoDB aserted in row0sel.c because n_mysql_tables_in_use was 0. Also, we remove the assertion altogether and just print an error to the .err log if this important consistency check fails. Then it is up to the user to read the .err log and notice the problem if there still are errors in MySQL's table locking.
2005-02-22 21:05:17 +02:00
heikki@hundin.mysql.fi
961d8b0ebf Merge hundin.mysql.fi:/home/heikki/mysql-4.0
into hundin.mysql.fi:/home/heikki/mysql-4.1
2005-02-13 21:05:18 +02:00
heikki@hundin.mysql.fi
548f7dbada row0mysql.c:
Backport the column prefix memory corruption fix from 5.0
2005-02-13 21:00:07 +02:00
monty@mysql.com
b131520f9d Merge bk-internal.mysql.com:/home/bk/mysql-4.1
into mysql.com:/home/my/mysql-4.1
2005-02-02 16:50:35 +02:00
heikki@hundin.mysql.fi
b75bfa828d eval0eval.ic:
Remove wrong assertion that fails on 64 bits
2005-02-02 01:43:25 +02:00
heikki@hundin.mysql.fi
e5479c3f90 rem0rec.ic:
Fix a debug assertion in rem0rec.ic on AMD64; 4.1 was already fixed
2005-02-02 00:31:06 +02:00
monty@mysql.com
b87e0c52a7 Proper fix for comparision with ' '
(Bug #7788 "Table is full" occurs during a multitable update")
2005-02-01 16:27:08 +02:00
heikki@hundin.mysql.fi
a623cc8d67 mem0pool.c:
Fix an assertion failure in 64-bit computers if UNIV_MEM_DEBUG is defined
2005-01-31 22:28:55 +02:00
heikki@hundin.mysql.fi
994fc27330 ut0ut.c:
Use a 32-bit right-shift implementation through a 64-bit integer that should work ok for both gcc and Visual C++; the code depended on defining SIZEOF_LONG, and that is not set when compiling ibbackup
2005-01-28 21:49:21 +02:00
heikki@hundin.mysql.fi
1d78506d7a os0file.c:
Fix Windows porting bugs that broke ibbackup: 1) wrong error check in for CreateDirectory(), 2) wrong error check if the file did not exist in DeleteFile(), 3) too strict sharing restrictions in os_file_create_simple(): when ibbackup called that function, it would not allow mysqld to write to the file
2005-01-28 20:58:16 +02:00
heikki@hundin.mysql.fi
6979789732 fil0fil.c:
We accidentally checked if the DIRECTORY is of type OS_FILE_TYPE_UNKNOWN; our intention was to check if the FILE is that; best to remove the check altogether, as in crash recovery it is safest to try to open also files whose type is unknown
os0file.c:
  Fix a bug: in Windows, os_file_readdir_next_file() returned OS_FILE_TYPE_UNKNOWN as the type of a regular file; this did not break mysqld, but did break ibbackup on Windows
2005-01-27 22:00:36 +02:00
heikki@hundin.mysql.fi
61a0e57cd0 Merge heikki@bk-internal.mysql.com:/home/bk/mysql-4.1
into hundin.mysql.fi:/home/heikki/mysql-4.1
2005-01-27 21:33:15 +02:00