Commit graph

35 commits

Author SHA1 Message Date
sergefp@pylon.mylan
003bb7b994 Merge spetrunia@bk-internal.mysql.com:/home/bk/mysql-5.1-opt
into  mysql.com:/home/psergey/mysql-5.1-bug27927
2007-09-14 14:25:45 +04:00
sergefp@mysql.com
41404ec52e BUG#27927:Partition pruning not optimal with TO_DAYS and YEAR functions
- Introduced val_int_endpoint() function which converts between func 
  argument intervals and func value intervals for monotonic functions.
- Made partition interval analyzer use part_expr->val_int_endpoint()
  to check if the edge values should be included.
2007-09-14 14:18:42 +04:00
holyfoot/hf@mysql.com/hfmain.(none)
474bcd3b00 merging 2007-09-11 20:47:17 +05:00
holyfoot/hf@mysql.com/hfmain.(none)
afe7de8234 Bug #28430 Failure in replication of innodb partitioned tables on row/mixed format.
In the ha_partition::position() we didn't calculate the number
of the partition of the record. We used m_last_part value instead,
relying on that it is set in other place like previous call of a method
like ::write_row(). In replication we don't call any of these befor
position(). Delete_rows_log_event::do_exec_row calls find_and_fetch_row.
In case of InnoDB-based PARTITION table, we have HA_PRIMARY_KEY_REQUIRED_FOR_POSITION
enabled, so use position() / rnd_pos() calls to fetch the record.

Fixed by adding partition_id calculation to the ha_partition::position()
2007-08-23 23:34:48 +05:00
mikael@dator6.(none)
4ab5e26d93 Disabled ascii-function 2007-06-13 17:28:59 +02:00
mikael@dator3.(none)
48e1b76a87 merge error 2007-04-06 14:10:37 +02:00
mikron@mikael-ronstr-ms-dator.local
8161ab0b53 Reapplied patch for bug18198 2007-04-04 16:26:32 +02:00
mikael/pappa@dator5.(none)
fbd15d253d Merge dator5.(none):/home/pappa/clean-mysql-5.1
into  dator5.(none):/home/pappa/bug18198
2006-08-02 07:01:38 -04:00
evgen@sunlight.local
dda7a95c59 Merge epotemkin@bk-internal.mysql.com:/home/bk/mysql-5.1-opt
into  sunlight.local:/local_work/tmp_merge-5.1-opt-mysql
2006-08-01 09:24:19 +04:00
mikael/pappa@dator5.(none)
23cb067aa2 BUG#18198: More fixes 2006-07-31 11:38:09 -04:00
sergefp@newbox.mylan
ee3c1deed4 Merge spetrunia@bk-internal.mysql.com:/home/bk/mysql-5.1-opt
into  mysql.com:/home/psergey/mysql-5.1-bug14940-r4
2006-07-30 00:02:42 +04:00
evgen@sunlight.local
8cd88a9179 Merge epotemkin@bk-internal.mysql.com:/home/bk/mysql-5.1
into  sunlight.local:/local_work/tmp_merge-5.1-opt-mysql
2006-07-29 23:54:55 +04:00
sergefp@mysql.com
699291a8e6 BUG#14940 "MySQL choose wrong index", v.2
- Make the range-et-al optimizer produce E(#table records after table 
                                           condition is applied),
- Make the join optimizer use this value,
- Add "filtered" column to EXPLAIN EXTENDED to show 
  fraction of records left after table condition is applied
- Adjust test results, add comments
2006-07-28 21:27:01 +04:00
sergefp@mysql.com
e7db9d4545 BUG#20257: Fix partition pruning for BIGINT UNSIGNED:
- Fix problems in the "Interval walking" partition interval analyzer.
2006-07-24 21:58:11 +04:00
mikael/pappa@dator5.(none)
cef004845c BUG20733: Bug in partition pruning with zerofill field
Problem was with handling NULL values in ranges
2006-07-20 05:28:16 -04:00
sergefp@mysql.com
342283d00a BUG#20484: "Partitions: crash with EXPLAIN and UNION"
- Don't forget to produce "partitions" column for "UNION RESULT" row of EXPLAIN output
2006-06-30 09:34:06 +04:00
bar@mysql.com
bfae7303d7 Bug#20086: Can't get data from key partitioned tables with VARCHAR key
The problem appeared because the same values produced different hash
during INSERT and SELECT for VARCHAR data type.
Fix:
VARCHAR required special treatment to avoid hashing of length bytes
(leftmost one or two bytes) as well as trailing bytes beyond real length,
which could contain garbage. Fix is done by introducing hash() - new method
in the Field class.
2006-06-21 13:00:19 +05:00
sergefp@mysql.com
6c07c9132b BUG#19684: Garbage in 'partitions' column in EXPLAIN output:
In select_describe(), make the String object that holds the value of 
"partitions" column to "own" the value buffer, so the buffer isn't
prematurely freed.
[this is the second attempt with review fixes]
2006-06-05 15:15:28 +04:00
sergefp@mysql.com
9e425092d6 BUG#19055: There may exist a SEL_TREE objects with type==KEY and keys[i]==NULL for any i.
(for example, such objects can be returned from get_mm_parts() for "string_field = int_val).
Make find_used_partitions_imerge() to handle such SEL_TREE objects.
2006-06-04 17:17:37 +04:00
mikael@c-870ae253.1238-1-64736c10.cust.bredbandsbolaget.se
a3f152cc6e Merge c-870ae253.1238-1-64736c10.cust.bredbandsbolaget.se:/home/pappa/clean-mysql-5.1-new
into  c-870ae253.1238-1-64736c10.cust.bredbandsbolaget.se:/home/pappa/bug18962
2006-04-20 14:16:27 -04:00
mikael@c-4908e253.1238-1-64736c10.cust.bredbandsbolaget.se
fa5e50943d BUG#18962: DROP PARTITION fails when partitions dropped for subpartitions with default naming procedure
Fixed naming procedures for default partitioning and default subpartitioning
2006-04-11 23:35:48 -04:00
mikael@c-4908e253.1238-1-64736c10.cust.bredbandsbolaget.se
61318c3b32 BUG*#17946: New test case for already fixed bug (Problem with LIKE searches for partitioned tables)
Added new test case for bug 17946
2006-04-10 13:07:50 -04:00
sergefp@mysql.com
68bd945ca3 BUG#18558 "Partition pruning results are incorrect for certain class of WHERE clauses" :
* Produce right results for conditions that were transformed to "(partitioning_range) AND
  (list_of_subpartitioning_ranges)": make each partition id set iterator auto-reset itself
  after it has returned all partition ids in the sequence 
* Fix "Range mapping" and "Range mapping" partitioning interval analysis functions to 
  correctly deal with NULL values.
2006-04-06 21:23:33 +04:00
sergefp@mysql.com
2130fd06bd BUG#18659: In get_part_iter_for_interval_via_walking(), when we need to
obtain partition number, call partition_info->get_part_partition_id() when
the table has subpartitions, and get_partition_id() otherwise. (The bug
was that we were always doing the latter)
2006-04-04 00:52:14 +04:00
sergefp@mysql.com
3886483b54 Fix for BUG#18025: Wrong query results because of bugs in partition pruning:
- Fix typo bug in SEL_ARG::is_singlepoint()
 - In set_up_range_analysis_info(), treat MEDIUMINT as enumerable type just like other integer types
2006-03-31 15:17:15 +04:00
brian@zim.(none)
066c7148fb Someone modified the output to explain but did not run all tests before pushing, otherwise they would have realized that they broke this test. 2006-02-24 15:51:01 -08:00
sergefp@mysql.com
a906e3c62d WL#2985 "Partition pruning", "do pruning for UPDATE/DELETE": Post-merge fixes 2006-02-06 18:33:39 +03:00
sergefp@mysql.com
60f2321b51 Merge 2006-02-05 23:49:32 +03:00
patg@govinda.patg.net
437368e417 WL# 2986
Final patch
-----------

This WL is about using this bitmap in all parts of the partition handler.
Thus for:
rnd_init/rnd_next
index_init/index_next and all other variants of index scans
read_range_... the various range scans implemented in the partition handler.

Also use those bitmaps in the various other calls that currently loop over all
partitions.
2006-01-28 16:22:32 -08:00
sergefp@mysql.com
c53b5a0b9f WL#2985 "Partition pruning": addition2: perform partition pruning for
single-table UPDATE/DELETE.
2006-01-26 20:17:17 +03:00
sergefp@mysql.com
93669bfe0b WL#2985 "Partition Pruning":
- post-...-post review fixes
- Added "integer range walking" that allows to do partition pruning for "a <=? t.field <=? b"
  by finding used partitions for a, a+1, a+2, ..., b-1, b.
2006-01-04 11:09:01 +03:00
sergefp@mysql.com
f2d603c245 WL#2985 "Partition Pruning": post-review fixes: Better comments 2005-12-29 09:32:46 +03:00
sergefp@mysql.com
b8d762031f add missing DROP TABLE [IF EXISTS] clauses 2005-12-26 10:16:36 +03:00
sergefp@mysql.com
2a3943dbec WL#2985 "Partition Pruning": post-review fixes:
- Added more comments.
- Added a RANGE_OPT_PARAM::remove_jump_scans flag that disables construction of index_merge
  SEL_TREEs that represent unusable conditions like "key1part1<c1 OR key2part2<c2"
- make prune_partitions() function handle the case where range analysis produces a list of 
  index_merge trees (it turned out that this is possible, appropriate test case added).
- Other small fixes.
2005-12-26 08:40:09 +03:00
sergefp@mysql.com
e1f49888bf WL#2985 "Partition Pruning" 2005-12-22 12:29:00 +03:00