Commit graph

464 commits

Author SHA1 Message Date
heikki@hundin.mysql.fi
3b7140aed0 row0sel.c:
Fix buglets in previous push
2003-09-12 01:35:32 +03:00
heikki@hundin.mysql.fi
be05042bae row0sel.c:
Fix bug: if a primary key contains more than one column, then MySQL seems to do fetch next even for a unique search condition: this in turn caused unnecessary locking which did not agree what the InnoDB manual promised
2003-09-12 00:31:43 +03:00
greg@mysql.com
088406deb9 Windows fix to avoid VC++ 6.0 compiler bug, which prevents compilation when function calls are present inside an expanded inline function 2003-09-04 16:00:05 -04:00
heikki@hundin.mysql.fi
5c4c294a42 btr0btr.c:
Fix bug: if the user created a prefix column key on a fixed length char column, then InnoDB claimed in CHECK TABLE that the table is corrupt
dict0dict.c:
  Fix bug 1151: if the user created a prefix column primary key on a fixed length char column, then InnoDB crashed in a simple SELECT
2003-08-28 02:00:46 +03:00
heikki@hundin.mysql.fi
ea5f464d20 os0file.c:
strerror() does not work in Windows
2003-08-24 03:44:16 +03:00
heikki@hundin.mysql.fi
14f2fc28b6 log0log.c:
Fix assertion failure reported by Alex Kiernan when we compile with the SUN Forte Developer 7 C 5.4 compiler
2003-08-01 12:13:52 +03:00
heikki@hundin.mysql.fi
d7ea863d6b dict0dict.c:
Fix bug introduced in 4.0.13 and reported by Emic: if a CREATE TABLE ended in a comment, a memory overrun could happen
2003-07-30 01:12:33 +03:00
heikki@hundin.mysql.fi
c1b62170a7 srv0srv.c, os0file.c, log0recv.h, log0log.h, fil0fil.h, fsp0fsp.c, fil0fil.c:
Merge
trx0trx.c:
  Print more info about a trx in SHOW INNODB status; try to find the bug reported by Plaxo
buf0buf.c:
  Check that page log sequence numbers are not in the future
log0recv.c, log0log.c:
  Fixed a bug: if you used big BLOBs, and your log files were relatively small, InnoDB could in a big BLOB operation temporarily write over the log produced AFTER the latest checkpoint. If InnoDB would crash at that moment, then the crash recovery would fail, because InnoDB would not be able to scan the log even up to the latest checkpoint. Starting from this version, InnoDB tries to ensure the latest checkpoint is young enough. If that is not possible, InnoDB prints a warning to the .err log
2003-07-25 22:26:39 +03:00
heikki@hundin.mysql.fi
3711f4e985 btr0cur.c:
Fix bug: if there was a 'record too long' error in an insert, InnoDB forgot to free reserved file space extents; they were only freed in mysqld restart
2003-07-22 10:14:43 +03:00
heikki@hundin.mysql.fi
52706fd316 btr0cur.c:
Fix an error in the previous push
2003-07-22 03:23:02 +03:00
heikki@hundin.mysql.fi
8e96f02983 btr0cur.c:
Fix bug reported by Dyego Souza do Carmo: if a row becomes too long, > 8000 bytes, in an update, then InnoDB simply removes the clustered index record and does not report of table handler error 139
2003-07-22 02:44:55 +03:00
heikki@hundin.mysql.fi
38595b1f28 srv0srv.c:
Put back a 50 millisecond sleep in too high concurrency situations which I removed in the previous push; count also such sleeping threads to the InnoDB queue in SHOW INNODB STATUS
2003-07-13 18:50:43 +03:00
heikki@hundin.mysql.fi
b46400b23e srv0srv.c:
Fix a benign bug introduced in 4.0.14: InnoDB could complain 'Error: trying to declare trx to enter InnoDB' if several threads tried to init the auto-inc counter for the same table at the same time; in theory, the bug could even lead to a hang of the server, but that shuld be extremely improbable
2003-07-13 17:18:06 +03:00
heikki@hundin.mysql.fi
2340cff77a srv0start.c, srv0srv.h, os0file.h, os0file.c:
Allow also O_DIRECT as innodb_flush_method; it only affects writing to data files
2003-07-13 00:17:02 +03:00
heikki@hundin.mysql.fi
99d224420d trx0trx.c:
A cosmetic change: set trx id to zero at creation so that SHOW INNODB STATUS does not print a random value for the id of a transaction object for which the transaction has never been started yet (for example, running SHOW INNODB STATUS as the first command from a mysql prompt printed a random id for the trx object associated with the session itself running the SHOW INNODB STATUS command)
2003-07-08 14:16:27 +03:00
heikki@hundin.mysql.fi
7be1beb2d3 row0mysql.c:
Fix performance bug: if there were thousands of tables, DROP TABLE could take as much as a second CPU time
2003-07-06 18:01:51 +03:00
heikki@hundin.mysql.fi
e387dac042 srv0srv.c:
In background loop run purge to completion before doing other background operations: it does not make sense to flush buffer pool pages if they are soon modified again by purge
trx0purge.c:
  Increase purge_sys->n_pages_handled for every undo log we purge, even if that log would be only a hundred bytes: that way we get the purge batches of 20 pages to set a fresh purge view (limit) more often, and we can reduce the number of old row versions purge has to look at when it decides if it can remove some delete-marked index record
2003-07-06 16:17:02 +03:00
heikki@hundin.mysql.fi
2a1f87ff72 Many files:
Remove potential starvation of a full log buffer flush: only flush up to the lsn which was the largest at the time when we requested the full log buffer flush
os0sync.h, os0sync.c:
  Fix a bug in os_event on Unix: even though we signaled the event, some threads could continue waiting if the event became nonsignaled quickly again; this made group commit less efficient than it should be
2003-07-03 21:25:55 +03:00
heikki@hundin.mysql.fi
b2769e2792 trx0trx.c:
Fix bug: group commit still did not work when we had MySQL binlogging on
2003-07-03 17:36:33 +03:00
heikki@hundin.mysql.fi
67b6ba21c3 lock0lock.c:
Remove outdated comment and the corresponding assertion in debug version code
2003-07-03 03:34:20 +03:00
heikki@hundin.mysql.fi
00c557b9c4 sync0sync.c:
Make execution with UNIV_SYNC_DEBUG faster
2003-07-02 13:03:59 +03:00
heikki@hundin.mysql.fi
785b17db96 lock0lock.c:
Fix a latching order violation in the previous (2003-06-15) push: could lead to a hang on the btr0sea.c semaphore
2003-07-02 04:57:31 +03:00
heikki@hundin.mysql.fi
e2efb08c50 dict0dict.h, dict0dict.c, ha_innodb.cc:
In ORDER BY MySQL seems to set the key read flag also in the case where the primary key contains only a prefix of a column - not the whole column; to prevent potential bugs retrieve the whole column if the index contains a prefix of it
2003-06-22 16:20:06 +03:00
heikki@hundin.mysql.fi
eb0a4977ca page0page.c:
Track an assertion failure reported on the mailing list June 18th, 2003
2003-06-19 01:05:24 +03:00
heikki@hundin.mysql.fi
b8cc47797a row0vers.c:
Add forgotten mutex_enter()
2003-06-18 03:53:18 +03:00
heikki@hundin.mysql.fi
6d4fe0280f row0vers.c:
Add forgotten mtr_commit()
2003-06-18 03:49:34 +03:00
heikki@hundin.mysql.fi
d970e339dd row0sel.c, row0ins.c:
Fix error in previous push
2003-06-18 03:38:09 +03:00
heikki@hundin.mysql.fi
01eb3d1e62 row0vers.c, row0sel.c, row0ins.c:
Fix bug: InnoDB could print that it cannot find a clustered index record if an update undo, purge, and a consistent read coincided, in rare cases it might also have returned a wrong row in a query
2003-06-18 02:18:19 +03:00
heikki@hundin.mysql.fi
29796e6240 row0mysql.c, dict0dict.ic:
Cleanup
ha_innodb.cc, data0type.h:
  Make sure non-latin1 users can downgrade from 4.0.14 to an earlier version if they have not created DATA_BLOB column prefix indexes
2003-06-16 00:39:46 +03:00
heikki@hundin.mysql.fi
4da7f485b7 Many files:
Merge InnoDB-4.0.14: SAVEPOINT now implemented; InnoDB now accepts also column prefix keys; crashing bug in ON UPDATE CASCADE fixed; page checksum formula fixed
2003-06-15 01:04:28 +03:00
monty@narttu.mysql.fi
8ad4a240d2 Merge bk-internal.mysql.com:/home/bk/mysql-4.0
into narttu.mysql.fi:/my/mysql-4.0
2003-06-04 23:17:45 +03:00
monty@narttu.mysql.fi
100a66e6cb Added [mysqld-base-version] as a default group for the mysqld server
Portability fix for Windows 64
2003-06-04 16:05:27 +03:00
heikki@hundin.mysql.fi
ce8e0aa0c4 os0sync.c:
Do not try to reserve os_sync_mutex in shutdown after it has been freed
2003-06-02 17:58:18 +03:00
heikki@hundin.mysql.fi
5eaa3c4e34 com0shm.c:
Removed auto event creation because it is not needed in any MySQL/InnoDB code
2003-06-02 16:11:06 +03:00
heikki@hundin.mysql.fi
eebdcd0c5f os0file.c:
Put back Monty's patch which the previous push accidentally erased: print also operation type in os_file_handle_error()
2003-06-02 13:45:45 +03:00
heikki@hundin.mysql.fi
e8e98d05f9 os0thread.h, os0sync.ic, os0sync.h, os0thread.c, os0sync.c, os0file.c:
Release all event semaphores at shutdown also in Windows
srv0start.c, srv0srv.c:
  make test sometimes failed because lock timeout thread exited without decrementing the InnoDB thread counter
2003-06-02 13:11:20 +03:00
monty@narttu.mysql.fi
f6a365a532 Small fixes (nothing nameworthy) 2003-06-01 23:40:01 +03:00
heikki@hundin.mysql.fi
dcdc6ffadc os0thread.c, os0thread.h, os0sync.h:
Cleanup
os0sync.c:
  Free all OS sync primitives and allocated memory in InnoDB shutdown
2003-05-31 03:23:42 +03:00
heikki@hundin.mysql.fi
42671d18ae Many files:
Free all OS sync primitives and allocated memory in InnoDB shutdown
2003-05-31 03:12:03 +03:00
heikki@hundin.mysql.fi
cfda0a16ff srv0start.c:
Cleanup
2003-05-30 23:00:37 +03:00
heikki@hundin.mysql.fi
d1759530d3 Many files:
Exit all threads created by innoDB at shutdown
2003-05-30 22:44:37 +03:00
heikki@hundin.mysql.fi
4ac8d7b963 row0ins.c:
Disable UNIQU KEY error reporting in SHOW INNODB STATUS until we know if it slows down REPLACE significantly
2003-05-22 00:05:33 +03:00
heikki@hundin.mysql.fi
6ba4c68728 srv0start.c:
Better instructions for the user if adding of new ibdata files fails
2003-05-18 21:46:19 +03:00
heikki@hundin.mysql.fi
526bb7dc7b buf0buf.c:
When calculating the buf pool dirty pages ratio, add also free pages to the LRU list length: no need to active flushing if there are lots of free pages in the buffer pool
2003-05-17 16:23:46 +03:00
heikki@hundin.mysql.fi
5359d04608 buf0lru.c, buf0flu.c, buf0buf.c, buf0lru.h:
Search first only 10 % of the LRU list for a replaceable block before doing an LRU flush; enable again flushing of close pages also in a flush list (checkpointing) flush
trx0trx.c:
  Add forgotten return value (it was not used anywhere, fortunately)
ha_innodb.h, mysql_priv.h:
  Move declaration of srv_buf_pool_max_modified_pct to ha_innodb.h and enclose it to denote it is a C variable, not C++
2003-05-16 16:27:50 +03:00
heikki@hundin.mysql.fi
53b7eaf9ca os0sync.c:
Check return value of pthread_cond_...
2003-05-14 20:22:55 +03:00
heikki@hundin.mysql.fi
cef5df827a os0sync.c:
Check that pthread_mutex_init and pthread_mutex_destroy return 0
2003-05-14 20:17:01 +03:00
heikki@hundin.mysql.fi
75e49549a5 os0sync.c:
We had forgotten to call pthread_mutex_destroy when we free an OS mutex in Unix
2003-05-14 19:00:17 +03:00
heikki@hundin.mysql.fi
9ec42178e9 srv0start.c, trx0sys.c:
Let InnoDB to skip writing of pages from the doublewrite buffer if innodb_force_recovery=6; normally, if the page is corrupt AND the corresponding page in the doublewrite buffer is also corrupt, InnoDB calls exit(1)
2003-05-12 17:33:42 +03:00
heikki@hundin.mysql.fi
fa08fdfaef buf0lru.c, buf0flu.c:
Better warning message if more than 4 / 5 of the buffer pool is consumed by locks of adaptive hash index
2003-05-05 10:54:56 +03:00