Commit graph

912 commits

Author SHA1 Message Date
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
monty@mysql.com
f16b456ddc Only enable Innodb extra debugging when using the --debug=full configure option 2005-01-26 16:07:53 +02:00
serg@serg.mylan
7084b494c4 innobase/include/univ.i
remove a change that broke the test
2005-01-26 08:57:43 +01:00
heikki@hundin.mysql.fi
a4d445aae7 buf0rea.c:
Add more diagnostics about why page reads in recovery may hang: print the number of pending pread calls
2005-01-25 22:42:50 +02:00
monty@mysql.com
37168015cd Cleanups during review 2005-01-25 21:27:51 +02:00
marko@hundin.mysql.fi
638e2bd733 InnoDB: Backport innodb_autoextend_increment from 4.1 2005-01-25 16:27:13 +02:00
marko@hundin.mysql.fi
ee22415528 Merge hundin.mysql.fi:/home/marko/k/mysql-4.0
into hundin.mysql.fi:/home/marko/k/mysql-4.1
2005-01-25 14:17:51 +02:00
marko@hundin.mysql.fi
ea1bd1d5e5 InnoDB: Enable ut_ad() assertions in MySQL debug builds. 2005-01-25 14:16:41 +02:00
jan@hundin.mysql.fi
a37a3cd69c Merge jlindstrom@bk-internal.mysql.com:/home/bk/mysql-4.1
into hundin.mysql.fi:/home/jan/mysql-4.1
2005-01-24 09:55:41 +02:00
heikki@hundin.mysql.fi
e30b5f86e5 fil0fil.c:
Fix a race condition that could cause the assertion space->n_pending_flushes == 0 to fail in fil0fil.c, in fil_space_free(), in DROP TABLE or in ALTER TABLE
2005-01-22 04:45:22 +02:00
heikki@hundin.mysql.fi
d6706798d2 fil0fil.c:
Fix bug #8021 :Windows error number 87 with multiple tablespaces after mysqld restart; still has to be tested on Windows that this now works
2005-01-21 17:59:23 +02:00
heikki@hundin.mysql.fi
9a03676b69 dict0dict.c:
Fix bug #7831: ALTER TABLE ... ADD CONSTRAINT PRIMARY KEY ... complained about bad foreign key definition
2005-01-21 17:54:50 +02:00
jan@hundin.mysql.fi
c0c93929a8 Merge jlindstrom@bk-internal.mysql.com:/home/bk/mysql-4.1
into hundin.mysql.fi:/home/jan/mysql-4.1
2005-01-17 09:17:48 +02:00
heikki@hundin.mysql.fi
f1dc2017c1 dict0load.c:
Correct typo in comment
2005-01-15 01:10:40 +02:00
heikki@hundin.mysql.fi
71ec20ec1f dict0load.c, dict0crea.c:
Add diagnostic code to track corruption in mix_len; it was reported on the mailing list Jan 14, 2005
2005-01-15 01:06:15 +02:00
marko@hundin.mysql.fi
080869f995 Merge marko@bk-internal.mysql.com:/home/bk/mysql-4.1
into hundin.mysql.fi:/home/marko/k/mysql-4.1
2005-01-14 15:23:34 +02:00
heikki@hundin.mysql.fi
fca5ee0c63 Merge 2005-01-13 19:27:44 +02:00
marko@hundin.mysql.fi
284191d19a InnoDB: Detect the availability of the Mac OS X fsync() work-around
at run-time, so that an executable compiled on Mac OS X 10.2 can
be run on Mac OS X 10.2 (without the work-around) and Mac OS X 10.3
and later with the work-aroud enabled.
2005-01-13 16:15:14 +02:00
marko@hundin.mysql.fi
69afdf53c7 InnoDB: Use system-supplied tmpfile() on Netware, as there is no
open interface for setting the "delete-on-close" flag.
2005-01-12 15:24:49 +02:00
marko@hundin.mysql.fi
6289469e97 Merge marko@bk-internal.mysql.com:/home/bk/mysql-4.1
into hundin.mysql.fi:/home/marko/k/mysql-4.1
2005-01-12 14:08:25 +02:00
jan@hundin.mysql.fi
3ba52c1eb8 Take a shared record lock (LOCK_REC_NOT_GAP) for a matching record in the foreign
key check because we can allow inserts into gaps (Support Issue #4317).
2005-01-12 10:36:50 +02:00
heikki@hundin.mysql.fi
59b9a5289a os0file.c:
Fix compiler error on those OS X platforms where Apple's special file flush trick with fcntl() is not defined
2005-01-10 15:26:33 +02:00
heikki@hundin.mysql.fi
746fd9fdac os0file.c:
Use the fcntl() file flush method on OS X; Apple disabled fsync() for internal disk drives, which caused corruption in power outages; the patch was recommended by an Apple engineer
2005-01-06 11:19:20 +02:00
heikki@hundin.mysql.fi
637e643233 log0recv.c:
Fix a wrong memset in InnoDB Hot Backup code; the bug probably did not affect anything since we do not assume that the header of a log file is filled with zeros before writing the header info there; the bug found by Felix von Leitner
2005-01-01 13:49:53 +02:00
heikki@hundin.mysql.fi
7c31f2ff43 row0upd.c:
Fix a little bug in InnoDB: we looked at the physical size of a stored SQL NULL value from a wrong field in the index; this has probably caused no bugs visible to the user, only caused some extra space usage in some rare cases; we may later backport the fix to 4.0
2004-12-31 15:05:41 +02:00
heikki@hundin.mysql.fi
2aa98f89aa srv0start.c:
Print a more descriptive error and refuse to start InnoDB if the size of ibdata files is smaller than what is stored in the tablespace header; innodb_force_recovery will override this
2004-12-29 17:06:26 +02:00
heikki@hundin.mysql.fi
2f9c038ecf row0mysql.c:
Manually merge the latest FOREIGN KEY lock wait + DROP TABLE fix from 4.0
2004-12-27 21:22:06 +02:00
heikki@hundin.mysql.fi
72d446ace5 row0mysql.c:
Fix the previous bug fix: dropping a table with FOREIGN KEY checks running on it caused a cascade of failed drops while the foreign key check was waiting for a lock
2004-12-27 20:06:40 +02:00
heikki@hundin.mysql.fi
2ca0c44fe3 row0mysql.c:
Merge the two FOREIGN KEY bug fixes from 4.0, and add a TODO comment
2004-12-27 17:28:17 +02:00
heikki@hundin.mysql.fi
3595bcd72e Merge hundin.mysql.fi:/home/heikki/mysql-4.0
into hundin.mysql.fi:/home/heikki/mysql-4.1
2004-12-27 17:19:27 +02:00
heikki@hundin.mysql.fi
b8d576d087 row0ins.c:
Fix bug: if we dropped a table where an INSERT was waiting for a lock to check a FOREIGN KEY constraint, then an assertion would fail in lock_reset_all_on_table(), since that operation assumes no waiting locks on the table or its records
row0mysql.c:
  Fix bug: InnoDB failed to drop a table in the background drop queue if the table was referenced by a foreign key constraint
2004-12-27 17:15:38 +02:00
heikki@hundin.mysql.fi
0aa1815bd1 row0mysql.c:
Fix typo
2004-12-27 04:32:37 +02:00
heikki@hundin.mysql.fi
10a246e453 ha_innodb.cc, row0ins.c, fil0fil.c:
Correct typo
2004-12-27 04:27:09 +02:00
heikki@hundin.mysql.fi
7ad5e20461 Many files:
Fix InnoDB critical bug #7496; we scan the InnoDB data dictionary also at a normal mysqld startup, and create the spaces, so that we know the mapping space id -> .ibd file name; fix an infinite loop if DISCARD TABLESPACE coincides with INSERT or some other table operation; fix a potential crash if DISCARD TABLESPACE coincides with a cascaded FOREIGN KEY operation in the same table; do not allow DISCARD TABLESPACE of a referenced table if FOREIGN_KEY_CHECKS=1
2004-12-27 04:10:25 +02:00
heikki@hundin.mysql.fi
f1fe6e1784 Merge hundin.mysql.fi:/home/heikki/mysql-4.0
into hundin.mysql.fi:/home/heikki/mysql-4.1
2004-12-21 19:33:43 +02:00
heikki@hundin.mysql.fi
b56085a87e os0file.c:
Put back accidentally removed undef and remove a debug def
2004-12-21 18:33:53 +02:00
heikki@hundin.mysql.fi
e25b633367 os0file.c:
Fix InnoDB bug: on HP-UX, with a 32-bit binary, InnoDB was only able to read or write <= 2 GB files; the reason was that InnoDB treated the return value of lseek() as a 32-bit integer; lseek was used on HP-UX-11 as a replacement for pread() and pwrite() because HAVE_BROKEN_PREAD was defined on that platform
2004-12-21 18:21:17 +02:00
marko@hundin.mysql.fi
e2f9201041 InnoDB: Fixed bugs in the padding and trimming of trailing spaces
that affected the UCS2 character set. (Bug #7350)
2004-12-17 18:35:11 +02:00
sergefp@mysql.com
a8e52ef412 Merge mysql.com:/dbdata/psergey/mysql-4.0-bug6976
into mysql.com:/dbdata/psergey/mysql-4.1-merge
2004-12-13 20:30:44 +03:00