Commit graph

332 commits

Author SHA1 Message Date
unknown
de717a9962 WL 2826: Error handling of ALTER TABLE for partitioning
Fix compiler issues


sql/ha_heap.cc:
  Fix compiler warnings
sql/ha_myisammrg.cc:
  Fix compiler warnings
sql/log.cc:
  Fix compiler warnings
sql/sql_partition.cc:
  Fix compiler issues
sql/sql_table.cc:
  Fix compiler issues
2006-02-20 15:07:03 -05:00
unknown
fc5f022ee1 BUG# 15408 Partitions: subpartition names are not unique
THis patch goes along with 1.2098.23.1 to form the complete patch


libmysqld/Makefile.am:
  added partition_info.cpp   to libmysqld sources
sql/ha_ndbcluster.cc:
  using the new member versions of these
sql/sql_partition.cc:
  using the member version of is_sub_partitioned
2006-02-16 15:02:44 -06:00
unknown
8270eb50e4 Merge reggie@192.168.0.9:/home/reggie/work/mysql-5.1-bug15408
into  big_geek.:C:/Work/mysql/mysql-5.1-bug15408


sql/ha_partition.cc:
  Auto merged
sql/opt_range.cc:
  Auto merged
sql/sql_partition.cc:
  Auto merged
sql/sql_show.cc:
  Auto merged
sql/handler.h:
  merging changes into my partition code reorg
2006-02-16 11:07:21 -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
unknown
f52e37ada8 WL 2826: Error handling of ALTER TABLE for partitioning
Final part of the error handling of ALTER TABLE for partitioning


sql/sql_partition.cc:
  Final part of the error handling of ALTER TABLE for partitioning
2006-02-15 14:05:15 +01:00
unknown
f8b27ebb54 Merge mskold@bk-internal.mysql.com:/home/bk/mysql-5.1-new
into  mysql.com:/usr/local/home/marty/MySQL/mysql-5.1-work


sql/sql_partition.cc:
  Auto merged
2006-02-15 12:52:30 +01:00
unknown
aa796cab7d Fix for bug#16907 Partitions: crash, SELECT goes into last partition, UNIQUE INDEX
In presense of subpartitioning use get_part_partition_id() to calculate part_id
2006-02-15 14:34:51 +04:00
unknown
0c8d763e81 Merge mskold@bk-internal.mysql.com:/home/bk/mysql-5.1-new
into  mysql.com:/usr/local/home/marty/MySQL/mysql-5.1-work


sql/sql_partition.cc:
  Auto merged
2006-02-15 11:19:45 +01:00
unknown
e20cbe27de WL 2826: Error handling of ALTER TABLE for partitioning
Started writing detailed error handler of
ALTER TABLE for partitioning.
Philosophical issue, should one always attempt to make recovery
automatic or should one rely on manual means also.


sql/mysql_priv.h:
  Flag to ensure we can't be killed in a very critical spot
sql/sql_base.cc:
  Flag to ensure we can't be killed in a very critical spot
sql/sql_partition.cc:
  Started writing detailed error handler of
  ALTER TABLE for partitioning.
  Philosophical issue, should one always attempt to make recovery
  automatic or should one rely on manual means also.
2006-02-15 11:08:08 +01:00
unknown
76374fe564 Fix for bug#16901 Partitions: crash, SELECT, column of part. function=first column of primary key
use part_info->no_subparts to calculate partition range in case of subpartitions


mysql-test/r/partition.result:
  Fix for bug#16901 Partitions: crash, SELECT, column of part. function=first column of primary key
    test case
mysql-test/t/partition.test:
  Fix for bug#16901 Partitions: crash, SELECT, column of part. function=first column of primary key
    test case
2006-02-15 13:42:43 +04:00
unknown
c8db62f64c WL 2826: Error handling of ALTER TABLE for partitioning
Some more error handling


sql/sql_partition.cc:
  Some more error handling
2006-02-14 17:03:47 +01:00
unknown
bd30fa15b8 Post-review fix (WL#2987) 2006-02-14 16:50:51 +01:00
unknown
5cecd1734e WL 2826: Error handling of ALTER TABLE for partitioning
First step for handling errors in ALTER TABLE for partitioning


sql/ha_partition.cc:
  First step for handling errors in ALTER TABLE for partitioning
sql/sql_partition.cc:
  First step for handling errors in ALTER TABLE for partitioning
sql/sql_table.cc:
  First step for handling errors in ALTER TABLE for partitioning
2006-02-14 14:22:21 +01:00
unknown
897dd4794d WL 2826: Error handling of ALTER TABLE for partitioning
Added action code for recovery


sql/mysql_priv.h:
  Added entry in table log struct
sql/sql_partition.cc:
  Some renames to replace
sql/sql_table.cc:
  Added action code for recovery
2006-02-14 11:08:58 +01:00
unknown
5d5eba2d33 WL 2826: Error handling of ALTER TABLE for partitioning
Introduce log entry to handle replace of frm file


sql/handler.h:
  Introduce log entry to handle replace of frm file
sql/sql_partition.cc:
  Introduce log entry to handle replace of frm file
sql/sql_table.cc:
  Introduce log entry to handle replace of frm file
2006-02-13 13:52:23 +01:00
unknown
b517dbf718 Compile fixes 2006-02-11 00:41:52 -05:00
unknown
c6d1dee7e3 WL 2826: Error handling of ALTER TABLE for partitioning
Make lots of fixes to handle the most complex case of reorganising
of partitions where two-phased processes are needed in some cases.


sql/ha_partition.cc:
  Rewrote the rename partitions and drop partitions to align with how
  the table log handles things.
sql/handler.h:
  Added new entry to partition_element to keep track of log entry for
  a partition during ALTER TABLE that reorganises existing partitions.
sql/mysql_priv.h:
  Converted 'd', 'e' and so forth to constants with somewhat more
  descriptive names
  Added method to inactivate log entries
sql/sql_partition.cc:
  Fix change of partitions
sql/sql_table.cc:
  More constants with somewhat descriptive names
  Moved around some methods between internal part and external part
  Added new method to handle inactivation of log entries
2006-02-10 22:36:01 +01:00
unknown
d830e2b40e Added partition pruning checks (WL#2987) 2006-02-10 17:06:24 +01:00
unknown
2287cee693 WL 2826: Error handling of ALTER TABLE for partitioning
New function to set exec_log_entry
Moving code outside lock of table log
Fixing some initialisations of list reference to avoid
releasing wrong parts


sql/sql_partition.cc:
  New function to set exec_log_entry
  Moving code outside lock of table log
  Fixing some initialisations of list reference to avoid
  releasing wrong parts
sql/sql_table.cc:
  Initialisation of write_header needed
2006-02-10 12:30:51 +01:00
unknown
f99f322ea2 Bug fixes + debug stuff 2006-02-09 23:57:54 -05:00
unknown
8a0f12a1aa Merge mronstrom@bk-internal.mysql.com:/home/bk/mysql-5.1-wl2826
into  c-9a08e253.1238-1-64736c10.cust.bredbandsbolaget.se:/home/pappa/wl2826


sql/sql_partition.cc:
  Auto merged
2006-02-09 21:24:33 -05:00
unknown
de3c77dfec WL 2826: Error handling of ALTER TABLE for partitioning
Bug fixes


sql/sql_partition.cc:
  Bug fixes
2006-02-09 21:23:45 -05:00
unknown
4bef9c0e01 WL 2826: Error handling of ALTER TABLE for partitioning
Error handling
Crash if any error after reaching beyond certain point in
ALTER TABLE processing


sql/ha_partition.cc:
  Error handling
  Crash if any error after reaching beyond certain point in
  ALTER TABLE processing
sql/sql_partition.cc:
  Error handling
  Crash if any error after reaching beyond certain point in
  ALTER TABLE processing
2006-02-09 20:25:10 +01:00
unknown
ddb14e0f23 WL 2826: Error handling of ALTER TABLE for partitioning
More work on table logging of ALTER TABLE for partitioning


sql/mysql_priv.h:
  More work on table logging of ALTER TABLE for partitioning
sql/sql_partition.cc:
  More work on table logging of ALTER TABLE for partitioning
2006-02-09 20:20:22 +01:00
unknown
392b82a10a WL 2826: Error handling of ALTER TABLE for partitioning
A little more complete handling


sql/mysql_priv.h:
  Complete flag
sql/sql_table.cc:
  A little more complete handling
sql/sql_partition.cc:
  A little more complete handling
2006-02-09 20:20:21 +01:00
unknown
d7bd607db0 WL 2826: Error handling of ALTER TABLE for partitioning
More fixes


sql/sql_partition.cc:
  More fixes
2006-02-09 14:20:20 -05:00
unknown
cd653ed9ec WL 2826: Error handling of ALTER TABLE for partitioning
A number of fixes


sql/handler.h:
  A numbre of fixes
sql/mysql_priv.h:
  A numbre of fixes
sql/share/errmsg.txt:
  A numbre of fixes
sql/sql_partition.cc:
  A numbre of fixes
sql/sql_table.cc:
  A numbre of fixes
2006-02-09 14:13:22 -05:00
unknown
836912d1c7 WL 2826: Error handling for ALTER TABLE for partitioning
Step 14: First version of table log for add/Drop partition


sql/ha_partition.cc:
  Moved create partition name code to sql_partition.cc
sql/handler.h:
  Added entries in partition_info to keep track of table log entries
sql/mysql_priv.h:
  Moved create partition name code to sql_partition.cc
sql/sql_partition.cc:
  Moved create partition name code to sql_partition.cc
  First version of table log for add/drop partition
sql/sql_table.cc:
  Add IO_SIZE to table log header
2006-02-09 11:05:05 +01:00
unknown
e5200bc17d WL 2826: Error handling for ALTER TABLE for partitioning Step 13
Lots of compilation fixes


sql/mysql_priv.h:
  Lots of compilation fixes
sql/sql_partition.cc:
  Lots of compilation fixes
sql/sql_table.cc:
  Lots of compilation fixes
2006-02-08 18:04:58 -05:00
unknown
0050e5e71d Merge tulin@bk-internal.mysql.com:/home/bk/mysql-5.1-new
into  poseidon.ndb.mysql.com:/home/tomas/mysql-5.1-new


sql/sql_partition.cc:
  Auto merged
2006-02-08 22:15:34 +01:00
unknown
39b792908f Bug #17206 Update through VIEW is not working
mysql-test/r/ndb_view.result:
  New BitKeeper file ``mysql-test/r/ndb_view.result''
mysql-test/t/ndb_view.test:
  New BitKeeper file ``mysql-test/t/ndb_view.test''
2006-02-08 18:08:18 +01:00
unknown
e1de33c223 bug# 17082 Client hangs when creating tables with partition
This bug was only on Windows but we updated the call to 
create_temporary_file to match what is being done in other
areas of MySQL


sql/sql_partition.cc:
  the O_RDWR mode and MY_WME were used in this code before the switch
  was made to create_temp_file.  The parameters are still there
  so we just plug in the mode and WME so the underlying code will 
  create the temp file with the right mode.  This only affected 
  Windows.  [This comment was from the first changset that I was unable
  to bk fix].  This changeset adds O_BINARY | O_TRUNC | O_TEMPORARY
2006-02-08 04:05:18 -06:00
unknown
08e68aad60 BUG# 17082 - Client hangs when creating tables with partition
no test case needed since simply creating a partitioned table 
reproduces it.


sql/sql_partition.cc:
  the O_RDWR mode and MY_WME were used in this code before the switch
  was made to create_temp_file.  The parameters are still there
  so we just plug in the mode and WME so the underlying code will 
  create the temp file with the right mode.  This only affected 
  Windows.
2006-02-07 10:45:11 -06:00
unknown
3e463ddad4 Bug #17005 Ndb partition handling for create table like is broken 2006-02-07 16:31:20 +01:00
unknown
e4a92796f2 WL 2826: Step 11
Lots of new code for table log


include/my_sys.h:
  Spell error
sql/mysql_priv.h:
  More structs and methods for table log
sql/sql_partition.cc:
  lock/unlock global table log mutex
sql/sql_table.cc:
  Lots of new code for table log
2006-02-07 10:45:07 +01:00
unknown
e254606f0b WL #2826: Sixth step, made it work with test cases
BUILD/SETUP.sh:
  Fixed BUILD scripts
BUILD/compile-pentium-debug-max:
  Fixed BUILD scripts
sql/ha_partition.cc:
  Need to handle states differently when creating handler files
sql/mysql_priv.h:
  Some error inject fixes
sql/mysqld.cc:
  Some error inject fixes
sql/set_var.cc:
  Some error inject fixes
sql/sql_partition.cc:
  Fixing a bug with generate partition syntax
  A number of fixes
sql/sql_table.cc:
  Fix a few bugs
sql/table.cc:
  fix
2006-02-03 12:05:29 -05:00
unknown
83d418a25f WL 2826: A third step, fixing generate_partition_syntax
sql/mysql_priv.h:
  Make it possible to set injector code and value
  Declare header part of a set of new functions
sql/sql_partition.cc:
  Fix generate_partition_syntax to handle shadow variant of frm file
2006-02-01 16:38:08 +01:00
unknown
9b6c2bc2bf WL 2826: Another step
sql/mysql_priv.h:
  Set error_inject_code to zero after firing error injection
sql/sql_partition.cc:
  New entries for new functions
2006-02-01 14:00:00 +01:00
unknown
520dffb520 WL 2826: First step in error handling of ALTER TABLE for partitioning
BUILD/SETUP.sh:
  Add possibility for BUILD scripts to add error inject flag
BUILD/compile-pentium-debug-max:
  Add error inject flag to this script
configure.in:
  Add handling of --with-error-inject in configure script
sql/ha_ndbcluster.cc:
  Add possibility to rename handler file
sql/ha_ndbcluster.h:
  Add possibility to rename handler file
sql/ha_partition.cc:
  Add possibility to rename handler file
sql/ha_partition.h:
  Add possibility to rename handler file
sql/handler.h:
  Add possibility to rename handler file
sql/mysql_priv.h:
  Add error inject macros
sql/mysqld.cc:
  Add error inject system variables
sql/set_var.cc:
  Add error inject system variables
sql/sql_class.h:
  Add error inject system variables
sql/sql_table.cc:
  Start modifying code for introducing table log, Step 1
sql/unireg.cc:
  Add rename flag to handler file call
sql/sql_partition.cc:
  Changes to ADD/DROP/CHANGE partitions
2006-02-01 10:06:07 +01:00
unknown
c4f91d17b7 Merge mysql.com:/usr/local/mysql/mysql-5.1-win-fixes
into  mysql.com:/usr/local/mysql/x/mysql-5.1-new


VC++Files/sql/mysqld.vcproj:
  Auto merged
sql/event.h:
  Auto merged
sql/event_executor.cc:
  Auto merged
sql/event_timed.cc:
  Auto merged
sql/handler.h:
  Auto merged
sql/opt_range.cc:
  Auto merged
sql/sql_partition.cc:
  Auto merged
VC++Files/client/mysqldump.vcproj:
  Manual merge.
2006-01-30 17:57:20 +01:00
unknown
ab88a598ca Windows compile fixes in preparation for 5.1.6 beta.
VC++Files/client/mysqldump.vcproj:
  Add missing source file.
VC++Files/mysql.sln:
  Fix configuration mismatch.
VC++Files/sql/mysqld.vcproj:
  Enable row-based replication.
  Add missing source files.
scripts/make_win_src_distribution.sh:
  Add copying of missing directory.
sql/event.h:
  Fix type conflict only visible on Windows.
sql/event_executor.cc:
  Fix non-portable thread stuff.
sql/event_timed.cc:
  Fix type conflict only visible on Windows.
sql/ha_archive.cc:
  Add cast needed for Windows.
sql/handler.h:
  Fix Windows byte * <-> char * mismatch.
sql/opt_range.cc:
  Fix Windows byte * <-> char * mismatch.
sql/set_var.cc:
  BUG#16811
  Fix Windows compilation by making the cast-away of volatile implicit
  (Windows linker does not like volatile <-> non-volatile mismatch, in
  contrast to Unix)
sql/sql_partition.cc:
  Fix Windows byte * <-> char * mismatch.
2006-01-30 13:09:08 +01:00
unknown
ff5d012454 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.




mysql-test/r/partition_pruning.result:
  WL# 2986
  
  New results reflecting bitmap being used to determine if a partition is to be
  included
mysql-test/t/partition_pruning.test:
  WL# 2986
  
  New tests to show bitmap being used in ha_partition
sql/ha_partition.cc:
  WL# 2986
  
  Used work from 2682 and removed the partition select code.
      
  Added do {} while loop to any iteration over partitions to now utilise 
  m_part_info->used_partitions bitmap to determine if a partition should be
  used.
sql/ha_partition.h:
  WL# 2986
  
  Removed unused member
sql/handler.h:
  WL# 2986
  
  Removed unused member
sql/opt_range.cc:
  WL# 2986
  
  Added bitmap_clear_all to clear bitmap prior to pruning
  DBUG code for testing
sql/sql_partition.cc:
  WL# 2986
  
  Changed < to <=, which fixes the problem with edge cases going awry.
2006-01-28 16:22:32 -08:00
unknown
0e155240e9 Merge rburnett@bk-internal.mysql.com:/home/bk/mysql-5.1-new
into  linux.site:/home/reggie/work/mysql-5.1-bug14354


mysql-test/r/partition_mgm_err.result:
  Auto merged
sql/ha_partition.cc:
  Auto merged
sql/ha_partition.h:
  Auto merged
sql/mysql_priv.h:
  Auto merged
sql/sql_parse.cc:
  Auto merged
sql/sql_partition.cc:
  Auto merged
mysql-test/t/partition_mgm_err.test:
  SCCS merged
2006-01-25 13:10:00 -06:00
unknown
516a6d9375 Compile failure fix for gcc 2.95x: Don't use unnamed union of unnamed
structs in PARTITION_ITERATOR
2006-01-25 06:01:54 +03:00
unknown
f37545521b bug #14354 - data directory and index directory not working for partitions
mysql-test/r/partition_mgm_err.result:
  only the single drop table since we have disabled query logging for the create table
mysql-test/t/partition_mgm_err.test:
  test for bug #14354
  first make sure /tmp/bug14354 is not there, then make the dir
  create a partitioned table with the partition using
  /tmp/bug14354 as it's data dir
  we are disabling query logging since we are using $MYSQL_TEST_DIR
  and we are not certain where the tmp files will be created.
sql/ha_partition.cc:
  pass partition filename with pathname into 
  set_up_table_before_create.
  
  remove the path from the passed in value and then append the filename
  to the data_file_name or index_file_name if those values were
  specified.
sql/ha_partition.h:
  added partition_name_with_path to set_up_table_before_create
sql/mysql_priv.h:
  move append_file_to_dir to mysql_priv.h
sql/sql_parse.cc:
  moving append_file_to_dir to mysql_priv.h
sql/sql_partition.cc:
  add_keyword_string was not writing keyword value with quotes
2006-01-23 23:20:23 -06:00
unknown
ce78242859 Merge spetrunia@bk-internal.mysql.com:/home/bk/mysql-5.1-new
into  mysql.com:/home/psergey/mysql-5.1-ppruning-r5


sql/handler.h:
  Auto merged
sql/mysqld.cc:
  Auto merged
sql/sql_partition.cc:
  Auto merged
2006-01-19 17:05:57 +03:00
unknown
ca1bb5a046 Bug fix
mysql-test/include/partition_1.inc:
  Drop table missing in test case
sql/sql_partition.cc:
  Removed some dead code
sql/sql_yacc.yy:
  initialised name that was missing
2006-01-18 16:09:25 -05:00
unknown
5a6285c5f7 WL#2985: Merge
sql/mysqld.cc:
  Fix compile warnings (as directed by Serg)
2006-01-18 21:29:48 +03:00
unknown
18a1e69eba Manual merge
mysql-test/r/partition.result:
  Auto merged
sql/handler.h:
  Auto merged
sql/item.h:
  Auto merged
sql/sql_class.cc:
  Auto merged
sql/sql_lex.h:
  Auto merged
sql/sql_select.cc:
  Auto merged
2006-01-18 14:09:08 +03:00
unknown
8d7692d353 Merge mronstrom@bk-internal.mysql.com:/home/bk/mysql-5.1-new
into  c-0c0be253.1238-1-64736c10.cust.bredbandsbolaget.se:/home/pappa/wl2747-push


sql/ha_ndbcluster.cc:
  Auto merged
sql/sql_partition.cc:
  Auto merged
2006-01-17 12:35:09 -05:00