Commit graph

160 commits

Author SHA1 Message Date
brian@zim.(none)
473e1ffd3a Removed support for RAID, mit-threads, and MySQL FS (really, if someone wants this feature look at a web-dav hookup). 2005-03-16 16:22:56 -08:00
monty@mysql.com
fde941e5b4 Partly reverty back patch (in heap-auto-increment-key detection) to ensure that auto_key and auto_key_type are calculated the same way 2005-03-16 01:15:45 +02:00
ramil@mysql.com
d5e3ba70f3 merging 2005-03-15 19:31:52 +04:00
ramil@mysql.com
46613bafbe A fix (bug #8489: Strange auto_increment behaviour with HEAP table). 2005-03-15 13:32:12 +04:00
monty@mysql.com
0a1076a25f Merge with 4.1 2005-01-15 14:09:45 +02:00
serg@serg.mylan
367bcf8c40 limit HEAP table size with max_heap_table_size, better estimation for mem_per_row 2005-01-14 19:49:45 +01:00
monty@mysql.com
3fb088a075 Add 0x before pointers (to help with debugging)
Add support for VARCHAR with 1 or 2 length bytes
Enable VARCHAR packing in MyISAM files (previous patch didn't pack data properly)
Give error if we got problems in temporary tables during a SELECT
Don't use new table generated by ALTER TABLE if index generation fails
Fixed wrong call by range_end() (Could cause an ASSERT in debug mode)
2004-12-18 05:19:21 +02:00
monty@mysql.com
77207d19f2 Merge with new VARCHAR code 2004-12-06 19:18:35 +02:00
monty@mysql.com
67ce247965 Add support for up to VARCHAR (size up to 65535)
Renamed HA_VAR_LENGTH to HA_VAR_LENGTH_PART
Renamed in all files FIELD_TYPE_STRING and FIELD_TYPE_VAR_STRING to MYSQL_TYPE_STRING and MYSQL_TYPE_VAR_STRING to make it easy to catch all possible errors
Added support for VARCHAR KEYS to heap
Removed support for ISAM
Now only long VARCHAR columns are changed to TEXT on demand (not CHAR)
Internal temporary files can now use fixed length tables if the used VARCHAR columns are short
2004-12-06 02:00:37 +02:00
ram@gw.mysql.r18.ru
3b111a9b42 A fix (bug #6878: Crash with engine=memory). 2004-12-02 15:06:15 +04:00
ram@gw.mysql.r18.ru
7ed2753300 A fix (bug #6878: Crash with engine=memory). 2004-12-02 14:34:53 +04:00
serg@serg.mylan
41c33c29a3 Bug #6748 heap_rfirst() doesn't work (and never did!)
range for BETWEEN typo fixed
2004-11-22 14:53:18 +01:00
sergefp@mysql.com
1cc999fbd4 Merge spetrunia@bk-internal.mysql.com:/home/bk/mysql-4.1
into mysql.com:/dbdata/psergey/mysql-4.1-heap-bug
2004-11-16 21:36:31 +03:00
monty@mysql.com
3afecef4df Fix compiler warnings (detected by Intel's C++ compiler)
Fixed checking of privilege handling in CREATE ... SELECT (Bug #6094)
2004-10-22 18:44:51 +03:00
sergefp@mysql.com
a0ba02d740 Fix for bug#5138 continued: added comments, removed extra debug printf calls, changed ha_heap::records_in_range to use table->rec_per_key. 2004-10-12 18:21:25 +04:00
sergefp@mysql.com
2c9d2cf671 Fix for bug#5138: hash indexes on heap tables support statistics.
KEY::rec_per_key is updated every time 1/HEAP_STATS_UPDATE_THRESHOLD part of table records has been changed.
2004-09-08 02:07:53 +04:00
monty@mysql.com
ea687ba5da Portability fixes
Fixed bug in end space handle for WHERE text_column="constant"
2004-08-26 18:26:38 +03:00
bar@mysql.com
79a3576f7d ctype_utf8.test:
Bug#4521: unique prefix keys, fix for HEAP HASH and HEAP BTREE case insensitive collations.
2004-08-16 19:58:50 +05:00
konstantin@mysql.com
f08bbd1f12 assert.h needed for my_dbug.h now is included in my_dbug.h, where it for
some reason wasn't included before.
A lot of files cleaned up from #include <assert.h>
2004-06-10 23:58:39 +04:00
paul@kite-hub.kitebird.com
2f0ca1ce42 Fix skipp -> skip once and for all.
(Note: This affects only comments, not variable names.)
2004-06-03 11:52:54 -05:00
monty@mishka.local
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
ingo@mysql.com
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
monty@mysql.com
ebc3b3afac BTREE-indexes in HEAP tables can now be used to optimize ORDER BY
Don't read character set files if we are using only the default charset. In most cases the user will not anymore get a warning about missing character set files
Compare strings with space extend instead of space strip. Now the following comparisons holds:  "a" == "a " and "a\t" < "a". (Bug #3152).
Note: Because of the above fix, one has to do a REPAIR on any table that has an ascii character < 32 last in a CHAR/VARCHAR/TEXT columns.
2004-03-25 15:05:01 +02:00
ingo@mysql.com
7216c3b272 WL#1648 - Start/Stop Inserting Duplicates Into a Table 2004-03-18 16:47:16 +01:00
monty@mashka.mysql.fi
afd8f38f4e Optimized GIS functions 2004-03-04 08:50:37 +02:00
vva@eagle.mysql.r18.ru
38a72a162a fixed for BUG #2719 "Heap tables status shows wrong or missing data" 2004-02-20 00:33:16 +04:00
monty@mysql.com
f43093ec0e After merge fixes
Added more DBUG statements
Ensure that we are comparing end space with BINARY strings
Use 'any_db' instead of '' to mean any database. (For HANDLER command)
Only strip ' ' when comparing CHAR, not other space-like characters (like \t)
2004-02-16 10:03:25 +02:00
monty@mysql.com
ce14578909 Merge with 4.0.18 2004-02-11 00:06:46 +01:00
guilhem@mysql.com
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
hf@deer.(none)
0462f48b34 Missed header added 2003-12-16 16:36:12 +04:00
monty@mysql.com
2742701574 Added missing timeout function for named pipes and shared memory (fixes core dump on windows)
Signed auto_increment keys for HASH tables (like for MyISAM tables in 4.0)
nitialize system_charset_info() early. Fixes core dump when starting windows service
2003-12-15 17:58:15 +02:00
monty@mysql.com
7c6113a39f Merge key cache structures to one
Fixed compiler warnings (IRIX C compiler and VC++)
2003-11-20 22:06:25 +02:00
serg@serg.mylan
50d9b95b77 merged 2003-10-15 12:25:44 +02:00
monty@narttu.mysql.fi
6056cfadfc Merge with 4.0.16 2003-10-07 15:42:26 +03:00
lenz@mysql.com
40cabaa773 - fixed several typos ("uppdate"->"update" and "tryed"->"tried") 2003-09-19 18:34:57 +02:00
serg@sergbook.mysql.com
60370dd01c minor cleanups 2003-09-16 15:23:38 +02:00
monty@mashka.mysql.fi
4f7512160b After merge fixes
Use server character set if --default-character-set is not used
Added convert_string() for more efficient alloc+character-set convert of strings
2003-08-19 00:08:08 +03:00
bar@bar.mysql.r18.ru
85c7a8198a Fix:
CREATE TABLE t1 (s1 CHAR(5) CHARACTER SET latin1 COLLATE latin1_german2_ci);
INSERT INTO t1 VALUES ('Ü');
INSERT INTO t1 VALUES ('ue');
SELECT DISTINCT s1 FROM t1;

The above returned two rows in error.
Now it returns one row, in latin1_german2_ci:  Ü == ue
2003-08-05 11:03:05 +05:00
ram@mysql.r18.ru
726fca05f7 Fix and test-case for the bug #775: SELECT misses rows in indexed HEAP table columns. 2003-07-03 18:21:59 +05:00
ram@mysql.r18.ru
bf45493175 Bugfix for HEAP table rb-index scan. 2003-06-10 12:19:28 +05:00
bar@bar.mysql.r18.ru
8192d169a2 CHARSET_INFO structure reorganization for easier maintainance 2003-05-23 17:45:52 +05:00
root@home.(none)
f71a7e4b05 set_default_charset() is not used anymore
Some system_charset_info were removed
2003-03-16 10:56:14 +04:00
monty@narttu.mysql.fi
3b073a08e0 Portability fixes
Don't define crc32 if we are not linking with gzip
2003-02-27 03:44:44 +02:00
monty@mashka.mysql.fi
25c393a12e Portability fixes (for windows)
Some changes to the prepared statement protocol to make it easier to use and faster.
2003-01-21 21:07:59 +02:00
monty@mashka.mysql.fi
35ff08c2af After merge fixes
Added THD to add_to_xxx_list() functions for faster parsing.
2002-12-06 21:11:27 +02:00
monty@mashka.mysql.fi
859b688476 Merge with 4.0.6 2002-12-05 19:38:42 +02:00
monty@mashka.mysql.fi
9d0f0402a7 Fixed bug when creating keys in temporary HEAP tables.
(This caused the DISTINCT test to fail)
Removed one inline as this caused compiler problems
2002-12-02 17:52:22 +02:00
monty@mashka.mysql.fi
6603d75213 New multi-table-update code
New (simpler) internal timestamp handling.
More debuging to heap tables.
Small cleanups to multi-table-delete
false -> 0 and true -> 1  (We should use TRUE and FALSE)
2002-11-29 16:40:18 +02:00
serg@serg.mysql.com
b385eb4a05 removed redundant -I include-dirs 2002-11-26 14:01:08 +01:00
ram@mysql.r18.ru
5991e3fc54 fix for byte ordering bug in HEAP rb-tree 2002-11-19 18:48:22 +04:00
ram@mysql.r18.ru
7d6ffa8e6f fix for NULL processing 2002-11-15 16:45:08 +04:00
monty@hundin.mysql.fi
fbf6ab4465 merge with 4.0.5 2002-10-16 19:30:24 +03:00
monty@hundin.mysql.fi
67d3cd643b Merge with 3.23.54 2002-10-16 13:11:25 +03:00
monty@hundin.mysql.fi
a975cecf42 Merge 2002-10-14 17:50:44 +03:00
serg@serg.mysql.com
91c8660c5a Merge work:/home/bk/mysql-4.1
into serg.mysql.com:/usr/home/serg/Abk/mysql-4.1
2002-10-14 14:50:43 +00:00
ram@mysql.r18.ru
f1746fc26a DEBUG_PRINT() has been fixed 2002-10-14 19:50:42 +05:00
serg@serg.mysql.com
fcb8bc061d merged 2002-10-14 11:36:48 +00:00
monty@narttu.mysql.fi
3c7f6a9835 merge 2002-10-14 12:07:16 +03:00
monty@hundin.mysql.fi
00e86fb5cc Allocate HEAP blocks in smaller blocks to get better memory utilization and more speed when used with safemalloc.
Don't initalize memory areas when run with --skip-safemalloc.
2002-10-13 23:42:37 +03:00
bar@bar.mysql.r18.ru
69dc5ef8f6 Don't use sort_order directly 2002-10-10 17:14:56 +05:00
bar@bar.mysql.r18.ru
a0dd5febfc Move hash_sort and hash_caseup into CHARSET_INFO for all charsets 2002-10-10 16:52:22 +05:00
bar@bar.mysql.r18.ru
50c391538a my_sortcmp -> my_strnncoll 2002-10-09 16:33:35 +05:00
monty@narttu.mysql.fi
da2abaf887 Portability fixes to be able to compile MySQL with VC++ 2002-10-08 22:28:24 +03:00
ram@mysql.r18.ru
2e1a0c031a auto_increment for heap tables
test case
2002-10-07 17:49:03 +05:00
ram@mysql.r18.ru
032a4a927a Additional key segment (HA_KEYTYPE_END) creation has been moved from handler to hp_create.c 2002-10-03 14:55:02 +05:00
lenz@mysql.com
3cf7acb756 - Applied required modifications for automake 1.5
- some additional small fixes
 - added "depcomp" for automake 1.5
2002-10-01 21:57:10 +02:00
bar@bar.mysql.r18.ru
34d4c4f462 Some speed improvements 2002-08-15 16:42:54 +05:00
ram@ram.(none)
17204b1c88 Stupid bug has been fixed 2002-07-12 13:12:32 +05:00
ram@gw.udmsearch.izhnet.ru
4efaf85ad3 Merge rkalimullin@work.mysql.com:/home/bk/mysql-4.1
into gw.udmsearch.izhnet.ru:/usr/home/ram/mysql-4.1.ai
2002-06-07 22:18:42 +05:00
ram@gw.udmsearch.izhnet.ru
e33a1c5440 check_one_rb_key() func 2002-06-07 22:13:59 +05:00
ram@gw.udmsearch.izhnet.ru
07cf3d7649 tests fixes 2002-06-07 17:09:14 +05:00
ram@gw.udmsearch.izhnet.ru
5953779053 heap_create() <-> heap_open() 2002-06-07 16:47:36 +05:00
monty@hundin.mysql.fi
ab1a273198 Merge work:/my/mysql-4.1 into hundin.mysql.fi:/my/mysql-4.1 2002-06-04 11:39:33 +03:00
monty@hundin.mysql.fi
ee6bd84880 Changes for new binary .frm format
Fixes after last merge from 4.0.
(Code not yet complete, need anoter merge from 4.0)
2002-06-04 08:23:57 +03:00
ram@gw.udmsearch.izhnet.ru
479b3b3f03 Removed unnecessary key search in the hp_rb_write_key() function 2002-05-28 20:46:35 +05:00
ram@gw.udmsearch.izhnet.ru
4375d827db Heap table code cleanup 2002-05-23 19:26:16 +05:00
ram@gw.udmsearch.izhnet.ru
3b43cb2960 BTREE heap key structure is now the same as MyISAM
_mi_compare_text -> mi_compate_text
Changes according Monty's suggestions
2002-05-21 21:54:08 +05:00
bell@sanja.is.com.ua
f3dc0a80e1 HEAP tables bug (by Ramil request) 2002-05-13 22:39:36 +03:00
bar@gw.udmsearch.izhnet.ru
839a135ef6 Use keyseg charset instead of default_charset_info 2002-05-06 18:52:06 +05:00
ram@gw.udmsearch.izhnet.ru
06ed215c37 Index number argument
Fix in test results
2002-04-29 13:53:29 +05:00
ram@gw.udmsearch.izhnet.ru
b8a12a8cec MI_KEYSEG -> HA_KEYSEG
_mi_key_cmp -> ha_key_cmp
2002-04-25 15:10:29 +05:00
bar@gw.udmsearch.izhnet.ru
eab2893dac RB-Tree indexes support in HEAP tables
Renamed _hp_func  ->  hp_func
mi_key_cmp moved to /mysys/my_handler.c
New tests for HEAP tables
2002-04-25 13:36:55 +05:00
bar@gw.udmsearch.izhnet.ru
64943e08a1 Fix for problem that GROUP BY and DISTINCT didn't work for UTF8 2002-04-17 17:27:13 +05:00
bar@gw.udmsearch.izhnet.ru
b37ce8e769 New ctype functions/macros to support many charsets at a time 2002-03-12 21:37:58 +04:00
monty@hundin.mysql.fi
8eadb024dc Fixed mysqldumpslow for new dump format.
Fix for HEAP tables with many rows deleted.
Add '' arround database names in SHOW GRANT
2002-03-12 11:52:41 +02:00
Sinisa@sinisa.nasamreza.org
c276cc060a Same patches as for 4.0. See there for details 2002-03-07 14:19:18 +02:00
Sinisa@sinisa.nasamreza.org
e95eb59e99 better fix for a bug fix from yesterday 2002-03-07 13:57:52 +02:00
Sinisa@sinisa.nasamreza.org
4d8d7f2061 small bug fix, read more about it in 4.0 2002-03-06 14:56:54 +02:00
Sinisa@sinisa.nasamreza.org
5d83add471 iA fix for small bug that returns wrong index instead of enf of file 2002-03-06 14:39:16 +02:00
monty@hundin.mysql.fi
4d10a0cb7e Add support for NULL=NULL in keys (Used in GROUP BY optimization)
Add ISAM to Windows version
Fix of test results
Fixes for NULL keys in HEAP tables.
2002-01-16 00:42:52 +02:00
monty@tik.mysql.fi
7dd4eb71fe Added support of null keys in HEAP tables
Added ORDER BY optimization
2002-01-12 15:42:54 +02:00
monty@hundin.mysql.fi
b658662ae4 Update copyright
Fixed memory leak on shutdown (Affects the embedded version & MyODBC)
2001-12-06 14:10:51 +02:00
monty@hundin.mysql.fi
5a14bb2a7e Integrated table->ref_primary_key into table->part_of_key
Fixed bug in UNION
2001-09-21 03:38:35 +03:00
monty@hundin.mysql.fi
7cadc6e711 Changed to use my_global.h
Fixed problem with LIKE with latin1_de
Added parsing support of UNSIGNED LONG LONG
2001-09-14 02:54:33 +03:00
monty@work.mysql.com
18474d8419 Merge with 3.23.42 2001-09-13 09:52:35 +02:00
monty@hundin.mysql.fi
7a19987805 OS2 patch 2001-09-12 23:53:31 +03:00
monty@work.mysql.com
447c18954e merge with 3.23.42 2001-09-02 18:38:33 +02:00
monty@hundin.mysql.fi
e127a952a6 Portability fixes 2001-08-23 00:55:48 +03:00
monty@hundin.mysql.fi
a1be2a894f Fix of UNION code
Added heap_delete_table
Added HA_EXTRA_PREPARE_FOR_DELETE
Added and use my_dup() for faster open of tables.
Removed not working no-mix-table-type
2001-08-19 14:43:51 +03:00
sasha@mysql.sashanet.com
f754012ad0 got --with-other-libc to work, finally 2001-04-02 19:01:15 -06:00