1
0
mirror of https://github.com/MariaDB/server.git synced 2025-07-18 23:03:28 +03:00
Commit Graph

136 Commits

Author SHA1 Message Date
314a8bf114 key_cmp -> key_cmp_if_same
New records_in_range() interface (similar to read_range())
Macros for faster bitmap handling
Simplify read_range() code (#WL1786)
New general key_cmp() function to compare keys
2004-05-16 14:48:32 +03:00
5c4f83bbd9 Merge mysql.com:/home/mydev/mysql-4.1
into mysql.com:/home/mydev/mysql-4.1-wl1687
2004-05-07 11:13:58 +02:00
d02d105916 Fixed (portability) bug in handler.h, and tried to silence cast warnings on some platforms. 2004-05-06 19:55:12 +02:00
784c9526ec WL#1687 - Optimize UNION DISTINCT ... UNION ALL (again).
HEAP: Copies the key count to a backup variable and sets the key count to zero.
That way, no HEAP function will ever try to touch any index.
Re-enabling is done by copying back the backup variable.
To avoid memory leak at table close, disable deletes all index trees.
Re-enabling must be done with empty indexes and data anyway. Otherwise,
the indexes would need to be repaired, wich HEAP is not capable of.
MyISAM: Only the key_map is cleared and set.
Re-enabling must be done with empty indexes and data. Otherwise, repair needs
to be done which will enable all keys persistently.
The former implementation disabled only non-unique keys and maked this persistent.
The new implementation additionally can disable all keys, but only without
making this persistent. Re-enabling all keys can be done without repair,
if data file and indexes are empty.
2004-05-06 15:53:01 +02:00
e9492cca05 avoid using ndb tables in query cache 2004-05-05 11:22:10 +03:00
88478c28b1 Merge conflicts with EXAMPLE handler 2004-04-15 09:22:29 +02:00
7c2c408cb8 Added NDB storage engine 2004-04-15 09:14:14 +02:00
86952cd9a6 Merge baker@bk-internal.mysql.com:/home/bk/mysql-4.1
into brian-akers-computer.local:/Users/brian/mysql/mysql-4.1-examples
2004-04-14 11:59:51 -04:00
4d5a8cb78c All changes are to allow someone to compile the example storage engine and use it. 2004-04-12 21:01:45 -07:00
62fa4013ce Don't enable HA_EXTRA_WRITE_CACHE if too few rows
Revert main parts of patch for online index builds. Should be done differently
Added support for %lx in my_snprintf()
2004-04-08 17:56:45 +03:00
00738a2be0 Merge bk-internal.mysql.com:/home/bk/mysql-4.1
into mysql.com:/home/my/mysql-4.1
2004-04-08 15:02:25 +03:00
43546e7a82 Moved reading of ranges from opt_range.cc to handler.cc
This gives the handler more optimization possiblities and is needed for NDB cluster
Fixed not-initialized memory error detected by valgrind
2004-04-08 13:58:06 +03:00
1c0d4c4a46 merged 2004-04-07 17:14:38 +02:00
4de7e18b81 Hand-resolved auto merge 2004-04-07 14:56:24 +02:00
e8eda8129f ::reset(), HA_FAST_KEY_READ, disable_indexes(), enable_indexes(), start_bulk_insert(), end_bulk_insert()
Field::val_str simplification, comment
2004-04-06 21:35:26 +02:00
85ec87a094 Worklog#1563 - Support of on-line CREATE/DROP INDEX.
This is to enable table handlers to implement online create/drop index.
It consists of some parts:
- New default handler methods in handler.h
- Split of mysql_alter_table. It decides if only one kind of
  alteration is to be done (e.g. only create indexes or only drop
  indexes etc.) It then calls the specialized new handler method if
  the handler implements it. Otherwise it calls real_alter_table.
- The parser sets flags for each alter operation detected in a
  command. These are used by mysql_alter_table for the decision.
- mysql_prepare_table is pulled out of mysql_create_table. This is
  also used by mysql_create_index to prepare the key structure array
  for the handler. It is also used by mysql_create_index and
  mysql_drop_index to prepare a call to mysql_create_frm.
- mysql_create_frm is pulled out of rea_create_table for use by
  mysql_create_index and mysql_drop_index after the index is
  created/dropped.
Thanks to Antony who supplied most of the changes.
2004-03-30 19:22:14 +02:00
8a66c13b34 fixed bug #2342
"Running ANALYZE TABLE on bdb table inside a transaction hangs server thread"
2004-03-27 02:29:31 +04:00
ce14578909 Merge with 4.0.18 2004-02-11 00:06:46 +01:00
079edf3313 Code cleanups 2004-02-10 12:03:08 +01:00
d9790a406c row0mysql.c:
Allow always DROPping of a table which is only referenced by FOREIGN KEY constraints from the same table
Many files:
  Do not let REPLACE to perform internally an UPDATE if the table is referenced by a FOREIGN KEY: the manual says that REPLACE must resolve a duplicate key error semantically with DELETE(s) + INSERT, and not by an UPDATE; the internal update caused foreign key checks and cascaded operations to behave in a semantically wrong way
2004-02-09 23:57:29 +02:00
e71325caf9 Fix for BUG#2477 "Slave stop with error after master reboot if use HEAP tables":
when we open the HEAP table for the first time since server restart,
in hp_open(), we set a flag to propagate this info to the handler level
which then writes a DELETE FROM this_heap_table to the binlog.
It is not a perfect solution for the bug, because between the server start and 
the first open of the table, the slave still had old data in his table so
a SELECT on the slave may show wrong content. But if there is a --init-file
to populate the HEAP table on master as startup, then this is a safe fix
(I'll put a note about init-file in the HEAP section of the manual).
2004-01-30 00:05:34 +01:00
c1dd070ba7 Some small portability fixes.
Added support for lower_case_table_names=2, which is to be used on case insensitive file systems.
This tells MySQL to preserve the used case of filenames and database names to make it esier to move files between cases sensitive can case insensitive file systems (like Windows and Linux)
2003-12-30 13:14:21 +02:00
2b53eef5f0 WorkLog #1323 (part 2)
New Statement: SHOW [STORAGE] ENGINES
New System Variable: storage_engine
New mysqld Argument: --default-storage-engine=
2003-12-17 22:52:03 +00:00
afc619f0a2 WorkLog#1280 - Remove fixed table handler from lex/yacc 2003-12-02 20:23:13 +00:00
7c6113a39f Merge key cache structures to one
Fixed compiler warnings (IRIX C compiler and VC++)
2003-11-20 22:06:25 +02:00
cab1dc628c CLIENT_MULTI_QUERIES -> CLIENT_MULTI_STATEMENTS
New multi-key-cache handling. This was needed becasue the old one didn't work reliable with MERGE tables.
ALTER TABLE table_name ... CHARACTER SET  ... now changes all char/varchar/text columns to the given character set
(One must use ALTER TABLE ... DEFAULT CHARACTER SET ... to change the default character set)
Fixed that have_compress is detected properly (fixes problems with func_compress.test on platforms without zlib)
New syntax for CACHE INDEX ('keys' is optional if no index name is given and one mentions the key cache name only ones)
Removed compiler warnings
Added mysql_set_server_option() to allow clients like PHP to easaily set/reset the multi-statement flag.
2003-11-18 13:47:27 +02:00
74551a72ec Merge bk-internal:/home/bk/mysql-4.1/
into serg.mylan:/usr/home/serg/Abk/mysql-4.1
2003-10-31 10:34:34 +01:00
f29ed57531 Merge 2003-10-30 10:45:28 -08:00
6e17f4f20d fixes to Bitmap class 2003-10-24 22:44:48 +02:00
df69309593 MATCH ... AGAINST ("..." WITH QUERY EXPANSION) syntax 2003-10-22 17:57:09 +02:00
f944fd4a65 merged 2003-10-21 11:58:43 +02:00
e87c9f5ff8 merge with 4.0 2003-10-16 03:08:40 +03:00
84d9d98078 Better fix for CREATE TABLE IF NOT EXISTS ... SELECT
Fixed chsize() problem on windows
Extend default timeout on windows clients to 1 year (to avoid timeout problems)
2003-10-15 21:41:13 +03:00
50d9b95b77 merged 2003-10-15 12:25:44 +02:00
5ec87f2449 Many files:
ALTER TABLE ... DISCARD/IMPORT TABLESPACE
  Track crash in buf_LRU_block_remove_hashed_page + 1807 reported in MySQL-3.23.5x
2003-10-13 11:20:19 +03:00
8cc3951c8f key_map with more that 64 bits width 2003-10-11 13:06:55 +02:00
f12cbd4bb8 Manual merge after improving concurrency for key cache reassignment 2003-10-01 20:20:17 -07:00
755455e15c merged 2003-09-03 12:07:18 +02:00
2263e3e51f Merge with 4.0.14 2003-08-11 22:44:43 +03:00
79922d946a table checksum background:
my_checksum() mysys function
   NISAM checksum code moved from mysys to isam/ - it's obsolete
   MyISAM checksum code moved to mysys
   table's checksum accessible from sql layer
   SHOW TABLE STATUS shows checksum (WL#646)
code cleanup
2003-08-05 21:14:15 +02:00
34919a03c4 Added thread variable max_seeks_for_key
Change optimizer to prefer key lookups before table scan
Change table scans to be done after tables with constrains on scanned table
2003-06-27 03:04:54 +03:00
95ffe2d0ca handler.h, ha_innodb.h, ha_innodb.cc:
Cleanup; remove compiler warning on Windows
2003-06-15 23:23:04 +03:00
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
a0f3dcc3c8 Merge rurik.mysql.com:/home/igor/mysql-4.1
into rurik.mysql.com:/home/igor/dev/mysql-4.1-0
2003-06-12 06:22:35 -07:00
f547f2769f Many files:
New feature: preload indexes into key cache.
mi_preload.c:
  new file
Many files:
  Added preload statement.
2003-06-12 04:29:02 -07:00
dd2b7918cd Merge with 4.0.13 2003-05-19 16:35:49 +03:00
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
5dc8dbea5f merge fix 2003-04-26 15:26:28 +03:00
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
5ea922aab0 merging 2003-04-16 20:35:29 +03:00