Commit graph

107 commits

Author SHA1 Message Date
heikki@hundin.mysql.fi
95ffe2d0ca handler.h, ha_innodb.h, ha_innodb.cc:
Cleanup; remove compiler warning on Windows
2003-06-15 23:23:04 +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
heikki@hundin.mysql.fi
e09517e2ac ha_innodb.cc:
Revert a change to dict_mem_index_add_field which slipped prematurely into the bk tree
2003-06-05 16:06:38 +03:00
heikki@hundin.mysql.fi
c2e5f48412 ha_innodb.cc, handler.cc:
Fix the BDB crash in the previous push; to save CPU remove duplicate calls of commit in InnoDB
2003-06-05 15:58:23 +03:00
heikki@hundin.mysql.fi
35fd869e51 Many files:
Eliminate the LOCK_log bottleneck in group commit in binlogging: flush InnoDB log files only after it has been released
2003-05-03 02:29:40 +03:00
monty@mashka.mysql.fi
c137673711 Merge bk-internal.mysql.com:/home/bk/mysql-4.0
into mashka.mysql.fi:/home/my/mysql-4.0
2003-04-27 22:12:38 +03:00
heikki@hundin.mysql.fi
a1861ddb22 trx0trx.h, trx0trx.c, ha_innodb.cc:
Remove code never actually used in IGNORE; InnoDB just rolls back the latest row insert or update on a duplicate key error and leaves it for MySQL to decide whether to ignore the error
2003-04-27 17:25:39 +03:00
monty@mashka.mysql.fi
8b20a878cc Merge with 3.23:
Set innobase_flush_log_at_trx_commit to 1 by default
Fix problem with timestamp on 64 bit systems
Reserve alarms for up to 10 slave threads
2003-04-26 21:10:13 +03:00
heikki@hundin.mysql.fi
a4281f59ed ha_innodb.cc:
When FLUSH LOGS is called, flush InnoDB logs to disk also in the case innodb_flush_log_at_trx_commit=0
2003-04-24 23:24:11 +03:00
heikki@hundin.mysql.fi
9a29732968 ha_innodb.h, ha_innodb.cc:
Make ANALYZE TABLE to update index cardinality and other statistics also for an InnoDB table; note that the estimates are based on 10 random dives, not on an exhaustive read of the table
2003-04-24 15:34:43 +03:00
monty@narttu.mysql.fi
b228f5ff10 merge 2003-04-24 00:36:48 +03:00
monty@narttu.mysql.fi
f6a43bd567 Fixes for valgrind
Added optimzation for clustered index
Fixed bug in UPDATE ... ORDER BY
Fixed handling of UPDATE ... LIMIT
2003-04-23 21:52:16 +03:00
heikki@hundin.mysql.fi
e1b68cf111 ha_innodb.cc:
Prevent crash if MySQL calls rnd_end WITOUT calling rnd_init first: only restore active_index if it the old value was pushed in rnd_init
  Initialize active_index to a sensible value: prevent crash if we restore it to the original value after an table scan
2003-04-18 22:06:10 +03:00
heikki@hundin.mysql.fi
b914d2e3cc ha_innodb.h, ha_innodb.cc:
Make InnoDB to restore old active_index value after a table scan: MySQL may assume that a scan does NOT change active_index; this partially fixes bug 241 of UPDATE ... ORDER BY ... but it still remains that MySQL actually ignores the ORDER BY for both MyISAM and InnoDB tables
log0recv.c:
  Use fflush to make sure report of a corrupt log record is printed to .err log before mysqld crashes
2003-04-18 18:42:43 +03:00
heikki@hundin.mysql.fi
3a77f47a04 ha_innodb.cc, row0sel.c, row0mysql.c, row0mysql.h:
Allow HANDLER PREV and NEXT also after positioning the cursor with a unique search on the primary key
2003-04-17 02:28:40 +03:00
heikki@hundin.mysql.fi
f841b4ae23 Many files:
Merge InnoDB-4.0.13; DROP FOREIGN KEY now works
2003-04-16 16:45:01 +03:00
heikki@hundin.mysql.fi
bd14136331 ha_innodb.cc:
Fix bug: MySQL could erroneously return Empty set if InnoDB estimated index range size to 0 records though the range was not empty; MySQL also failed to do the next-key locking in the case of an empty index range
2003-03-13 23:09:25 +02:00
heikki@hundin.mysql.fi
404116fd1d ha_innodb.cc:
Add comment that Guilhem should check master_log_name, pending etc are right if the master log gets rotated
2003-03-04 19:14:37 +02:00
heikki@hundin.mysql.fi
14749b89bb ha_innodb.cc:
Remove (already commented out) code about storing the latest relay log pos info to InnoDB: we will probably use only the master log pos info when we restart a slave after a crash
2003-03-04 19:06:40 +02:00
heikki@hundin.mysql.fi
6ef0f4ad41 ha_innodb.h, ha_innodb.cc, handler.h, handler.cc, sql_class.cc:
Fix a hang on the adaptive hash S-latch if an application program uses mysql_use_result() and performs queries on two connections at the same time
2003-03-03 19:31:01 +02:00
heikki@hundin.mysql.fi
18dbed8463 ha_innodb.cc:
Remove DEBUG_ASSERT if MySQL internally names a UNIQUE index as the PRIMARY KEY, but inside InnoDB there is no primary key for the table
2003-02-26 19:52:31 +02:00
heikki@hundin.mysql.fi
f407468649 ha_innodb.cc:
Add docs to store_lock()
2003-02-26 19:31:05 +02:00
heikki@hundin.mysql.fi
ed6a85b422 ha_innodb.cc:
Add comment about how to modify InnoDB to deal with partial-field prefixes of key value in the future
2003-02-18 20:07:06 +02:00
heikki@hundin.mysql.fi
e690ea09f7 page0cur.c:
Prepare for 5.x where HA_READ_PREFIX_LAST may pass only a few first bytes of the last field in a key value
ha_innodb.cc:
  In 4.0 always assume HA_READ_PREFIX_LAST passes a complete-field prefix of a key value; LIKE queries use a padding trick
2003-02-18 19:43:41 +02:00
heikki@hundin.mysql.fi
7abed55936 ha_innodb.cc:
Clarify the meaning of HA_READ_PREFIX_LAST as a search flag. InnoDB assumed the meaning wrong.
2003-02-07 17:33:15 +02:00
heikki@hundin.mysql.fi
bd8c8522dc ha_innodb.cc:
Since MySQL uses HA_READ_PREFIX_LAST in a wrong place, we make InnoDB to convert it to a right search condition
2003-02-07 13:28:18 +02:00
heikki@hundin.mysql.fi
a2de9c66f5 ha_innodb.cc:
Fix potential bug: if MySQL calls store_lock with the TL_IGNORE argument in the middle of query processing, then InnoDB select_lock_type could be reset to LOCK_NONE in a wrong place
2003-02-05 01:24:59 +02:00
serg@serg.mysql.com
45ed0a0841 Merge work:/home/bk/mysql-4.0
into serg.mysql.com:/usr/home/serg/Abk/mysql-4.0
2003-01-30 16:02:11 +01:00
heikki@hundin.mysql.fi
d2328365e0 ha_innodb.cc:
Cleanup of the previous bug fix: replace code is either SQLCOM_REPLACE or SQLCOM_REPLACE_SELECT
2003-01-29 02:19:00 +02:00
heikki@hundin.mysql.fi
2db574ea19 ha_innodb.cc:
Fix a bug REPLACE INTO t SELECT ... did not work if t has an auto-inc column
2003-01-29 00:31:56 +02:00
serg@serg.mysql.com
1ced5948f0 low-level error messages cleanup 2003-01-28 17:42:08 +01:00
monty@mashka.mysql.fi
689578a099 Fixes for Netware
Call pthread_mutex_destroy() on not used mutex.
Changed comments in .h and .c files from // -> /* */
Added detection of mutex on which one didn't call pthread_mutex_destroy()
Fixed bug in create_tmp_field() which causes a memory overrun in queries that uses "ORDER BY constant_expression"
Added optimisation for ORDER BY NULL
2003-01-28 08:38:28 +02:00
heikki@hundin.mysql.fi
ff4ef4c4e7 ha_innodb.cc:
Convert TL_READ_NO_INSERT to TL_READ to allow concurrent inserts to the table in INSERT INTO ... SELECT ... FROM table
2003-01-21 00:38:55 +02:00
heikki@hundin.mysql.fi
9a2afb60c7 ha_innodb.cc:
Had forgotten to change ha_innodb.cc to reflect that InnoDB now supports HA_READ_PREFIX_LAST
2003-01-17 00:50:27 +02:00
heikki@hundin.mysql.fi
01573f0d95 ha_innodb.cc:
Backport from 4.1: make sure change_active_index is only called with a properly initialized InnoDB table handle
2003-01-16 08:06:43 +02:00
heikki@hundin.mysql.fi
0efc57eed6 ha_innodb.cc:
Make SHOW INNODB STATUS aware when we are estimating index range size etc.
2003-01-16 07:15:55 +02:00
heikki@hundin.mysql.fi
c228dfacdf ha_innodb.cc:
Fix a typo
2003-01-16 01:07:08 +02:00
heikki@hundin.mysql.fi
d7cc9da9b6 ha_innodb.cc:
Fix a possible hang at the adaptive hash index latch if MySQL does query estimations also in the middle of a SELECT statement processing
2003-01-16 00:44:27 +02:00
heikki@hundin.mysql.fi
c314981049 trx0trx.c:
Add diagnostic prints to determine why the 'queries inside InnoDB' might drift upwards
ha_innodb.cc:
  Add more print space to SHOW INNODB STATUS; remove possible memory leak in case there is an error
2003-01-12 22:31:16 +02:00
monty@mashka.mysql.fi
89a842de3c Merge work:/my/mysql-4.0 into mashka.mysql.fi:/home/my/mysql-4.0 2003-01-02 14:41:31 +02:00
heikki@hundin.mysql.fi
80f5621e4c ha_innodb.cc:
Fix bug: could not switch trx isolation back to REPEATABLE READ after switching it to some other level
2002-12-31 10:17:35 +02:00
monty@mashka.mysql.fi
3ca695ea0b Cut hostnames at HOSTNAME_LENGTH to avoid theoretical hostname overruns
Changed long packat handling to check for packets of length 0xffffff.
This does however break packet handling for older clients.
If you are using packets >= 16M then you need to upgrade client and server
after this patch.
2002-12-26 18:26:37 +02:00
monty@mashka.mysql.fi
f03bbd3fe2 Merge with 3.23:
Remove duplicate casedn_str() in mysql_change_db()
Fix for null handling in CASE
2002-12-21 10:56:40 +02:00
monty@mashka.mysql.fi
146814f2ea Merge with 3.23 2002-12-11 13:32:31 +02:00
monty@mashka.mysql.fi
fc06433a69 Removed copying of parameters as this leads to memory leaks in embedded server.
Fixed 'not initialized' memory error.
2002-12-05 03:40:33 +02:00
heikki@hundin.mysql.fi
ded9245d98 ha_innodb.cc:
Make copies of all string-type start/up options in case C-sharp moves them around; remove the need to specify innodb_log_arch_dir in my.cnf, since it has no relevance anyway
2002-11-29 13:05:37 +02:00
heikki@hundin.mysql.fi
4b73222d5a row0mysql.c, row0mysql.h, ha_innodb.cc, sql_table.cc, handler.h:
Fix crash when InnoDB temp table is truncated + fix bug: do not X-lock rows under LOCK TABLES except if the table is temp
2002-11-19 16:27:26 +02:00
monty@mashka.mysql.fi
adfad220f4 Merge work:/my/mysql-4.0 into mashka.mysql.fi:/home/my/mysql-4.0 2002-11-16 21:58:09 +02:00
monty@mashka.mysql.fi
1a96948e81 Small improvement to alloc_root
Add support for LIMIT # OFFSET #
Changed lock handling:  Now all locks should be stored in TABLE_LIST instead of passed to functions.
Don't call query_cache_invalidate() twice in some cases
mysql_change_user() now clears states to be equal to close + connect.
Fixed a bug with multi-table-update and multi-table-delete when used with LOCK TABLES
Fixed a bug with replicate-do and UPDATE
2002-11-16 20:19:10 +02:00
heikki@hundin.mysql.fi
7e7027ae23 ha_innodb.cc:
Remove unintentionally pushed printf
2002-11-15 23:10:51 +02:00