Commit graph

90 commits

Author SHA1 Message Date
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