Commit graph

24 commits

Author SHA1 Message Date
unknown
288da1d759 Final step of Take 7 on review fixes of this
fairly complex bug


mysql-test/r/partition.result:
  Merge fix
sql/partition_info.cc:
  Moved method from sql_partition.cc to the partition_info class
sql/partition_info.h:
  Introduced a number of charset related arrays
  Removed some bools that could be checked by checking arrays instead
sql/sql_partition.cc:
  Introduced a number of charset related arrays
  Removed some bools that could be checked by checking arrays instead
  Made method of common complex if-statement
  Made that method and check of partition function fields public methods
  to enable use from partition_info class.
  Moved method to partition_info class
  Optimised copy_to_part_field_buffers method to avoid as much as possible
  calculations in those. Also avoided double calls when both subpartitioning
  and partitioning
  Handled review comments
sql/sql_partition.h:
  New methods public for use in partition_info class
sql/sql_yacc.yy:
  Missed this in previous merge and review fixes
2006-09-26 16:30:39 -04:00
unknown
bcd98d512d BUG#18198: Fixes to handle VARCHAR strings properly
New methods to handle VARCHAR strings and CHAR's which are not
using a binary collation.
Indentation fixes
Now strings are run through strnxfrm before they are processed
by the partition function
We do not allow collations where strnxfrm expands the string since
we want the resulting string to fit in the same value range as
the original.


mysql-test/r/partition_range.result:
  New test cases
mysql-test/t/partition_range.test:
  New test cases
sql/partition_info.h:
  New methods to handle VARCHAR strings and CHAR's which are not
  using a binary collation.
sql/sql_partition.cc:
  New methods to handle VARCHAR strings and CHAR's which are not
  using a binary collation.
  Indentation fixes
  Now strings are run through strnxfrm before they are processed
  by the partition function
  We do not allow collations where strnxfrm expands the string since
  we want the resulting string to fit in the same value range as
  the original.
2006-08-02 06:40:25 -04:00
unknown
670b65739b BUG#18198: Partition function handling
Review fixes


sql/item.h:
  Review fixes
sql/item_cmpfunc.h:
  Review fixes
sql/item_func.h:
  Review fixes
sql/item_strfunc.h:
  Review fixes
sql/item_timefunc.h:
  Review fixes
sql/item_xmlfunc.h:
  Review fixes
sql/partition_info.cc:
  Review fixes
sql/partition_info.h:
  Review fixes
sql/sql_partition.cc:
  Review fixes
sql/sql_yacc.yy:
  Review fixes
2006-07-21 10:23:32 -04:00
unknown
840840bda0 Merge mronstrom@bk-internal.mysql.com:/home/bk/bugs/bug18198
into  dator5.(none):/home/pappa/bug18198


mysql-test/r/partition.result:
  Auto merged
mysql-test/t/partition.test:
  Auto merged
sql/item_cmpfunc.h:
  Auto merged
sql/item_strfunc.h:
  Auto merged
sql/sql_partition.cc:
  Auto merged
sql/sql_yacc.yy:
  Auto merged
sql/partition_info.cc:
  manual merge
sql/partition_info.h:
  manual merge
sql/sql_table.cc:
  manual merge
2006-07-12 11:33:22 -04:00
unknown
62722a4dd4 partition functions to pass create_info, not only max_rows 2006-06-27 22:19:27 +02:00
unknown
604227e855 BUG#18198: Less flexibility in defining partition functions
Changed test for functions if they are supported.
3 categories:
1) Fully supported
2) Supported for single character collations
3) Supported for binary collations


mysql-test/r/partition.result:
  Changed test case since no longer supported to use multicharacter collations
  in comparisons
mysql-test/t/partition.test:
  Changed test case since no longer supported to use multicharacter collations
  in comparisons
sql/item.h:
  Changed test for functions if they are supported.
  3 categories:
  1) Fully supported
  2) Supported for single character collations
  3) Supported for binary collations
sql/item_cmpfunc.h:
  Changed test for functions if they are supported.
  3 categories:
  1) Fully supported
  2) Supported for single character collations
  3) Supported for binary collations
sql/item_func.h:
  Changed test for functions if they are supported.
  3 categories:
  1) Fully supported
  2) Supported for single character collations
  3) Supported for binary collations
sql/item_strfunc.h:
  Changed test for functions if they are supported.
  3 categories:
  1) Fully supported
  2) Supported for single character collations
  3) Supported for binary collations
sql/item_timefunc.h:
  Changed test for functions if they are supported.
  3 categories:
  1) Fully supported
  2) Supported for single character collations
  3) Supported for binary collations
sql/item_xmlfunc.h:
  Changed test for functions if they are supported.
  3 categories:
  1) Fully supported
  2) Supported for single character collations
  3) Supported for binary collations
sql/partition_info.cc:
  Changed test for functions if they are supported.
  3 categories:
  1) Fully supported
  2) Supported for single character collations
  3) Supported for binary collations
sql/partition_info.h:
  Changed test for functions if they are supported.
  3 categories:
  1) Fully supported
  2) Supported for single character collations
  3) Supported for binary collations
sql/sql_partition.cc:
  Changed test for functions if they are supported.
  3 categories:
  1) Fully supported
  2) Supported for single character collations
  3) Supported for binary collations
sql/sql_table.cc:
  Changed test for functions if they are supported.
  3 categories:
  1) Fully supported
  2) Supported for single character collations
  3) Supported for binary collations
2006-06-23 01:21:26 -04:00
unknown
4414b56d85 merge update
mysql-test/t/partition.test:
  merge error
2006-06-14 19:40:06 -04:00
unknown
e6170de4c0 Merge c-0409e253.1238-1-64736c10.cust.bredbandsbolaget.se:/home/pappa/clean-mysql-5.1
into  c-0409e253.1238-1-64736c10.cust.bredbandsbolaget.se:/home/pappa/bug16002


sql/ha_ndbcluster.cc:
  Auto merged
sql/sql_partition.h:
  Auto merged
sql/sql_show.cc:
  Auto merged
sql/sql_yacc.yy:
  Auto merged
mysql-test/r/partition.result:
  manual merge
mysql-test/r/partition_error.result:
  manual merge
mysql-test/r/partition_range.result:
  manual merge
mysql-test/t/partition.test:
  manual merge
mysql-test/t/partition_error.test:
  manual merge
mysql-test/t/partition_range.test:
  manual merge
sql/ha_partition.cc:
  manual merge
sql/partition_element.h:
  manual merge
sql/partition_info.cc:
  manual merge
sql/partition_info.h:
  manual merge
sql/share/errmsg.txt:
  manual merge
sql/sql_partition.cc:
  manual merge
sql/sql_table.cc:
  manual merge
sql/table.cc:
  manual merge
2006-06-14 09:12:07 -04:00
unknown
4e3f4e970f BUG#19010: Fix issues with that ALTER TABLE from auto-partitioned NDB table doesn't work unless primary key exists on table.
mysql-test/r/ndb_bitfield.result:
  Test cases changes now that auto-partitioning is remembered in frm file
mysql-test/r/ndb_dd_basic.result:
  Test cases changes now that auto-partitioning is remembered in frm file
mysql-test/r/ndb_dd_disk2memory.result:
  Test cases changes now that auto-partitioning is remembered in frm file
mysql-test/r/ndb_gis.result:
  Test cases changes now that auto-partitioning is remembered in frm file
mysql-test/r/ndb_partition_key.result:
  New test cases for auto-partitioning change that was made to fix bug
mysql-test/r/rpl_ndb_UUID.result:
  Test cases changes now that auto-partitioning is remembered in frm file
mysql-test/r/rpl_ndb_dd_advance.result:
  Test cases changes now that auto-partitioning is remembered in frm file
mysql-test/t/ndb_partition_key.test:
  New test cases for auto-partitioning change that was made to fix bug
sql/partition_info.h:
  New boolean to keep track of auto partitioned or not
sql/sql_partition.cc:
  Ensure that auto-partitiong flag is reset when partitions are dropped, added, reorganised or coalesced.
  Ensure that auto-partitioned tables are altered into non-partitioned table when ALTER TABLE t1 engine=X
  is performed.
sql/sql_show.cc:
  Only print partition info for non-auto-partitioned tables
sql/sql_table.cc:
  Set auto partition flag when auto partitions are generated in create table
sql/table.cc:
  Fix reading of frm file where new auto-partition flag is introduced.
sql/table.h:
  New flag for auto partition on share object
sql/unireg.cc:
  Fix code for writing frm to also write autopartition flag at end of partition info, fix some length issues
  at the same time that was in this part that caused no problems since partition info always was the last info
  in the file.
2006-05-10 12:53:40 -04:00
unknown
572b3cbb72 Merge mronstrom@bk-internal.mysql.com:/home/bk/mysql-5.1-new
into  c-870ae253.1238-1-64736c10.cust.bredbandsbolaget.se:/home/pappa/wl2826


sql/partition_info.h:
  Auto merged
2006-04-21 09:30:05 -04:00
unknown
2cb17f9691 BUG#18962: Crash of ALTER TABLE .. DROP PARTITION ...
Review fixes


sql/partition_info.cc:
  Review fixes
sql/partition_info.h:
  Review fixes
2006-04-21 08:37:09 -04:00
unknown
73a66e27e6 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/wl2826


configure.in:
  Auto merged
dbug/dbug.c:
  Auto merged
include/my_sys.h:
  Auto merged
sql/ha_heap.cc:
  Auto merged
sql/log.cc:
  Auto merged
sql/mysql_priv.h:
  Auto merged
sql/mysqld.cc:
  Auto merged
sql/partition_info.h:
  Auto merged
sql/sql_base.cc:
  Auto merged
sql/sql_class.cc:
  Auto merged
sql/sql_class.h:
  Auto merged
sql/sql_partition.cc:
  Auto merged
sql/sql_yacc.yy:
  Auto merged
sql/table.cc:
  Auto merged
BUILD/SETUP.sh:
  manual merge
BUILD/compile-pentium-debug-max:
  manual merge
sql/ha_ndbcluster.cc:
  manual merge
sql/ha_ndbcluster.h:
  manual merge
sql/ha_partition.cc:
  manual merge
sql/ha_partition.h:
  manual merge
sql/handler.h:
  manual merge
sql/share/errmsg.txt:
  manual merge
sql/sql_table.cc:
  manual merge
sql/unireg.cc:
  manual merge
2006-04-19 21:22:35 -04:00
unknown
faa5f3e007 BUG#16002: Make partition functions that are unsigned work properly
mysql-test/r/partition.result:
  A number of new test cases for unsigned partition functions
mysql-test/r/partition_error.result:
  A number of new test cases for unsigned partition functions
mysql-test/r/partition_range.result:
  A number of new test cases for unsigned partition functions
mysql-test/t/partition.test:
  A number of new test cases for unsigned partition functions
mysql-test/t/partition_error.test:
  A number of new test cases for unsigned partition functions
mysql-test/t/partition_range.test:
  A number of new test cases for unsigned partition functions
sql/ha_partition.cc:
  Error message for no partition found needs to take signed/unsigned into account when printing erroneus value
sql/partition_element.h:
  Introduced signed_flag and max_value flag on partition elements
  Also list is now a list of a struct rather than simply longlong values
  Small rearranges of order
sql/partition_info.cc:
  Introduced signed_flag and max_value flag on partition elements
  Also list is now a list of a struct rather than simply longlong values
  Small rearranges of order
  Lots of new code to handle checks of proper definition of table when
  partition function is unsigned
sql/partition_info.h:
  Mostly rearrangement of code and some addition of a THD object in check_partition_info call
  plus a new method for comparing unsigned values
sql/share/errmsg.txt:
  Negative values not ok for unsigned partition functions
sql/sql_partition.cc:
  Fixed a multi-thread bug (when defining several partitioned tables in parallel)
  New code to generate partition syntax that takes into account sign of constants.
  Made function fix_fields_part_func more reusable.
  Fixed a number of get_partition_id functions for range and list and similar functions
  for partition pruning code.
  Unfortunately fairly much duplication of code with just small changes.
sql/sql_partition.h:
  New function headers
sql/sql_show.cc:
  Changed list of values for LIST partitioned tables
  Also fixed printing of unsigned values in INFORMATION SCHEMA for partitioned table
sql/sql_table.cc:
  Fixed for new interface
sql/sql_yacc.yy:
  Moved definition of struct to partition_element.h
  Added code to keep track of sign of constants in
  RANGE and LIST partitions
sql/table.cc:
  Fixed for new interface
2006-04-17 22:51:34 -04:00
unknown
3378a31c6b BUG#18962: DROP PARTITION fails when partitions dropped for subpartitions with default naming procedure
Fixed naming procedures for default partitioning and default subpartitioning


mysql-test/r/partition_pruning.result:
  Fixed test cases for new naming of default subpartitions
mysql-test/r/partition_range.result:
  New test case
mysql-test/t/partition_range.test:
  New test case
sql/partition_info.cc:
  Fixed naming procedures for default partitioning and default subpartitioning
sql/partition_info.h:
  Fixed naming procedures for default partitioning and default subpartitioning
2006-04-11 23:35:48 -04:00
unknown
4d1666f6b8 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. 


mysql-test/r/partition_pruning.result:
  Testcase for BUG#18558
mysql-test/t/partition_pruning.test:
  Testcase for BUG#18558
sql/opt_range.cc:
  BUG#18558: Move partition set iterator initialization to sql_partition.cc, comment fixes
sql/partition_info.h:
  BUG#18558: Make each partition set iterator auto-reset itself after it has returned all 
  partition ids in the set it enumerates.
sql/sql_partition.cc:
  BUG#18558: 
  - Make each partition set iterator auto-reset itself after it has returned all 
    partition ids in the set it enumerates. 
  - Fix partition interval analysis to correctly handle intervals with one or both
    NULL bounds.
sql/sql_partition.h:
  BUG#18558: 
   - Make each partition set iterator auto-reset itself after it has returned all 
     partition ids in the set it enumerates. 
   - Rename PARTITION_ITERATOR::has_null_value to ret_null_part
2006-04-06 21:23:33 +04:00
unknown
150d8d3564 Merge c-4908e253.1238-1-64736c10.cust.bredbandsbolaget.se:/home/pappa/clean-mysql-5.1-new
into  c-4908e253.1238-1-64736c10.cust.bredbandsbolaget.se:/home/pappa/wl2826


configure.in:
  Auto merged
BUILD/SETUP.sh:
  Auto merged
include/my_dbug.h:
  Auto merged
sql/ha_heap.cc:
  Auto merged
sql/ha_myisammrg.cc:
  Auto merged
sql/ha_ndbcluster.cc:
  Auto merged
sql/ha_ndbcluster.h:
  Auto merged
sql/ha_partition.h:
  Auto merged
sql/handler.h:
  Auto merged
sql/log.cc:
  Auto merged
sql/mysql_priv.h:
  Auto merged
sql/mysqld.cc:
  Auto merged
sql/partition_info.h:
  Auto merged
sql/set_var.cc:
  Auto merged
sql/sql_base.cc:
  Auto merged
sql/sql_class.cc:
  Auto merged
sql/sql_class.h:
  Auto merged
sql/sql_partition.cc:
  Auto merged
sql/sql_table.cc:
  Auto merged
sql/share/errmsg.txt:
  Auto merged
sql/sql_yacc.yy:
  Auto merged
sql/table.cc:
  Auto merged
mysql-test/r/ndb_partition_key.result:
  manual merge
mysql-test/t/ndb_partition_key.test:
  manual merge
sql/ha_partition.cc:
  manual merge
2006-04-01 16:31:53 -05:00
unknown
04570aa5f4 cleaned up a few method comments
moved several functions from sql_partition to be member functions


sql/partition_info.h:
  move these funcs from sql_partition to this class
sql/sql_partition.cc:
  move these funcs from sql_partition to this class
sql/sql_table.cc:
  calling the member func now instead
2006-03-31 11:39:44 -06:00
unknown
3928d9620f WL 2826: Error handling of ALTER TABLE for partitioning
Loads of review comments fixed
inactivate => deactivate
table log => ddl log
Commented on Error Inject Module added
Put various #defines into enums
Fixed abort_and_upgrade_lock, removed unnecessary parameter
Fixed mysqlish method intro's
Fixed warning statements
5.1.7 was released still with partition states in clear text

Fixed io_size bug
Fixed bug in open that TRUNCATED before reading :)
file_entry => file_entry_buf
Don't open DDL log until first write call to DDL log
handler_type => handler_name
no => num



sql/ha_partition.cc:
  Loads of review comments fixed
  inactivate => deactivate
  table log => ddl log
sql/mysql_priv.h:
  Loads of review comments fixed
  inactivate => deactivate
  table log => ddl log
  Commented on Error Inject Module added
  Put various #defines into enums
  Fixed abort_and_upgrade_lock, removed unnecessary parameter
sql/mysqld.cc:
  Loads of review comments fixed
  inactivate => deactivate
  table log => ddl log
  Commented on Error Inject Module added
  Put various #defines into enums
  Fixed abort_and_upgrade_lock, removed unnecessary parameter
sql/partition_element.h:
  Loads of review comments fixed
  inactivate => deactivate
  table log => ddl log
  Commented on Error Inject Module added
  Put various #defines into enums
  Fixed abort_and_upgrade_lock, removed unnecessary parameter
sql/partition_info.h:
  Loads of review comments fixed
  inactivate => deactivate
  table log => ddl log
  Commented on Error Inject Module added
  Put various #defines into enums
  Fixed abort_and_upgrade_lock, removed unnecessary parameter
sql/share/errmsg.txt:
  Loads of review comments fixed
  inactivate => deactivate
  table log => ddl log
  Commented on Error Inject Module added
  Put various #defines into enums
  Fixed abort_and_upgrade_lock, removed unnecessary parameter
sql/sql_base.cc:
  Loads of review comments fixed
  inactivate => deactivate
  table log => ddl log
  Commented on Error Inject Module added
  Put various #defines into enums
  Fixed abort_and_upgrade_lock, removed unnecessary parameter
sql/sql_partition.cc:
  Loads of review comments fixed
  inactivate => deactivate
  table log => ddl log
  Commented on Error Inject Module added
  Put various #defines into enums
  Fixed abort_and_upgrade_lock, removed unnecessary parameter
  Fixed mysqlish method intro's
  Fixed warning statements
sql/sql_table.cc:
  Loads of review comments fixed
  inactivate => deactivate
  table log => ddl log
  Commented on Error Inject Module added
  Put various #defines into enums
  Fixed abort_and_upgrade_lock, removed unnecessary parameter
  Fixed mysqlish method intro's
  Fixed warning statements
  Fixed io_size bug
  Fixed bug in open that TRUNCATED before reading :)
  file_entry => file_entry_buf
  Don't open DDL log until first write call to DDL log
  handler_type => handler_name
  no => num
sql/table.cc:
  Loads of review comments fixed
  inactivate => deactivate
  table log => ddl log
  Commented on Error Inject Module added
  Put various #defines into enums
  Fixed abort_and_upgrade_lock, removed unnecessary parameter
  Fixed mysqlish method intro's
  Fixed warning statements
  5.1.7 was released still with partition states in clear text
  
  Fixed io_size bug
  Fixed bug in open that TRUNCATED before reading :)
  file_entry => file_entry_buf
  Don't open DDL log until first write call to DDL log
  handler_type => handler_name
  no => num
2006-03-24 18:19:13 -05:00
unknown
1c6f84f828 manual merge 2006-03-22 00:17:22 -05:00
unknown
6a421c56cc bug 17290 and bug 14350
added THD::work_part_info member where we now store modified
partition_info structure.
It allows no solve problem when different parts of the part_info get
into different mem_roots


sql/partition_info.cc:
  get_clone implementation
sql/partition_info.h:
  get_clone() declared
sql/sql_class.h:
  THD::work_part_info added
sql/sql_partition.cc:
  thd->work_part_info instead of lex->part_info
sql/sql_table.cc:
  thd->work_part_info instad of lex->part_info
sql/unireg.cc:
  thd->work_part_info instad of lex->part_info
2006-03-18 18:48:21 +04:00
unknown
807c7a6a49 Fix for bug#15447 Partitions: NULL is treated as zero
NULL value handling


mysql-test/r/ndb_partition_error.result:
  Fix for bug#15447 Partitions: NULL is treated as zero
    test case
mysql-test/r/partition.result:
  Fix for bug#15447 Partitions: NULL is treated as zero
    test case
mysql-test/t/ndb_partition_error.test:
  Fix for bug#15447 Partitions: NULL is treated as zero
    test case
mysql-test/t/partition.test:
  Fix for bug#15447 Partitions: NULL is treated as zero
    test case
sql/partition_element.h:
  Fix for bug#15447 Partitions: NULL is treated as zero
    added null value flag to partition_element object
sql/partition_info.h:
  Fix for bug#15447 Partitions: NULL is treated as zero
    added null value flag to partition_info object
    added has_null partition id variable
2006-03-07 15:25:08 +04:00
unknown
3d203da0e0 fixes to make the code compile with gcc 2.95
BitKeeper/etc/ignore:
  Added include/openssl to the ignore list
2006-02-28 22:07:14 +01:00
unknown
b2cf86f1bd BUG #15408 - Partitions: subpartition names are not unique
libmysqld/Makefile.am:
  changed name to partition_info.cc
mysql-test/r/partition_mgm_err.result:
  added drop table for previous test
mysql-test/t/partition_mgm_err.test:
  added drop table for previous test
sql/Makefile.am:
  reformatted a bit
  changed name of partition_info.cpp to partition_info.cc
sql/partition_element.h:
  updated copyright date
sql/partition_info.cc:
  minor corrections as a result of review
sql/partition_info.h:
  updated copyright date
sql/sql_partition.cc:
  updated file comment and fixed some spacing
sql/sql_partition.h:
  updated copyright date
win/cmakefiles/sql:
  changed name to partition_info.cc
2006-02-21 17:40:07 -06:00
unknown
d047fe77b7 BUG#15408: Partitions: subpartition names are not unique
Also, moved some of the code out of handler.h and into partition specific files for better 
separation.
Also, moved some of the C funcs into partition_info as formal C++ methods


mysql-test/r/partition_mgm_err.result:
  result block for test of bug # 15408
mysql-test/t/partition_mgm_err.test:
  test for duplicate subpartition names
sql/Makefile.am:
  adding sql_partition.h, partition_info.cpp, partition_info.h, and partition_element.h to the makefile
sql/ha_partition.cc:
  using the new members of partition_info
sql/ha_partition.h:
  using the new members of partition_info
sql/handler.h:
  moved this code into sql_partition.h
sql/mysql_priv.h:
  including sql_partition.h also now
sql/opt_range.cc:
  using the new members of partition_info
sql/sql_partition.cc:
  moved some of the functions out and into the partition_info class
  using the new members of partition_info
sql/sql_show.cc:
  using the new members of partition_info
win/cmakefiles/sql:
  added partition_info.cpp to the sql cmake file
sql/partition_element.h:
  New BitKeeper file ``sql/partition_element.h''
sql/partition_info.h:
  New BitKeeper file ``sql/partition_info.h''
sql/sql_partition.h:
  New BitKeeper file ``sql/sql_partition.h''
2006-02-16 10:38:33 -06:00