Commit graph

73 commits

Author SHA1 Message Date
marko@hundin.mysql.fi
c4ace2a471 InnoDB: Introduce the symbols REC_OFFS_NORMAL_SIZE and
REC_OFFS_SMALL_SIZE for the initial allocation sizes of
arrays passed to rec_get_offsets().
2005-03-10 15:16:16 +02:00
marko@hundin.mysql.fi
6920a6d546 InnoDB: Improve performance by about 10% by removing implicit
memcpy() calls, by not initializing the offsets_[] arrays.
InnoDB: Remove a Microsoft compiler warning in page0page.c.
2005-03-09 22:04:55 +02:00
marko@hundin.mysql.fi
5faaf74818 InnoDB: Zero fill newly created pages and deleted records to
remove old junk and to improve compression ratio.
InnoDB: Make implicit type conversions explicit. (Bug #8826)
2005-03-01 13:54:48 +02:00
marko@hundin.mysql.fi
fbb7d9a9df InnoDB: Write status bits to MLOG_COMP_REC_INSERT entries.
It is not safe to infer the status bits from the B-tree page
level, because after MLOG_COMP_LIST_END_COPY_CREATED, the
level will not be initialized before the records have been inserted.
(Bug #7973)
2005-01-25 12:10:24 +02:00
marko@hundin.mysql.fi
32757a3466 InnoDB: Fix some bugs in the new record format. (Bug #7493) 2004-12-28 01:34:52 +02:00
marko@hundin.mysql.fi
7506ca1be1 InnoDB: Changed interface to rec_get_offsets(), to reduce the use of
memory heaps.  This changeset plugs also a few memory leaks that
were introduced with the compact InnoDB table format.
2004-12-09 15:29:55 +02:00
marko@hundin.mysql.fi
dd48953956 Many files:
Implement more compact InnoDB record format.
  Old format is available as CREATE TABLE ... ROW_FORMAT=DYNAMIC.
2004-12-02 19:45:07 +02:00
marko@hundin.mysql.fi
d7ea8e7c6c InnoDB: quote identifiers according to MySQL settings (Bug #5292) 2004-10-01 11:51:59 +03:00
serg@serg.mylan
1f0cd873c5 manual merged (blame me!) 2004-07-20 00:53:24 +02:00
heikki@hundin.mysql.fi
0614f8c718 btr0cur.c:
Do not add + 1 to the InnoDB index cardinality estimate if the B-tree just contains one page; the fix made in March 2004 caused InnoDB systematically to overestimate the cardinality of empty or small tables by 1
2004-07-15 09:08:51 +03:00
marko@hundin.mysql.fi
fc85c80b88 InnoDB cleanup:
Disable log archiving code unless #ifdef UNIV_LOG_ARCHIVE
Remove (char*) casts of string constants; add const qualifiers
Remove some Hot Backup code unless #ifdef UNIV_HOTBACKUP
2004-05-27 15:27:43 +03:00
marko@hundin.mysql.fi
a5cca9df64 InnoDB cleanup: eliminate IB__FILE__ 2004-05-14 16:06:21 +03:00
monty@mishka.local
21fd1d270e Merge with 4.0 2004-04-26 15:53:31 +03:00
marko@hundin.mysql.fi
6af38c65be InnoDB: send diagnostic output to stderr or files
instead of stdout or fixed-size memory buffers
2004-04-06 16:14:43 +03:00
marko@hundin.mysql.fi
7f1f7b9391 InnoDB: cleanup of B-tree cursor operations 2004-03-31 11:40:07 +03:00
monty@mysql.com
59f9dcd51d Merge mysql.com:/home/my/mysql-4.0 into mysql.com:/home/my/mysql-4.1 2004-03-20 12:49:17 +02:00
heikki@hundin.mysql.fi
c9bbc83d11 btr0btr.c:
Improve space utilization if we have 3 kB - 8 kB rows to insert in the order of the primary key
btr0cur.c:
  Fix bug: The row count and key cardinality estimate was grossly too small if each clustered index page only contained one record
2004-03-19 22:51:25 +02:00
monty@mysql.com
f9ad650490 merge with 4.0 2004-03-17 10:36:12 +02:00
monty@mysql.com
350b433569 merge with 4.0 2004-03-16 22:41:30 +02:00
marko@hundin.mysql.fi
20b6863c9a InnoDB: Make btr_cur_unmark_extern_fields() a static function 2004-03-16 15:26:33 +02:00
marko@hundin.mysql.fi
4573eb566c Allow UNIV_SYNC_DEBUG to be disabled while UNIV_DEBUG is enabled 2004-03-12 17:14:51 +02:00
heikki@hundin.mysql.fi
a9e361856b btr0cur.c:
Remove unused function btr_cur_update_sec_rec_in_place; besides, it was faulty, because even if strings are alphabetically identified, they can have different lengths
2004-02-27 19:02:51 +02:00
monty@mysql.com
ce14578909 Merge with 4.0.18 2004-02-11 00:06:46 +01:00
heikki@hundin.mysql.fi
8c49856f24 btr0cur.c:
Fix bug: InnoDB row count and index cardinality estimates wrapped over at 512 million in 32-bit computers
2004-01-29 14:41:49 +02:00
monty@mysql.com
e0cc6799ec Merge with 4.0.17 2003-12-17 17:35:34 +02:00
heikki@hundin.mysql.fi
6d9aca5069 btr0cur.c, row0umod.c:
Fix bug: if one updated a secondary index column so that its alphabetical value did not change (e.g., abc -> aBc) and rolled back the update, InnoDB failed to return the value in the secondary index to its original value
row0upd.h:
  Correct typing error
sync0sync.ic:
  Remove inadvertently pushed sync debug code
2003-12-13 01:31:59 +02:00
heikki@hundin.mysql.fi
d3d9b727eb Many files:
Fix assertion failure on line 713 of row0upd.c if there is a column prefix index and the last characters in the prefix are spaces: do not assume that the length of alphabetically equal strings is the same; fix a buglet which could cause InnoDB to think that a secondary index record was not locked though it had been updated in a way which did not alpahabetically change its value, e.g., abc -> aBc
2003-12-12 07:51:21 +02:00
monty@mysql.com
7c725b2486 Fixed compiler warnings from Intel compiler in Win64
Added option --max-record-length=# to myisamchk
Don't try repair twice if doing myisamchk --repair --force
Shared memory handler didn't clean up things on errors or shutdown
2003-11-23 14:36:41 +02:00
heikki@hundin.mysql.fi
6112853cda Many files:
Multiple tablespaces for InnoDB
sql_table.cc:
  Tell explicitly that InnoDB should retrieve all columns in CHECKSUM TABLE
sql_update.cc, sql_select.cc, my_base.h:
  More descriptive flag name HA_EXTRA_RETRIEVE_ALL_COLS
2003-10-07 17:28:59 +03:00
monty@mashka.mysql.fi
2263e3e51f Merge with 4.0.14 2003-08-11 22:44:43 +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
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@mashka.mysql.fi
023d6dd39b Merge with 4.0.11 2003-02-04 21:52:14 +02:00
monty@mashka.mysql.fi
152f0603e7 Merge with 3.23.56 (Replace manual with 'empty' document)
Fix for bug when using auto_increment column and LAST_INSERT_ID()
2003-01-28 08:51:03 +02:00
heikki@hundin.mysql.fi
2162408b26 btr0cur.c:
Backport from 4.0: Fix a major bug in InnoDB query estimator for queries of type SELECT ... WHERE col < x and SELECT ... WHERE col > x; MySQL could pick a table scan though the result set was only a few rows in a big table
2003-01-28 01:14:06 +02:00
monty@mashka.mysql.fi
76f146a175 Merge with 4.0.9 2003-01-18 03:13:37 +02:00
heikki@hundin.mysql.fi
7424bf2ea9 btr0cur.h, btr0btr.h, btr0btr.c, btr0cur.c, row0purge.c:
Fix a hang associated with an index tree of height 1 and purging of BLOB fields from it
2003-01-13 15:52:39 +02:00
heikki@hundin.mysql.fi
b1b47e93b1 buf0buf.c, buf0buf.ic, buf0buf.h:
Reduce memory usage of the buffer headers
Many files:
  Merge InnoDB-4.1 with AWE support
2003-01-06 22:07:25 +02:00
heikki@hundin.mysql.fi
9153d88c6b Many files:
Merge InnoDB-4.0.5: new isolation levels READ COMMITTED and READ UNCOMMITTED now supported, selective deadlock resolution
mysqld.cc:
  Change MySQL default isolation level to REPEATABLE READ; note that InnoDB has always had that default, and BDB and MyISAM always run at SERIALIZABLE level anyway
2002-10-29 23:16:46 +02:00
monty@hundin.mysql.fi
67d3cd643b Merge with 3.23.54 2002-10-16 13:11:25 +03:00
heikki@hundin.mysql.fi
31b69aff28 btr0cur.c:
Fix typo in earlier commit
2002-10-16 00:05:15 +03:00
heikki@hundin.mysql.fi
3652fe789b btr0cur.c:
Fix bug: range estimator exaggerated small range size greatly if the paths in the B-tree happened to branch on a high level
2002-10-16 00:05:14 +03:00
heikki@hundin.mysql.fi
cc1db6142f btr0cur.c:
Do not let range estimator to return over 1 / 2 of total rows in table; use longlong in range estimation
btr0cur.h, ha_innobase.cc:
  Use longlong in range estimation, in case there are > 4 billion rows
2002-10-05 22:23:51 +03:00
monty@mashka.mysql.fi
8b7521eb7f Merge with 3.23.53 2002-09-11 14:49:38 +03:00
monty@mashka.mysql.fi
f3a186c905 Portability fixes.
Improve mysql-test to be more robust.
Fix that GRANT doesn't delete SSL options
Change innobase_flush_log_at_trx_commit to uint.
Don't rotate logs if we read a rotate log entry from the master.
2002-09-11 06:40:08 +03:00
heikki@hundin.mysql.fi
deedcb3a72 btr0cur.c:
Remove long latch hold which happened if we scanned long an index without finding any record visible to the current consistent read
2002-09-08 03:01:53 +03:00
monty@hundin.mysql.fi
087261482a merge with 3.23.52 2002-08-08 15:24:47 +03:00
heikki@hundin.mysql.fi
7b4869d9a4 Many files:
Merge InnoDB-3.23.52c
ha_innobase.cc:
  Test the ref length sanity also in the production version
2002-08-02 23:16:19 +03:00