Commit graph

307 commits

Author SHA1 Message Date
mronstrom@mysql.com
c18a302577 Merge mronstrom@bk-internal.mysql.com:/home/bk/mysql-5.1
into mysql.com:/Users/mikron/wl1682
2005-05-07 11:23:09 +02:00
mronstrom@mysql.com
b4ab00df62 WL 1682: Bitvector for updated/read fields in handler interface
Fixed clear issues of bitvector and memory allocation issues
2005-05-07 10:00:25 +02:00
mronstrom@mysql.com
f7cd6b8aa1 WL 1682: After review fixes + update bitvector class + bitvector test
cases + bug fixes
2005-05-02 15:45:33 +02:00
sergefp@mysql.com
a7a1d4dc1e Fix for BUG#10244:
Make get_quick_select_for_ref() accept estimated # records as parameter and 
set QUICK_RANGE_SELECT::records, as this value is used to allocate buffers 
in Multi-Range Read.
2005-04-29 01:16:32 +04:00
mronstrom@mysql.com
21347433cf WL 1682: Use bitvector instead of query_id to tell handler which fields
to read and write
Changed Server code, added new interface to handler and changed the
NDB handler, InnoDB handler and Federated handler that previously used
query_id
Bug#10202 fix (one-liner fix for memory leak)
2005-04-28 14:45:27 +02:00
sergefp@mysql.com
a27e830385 BUG#10037: A proper fix: Add 0.01 to cost of 'range' scans, don't add 0.01 to cost of the 'index' scan. 2005-04-26 01:56:10 +04:00
sergefp@mysql.com
c2959178ca Fix for BUG#10037
* Add 0.01 to cost of 'range'+'using index' scan to avoid optimizer choice races with 
  'index' scan.
2005-04-21 01:55:33 +04:00
sergefp@mysql.com
4156f9fa44 BUG#9103 merge to 5.0 2005-04-20 12:09:56 +04:00
sergefp@mysql.com
a76ecc5bc7 Fix for BUG#9103:
Don't produce data truncation warnings from within cp_buffer_from_ref(). This function
is only used to make index search tuples and data truncation that occurs here has no
relation with truncated values being saved into tables.
2005-04-18 05:21:44 +04:00
sergefp@mysql.com
ba3795f1d4 Post-merge fixes 2005-04-17 02:10:43 +04:00
sergefp@mysql.com
2ef1963c91 Fix for BUG#9348: when computing union of two intervals set lower bound to
minimum of lower bounds of two joined intervals.
2005-04-17 02:05:09 +04:00
serg@serg.mylan
810b2c3d40 remove the rest of isam/merge references
fix a race condition in TC_LOG_BINLOG::unlog
2005-04-05 13:17:49 +02:00
serg@serg.mylan
08b8666351 removed unnecessary (and incorrect) space trimming/padding in generating ranges
(where e.g. col='aaa  ' was converted to col>='aaa' AND col<='aaa       ')
it was incorrect because ucs2 space is not ' ' (0x20)
it was unnecessary because storage engine pads values with spaces for comparison anyway
2005-03-23 19:31:29 +01:00
jimw@mysql.com
ee2b4ec959 Eliminate warnings noticed by VC7. This includes fixing my_mmap() on
Windows to call CreateFileMapping() with correct arguments, and
propogating the introduction of query_id_t to everywhere query ids are
passed around. (Bug #8826)
2005-03-18 16:12:25 -08:00
monty@mysql.com
594ef41b2d Cleanup during reviews
Removed some optional arguments
Fixed portability problem in federated tests
2005-03-16 16:11:01 +02:00
timour@mysql.com
03e7620d3f Fix for BUG#8532.
The problem was in that the code that analyses the applicability of the
QUICK_GROUP_MIN_MAX access method for DISTINC queries assumed that there
are no duplicate column references in the DISTINCT clause, and it added
non-exiting key parts for the duplicate column references. 

The solution adds a test to check whether the select list already contained
a field with the same name. If such field was already present, then it was
already decided to use its key part for index access. In this such case we
must skip the duplicate field instead of counting it as a new field.
2005-02-28 16:20:02 +02:00
monty@mysql.com
7e5f74f8f2 Merge with global tree 2005-02-25 17:12:06 +02:00
monty@mysql.com
0a6b7aedb2 Remove compiler warnings and remove not used variables
(Found during build process)
2005-02-25 16:53:22 +02:00
timour@mysql.com
5d534812d5 Fix for BUG#8576
This fix addresses a bug of the HPUX C++ compiler, in the way it uses registers.
As result, the last comparison of the variable 'result' failed, and next_prefix()
looped forever.
2005-02-23 20:49:47 +02:00
timour@mysql.com
297e0f8e76 Merge mysql.com:/home/timka/mysql/src/5.0-virgin
into mysql.com:/home/timka/mysql/src/5.0-bug-8576
2005-02-23 14:47:48 +02:00
timour@mysql.com
a6bf8c6686 Fix for BUG#8576
The problem was in different representations of double variables depending on
platform/compiler/compile options. In some cases double variables are represented by
64 bits (while in memory), or by 80 bits (while in FPU register). As a result equal
values are not considered "==". As many sources point out,  doubles should not be
compared by '==' for this reason. This fix subtracts the scaled minimal double
value X such that 1 + X != 1, to ensure that the inequality holds in any case.
2005-02-23 13:39:29 +02:00
sergefp@mysql.com
359e554137 Coding style fixes according to Sergei's feedback 2005-02-22 21:59:02 +03:00
sergefp@mysql.com
c94258043e Post review coding style fixes. 2005-02-22 18:34:14 +03:00
sergefp@mysql.com
b2ac502699 Fix for BUG#8578 "Test case 'index_merge_ror' fails on SGI irix"
Take into account that bitmap_is_set() may return any non-zero zero value when the bit is set.
2005-02-22 18:00:01 +03:00
sergefp@mysql.com
bc1fdfa402 Outer joins cleanup: Remove TABLE::outer_join and use TABLE::maybe_null only (2nd patch after Monty's comments). 2005-02-05 18:16:29 +03:00
georg@beethoven.site
3b2bf2f512 Fixes for windows compilation bugs
(After review of cs georg:1.1800 by Monty)
2005-01-26 15:19:20 +01:00
sergefp@mysql.com
3822eeb972 Fix for BUG#8003 attempt 2:
Call file->external_lock() for handler objects that index_merge code creates in addition to 
  the handler object opened in open_and_lock_tables.
2005-01-25 07:37:06 +03:00
sergefp@mysql.com
9dda3a70d3 Merge 2005-01-20 07:51:00 +03:00
sergefp@mysql.com
1eab462cca Post-review fixes for the previous cset. No code behavior changes. 2005-01-18 16:16:55 +03:00
sergefp@mysql.com
6303ca7efa Fixes in opt_range.cc: ROR plan choice code
* Removed unused parameters 
 * Fixed several cost calculation errors in ror_intersect_add
 * Better code structure for ror_intersect_add and get_best_ror_intersect
2005-01-17 00:18:19 +03:00
sergefp@mysql.com
106509992e Merge spetrunia@bk-internal.mysql.com:/home/bk/mysql-5.0
into mysql.com:/dbdata/psergey/mysql-5.0-bug5401-2
2005-01-12 23:22:12 +03:00
monty@mysql.com
11c63eae01 Merge bk-internal.mysql.com:/home/bk/mysql-5.0
into mysql.com:/home/my/mysql-5.0
2005-01-12 11:45:04 +02:00
sergefp@mysql.com
fda91bee40 Merge spetrunia@bk-internal.mysql.com:/home/bk/mysql-5.0
into mysql.com:/dbdata/psergey/mysql-5.0-bug5401-2
2005-01-12 09:05:11 +03:00
sergefp@mysql.com
ea8d861d23 Fix for use of unitialized variable errors: Manually delete
{min,max}_functions_it as it is not allocated on the pool.
2005-01-12 08:15:46 +03:00
monty@mysql.com
314cf993c6 Fixed memory reference errors found by valgrind 2005-01-12 03:38:53 +02:00
joreland@mysql.com
f3baf38dbc merge 2005-01-07 06:47:41 +01:00
monty@mysql.com
d35140a851 First stage of table definition cache
Split TABLE to TABLE and TABLE_SHARE (TABLE_SHARE is still allocated as part of table, will be fixed soon)
Created Field::make_field() and made Field_num::make_field() to call this
Added 'TABLE_SHARE->db' that points to database name; Changed all usage of table_cache_key as database name to use this instead
Changed field->table_name to point to pointer to alias. This allows us to change alias for a table by just updating one pointer.
Renamed TABLE_SHARE->real_name to table_name
Renamed TABLE->table_name to alias
Renamed TABLE_LIST->real_name to table_name
2005-01-06 13:00:13 +02:00
sergefp@mysql.com
fb0845f848 Post WL#2126 fixes:
* remove get_next_init and move its functionality to QUICK_RANGE_SELECT::reset()
 * added more comments
 * added empty FT_SELECT::reset()
2004-12-29 16:07:27 +03:00
joreland@mysql.com
4ed658dee3 wl2126 - fix ndb part of "latest" ingo patch
(hopefully last :-))
2004-12-28 17:01:07 +01:00
ingo@mysql.com
60e35755ef WL#2126 - Multi_read_range.
Added the required structures and functions for
handing over multiple key ranges to the table handler.
2004-12-23 21:45:10 +01:00
sergefp@mysql.com
5cf716aa4e Make index_merge code call handler::extra(HA_EXTRA_RETRIEVE_PRIMARY_KEY) if it
will call handler::position() during key scan. 
Undo the previous, less efficient fix (cset 2004-11-30 19:56:25+02:00, heikki@hundin.mysql.fi)
2004-12-23 15:23:39 +03:00
sergefp@mysql.com
88b63ab669 Merge spetrunia@bk-internal.mysql.com:/home/bk/mysql-5.0
into mysql.com:/dbdata/psergey/mysql-5.0-nov-clean
2004-12-21 02:28:12 +03:00
monty@mysql.com
6477b4dfd2 Merge with global tree
Fixed some found bugs in BIT fields
Added more test cases for BIT fields and varchar
2004-12-19 20:25:19 +02: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
sergefp@mysql.com
10fda3160c Fix for division by zero problem:
* Don't try building ROR-intersect if the queried table has zero rows
 * Don't ever produce an estimate of zero returned rows.
2004-11-28 21:02:30 +03:00
serg@serg.mylan
f09429a4df protection: TRASH in delete
fixed a bug that it discovered
2004-11-28 15:53:17 +01:00
serg@serg.mylan
a8b3a0bbe8 don't crash when trp=0 2004-11-23 16:28:51 +01:00
sergefp@mysql.com
f8b45c6dfc Merge spetrunia@bk-internal.mysql.com:/home/bk/mysql-5.0
into mysql.com:/dbdata/psergey/mysql-5.0-nov-clean
2004-11-21 11:58:19 +03:00