Commit graph

148 commits

Author SHA1 Message Date
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
monty@donna.mysql.fi
add70fc1ba Changed pthread_mutex_init() to use new MY_MUTEX_INIT.. macro
(For glibc 2.2)
2001-03-26 01:05:04 +03:00
monty@donna.mysql.com
c1b5a5b00f Removed not used variable 'last_ref'
Fixed problem with negative DECIMAL() keys
Fixed some bugs with NULL keys in BDB
More mysql-test tests
2001-01-16 06:02:05 +02:00
monty@donna.mysql.com
07b1f0dccd Fixed --no-defaults in mysqltest 2000-12-29 16:06:10 +02:00
monty@donna.mysql.com
60677ffd2c Cleanup of tests
Fixed bug with ALTER TABLE on HEAP tables
2000-12-28 19:25:41 +02:00
monty@donna.mysql.com
b590fa2567 New benchmark test
Fixed bug in REPLACE with BDB tables
Prepare for write lock on read for BDB
Inform the handler when we want to use IGNORE / REPLACE
New manual pages
2000-12-24 15:19:00 +02:00
monty@tik.mysql.com
9323e733ff Changed meaning of HA_EXTRA_RESET and start of hidden primary keys for BDB tables 2000-10-15 18:45:53 +03:00
monty@donna.mysql.com
02fd65b970 Fixed indention, removed compiler varnings and fixed a bug
in FULLTEXT indexes.
2000-09-29 00:58:16 +03:00
monty@donna.mysql.com
a753a3a2ce Updated benchmark and results for PostgreSQL 7.0.2
Added more status to the MyISAM files to avoid checking files that
has already been checked.
2000-08-18 12:48:00 +03:00
monty@donna.mysql.com
ea013c2152 Fixed for Ia64 + delayed key creation + a lot of small bug fixes 2000-08-15 20:09:37 +03:00
bk@work.mysql.com
f4c589ff6c Import changeset 2000-07-31 21:29:14 +02:00