Commit graph

290 commits

Author SHA1 Message Date
gluh@eagle.intranet.mysql.r18.ru
3e22ea44e5 Merge sgluhov@bk-internal.mysql.com:/home/bk/mysql-5.1
into mysql.com:/home/gluh/MySQL/Merge/5.1-kt
2006-06-28 11:55:15 +05:00
tomas@poseidon.ndb.mysql.com
9791d53445 partition functions to pass create_info, not only max_rows 2006-06-27 22:19:27 +02:00
mikael@dator5.(none)
5771a711f0 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
2006-06-23 01:21:26 -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
mikael@c-0409e253.1238-1-64736c10.cust.bredbandsbolaget.se
8484ea8b04 Merge c-0409e253.1238-1-64736c10.cust.bredbandsbolaget.se:/home/pappa/bug19801
into  c-0409e253.1238-1-64736c10.cust.bredbandsbolaget.se:/home/pappa/bug16002
2006-06-14 09:22:27 -04:00
mikael@c-0409e253.1238-1-64736c10.cust.bredbandsbolaget.se
e91454f89e 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
2006-06-14 09:12:07 -04:00
mikael@c-0409e253.1238-1-64736c10.cust.bredbandsbolaget.se
b51515c998 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/bug19801
2006-06-14 08:51:39 -04:00
mikael@c-0409e253.1238-1-64736c10.cust.bredbandsbolaget.se
2dd6099092 BUG#16002: Unsigned partition function support
After review fix
2006-06-14 08:31:38 -04:00
mikael@c-0409e253.1238-1-64736c10.cust.bredbandsbolaget.se
6d519a2370 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/bug19307
2006-06-13 21:41:02 -04:00
mikael@c-0409e253.1238-1-64736c10.cust.bredbandsbolaget.se
59c0034061 BUG#19307: CSV engine can cause crashes in partitioned tables (due to its conversion of NULLs to 0) 2006-06-13 14:36:23 -04:00
mikael@c-0409e253.1238-1-64736c10.cust.bredbandsbolaget.se
192033c7a2 Merge c-0409e253.1238-1-64736c10.cust.bredbandsbolaget.se:/home/pappa/bug19122
into  c-0409e253.1238-1-64736c10.cust.bredbandsbolaget.se:/home/pappa/bug19305
2006-06-12 17:49:38 -04:00
mikael@c-0409e253.1238-1-64736c10.cust.bredbandsbolaget.se
44076b96a1 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/bug19122
2006-06-12 17:41:05 -04:00
mikael@c-0409e253.1238-1-64736c10.cust.bredbandsbolaget.se
92dec44ef9 BUG#19122: Need to close handlers before drop/rename phase
Fixed comments
2006-06-12 17:37:32 -04:00
mikael@c-0409e253.1238-1-64736c10.cust.bredbandsbolaget.se
30817b8900 BUG#19122: Need to close all handlers before rename/drop phase in ALTER TABLE ADD/DROP/REORGANIZE partitions
After review fix
2006-06-12 17:30:32 -04:00
mikael@c-0409e253.1238-1-64736c10.cust.bredbandsbolaget.se
334a28f9f5 Merge c-0409e253.1238-1-64736c10.cust.bredbandsbolaget.se:/home/pappa/bug19695
into  c-0409e253.1238-1-64736c10.cust.bredbandsbolaget.se:/home/pappa/bug19305
2006-06-12 14:50:46 -04:00
mikael@c-0409e253.1238-1-64736c10.cust.bredbandsbolaget.se
744bb5d7bb 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/bug19695
2006-06-12 14:42:07 -04:00
mikael@c-0409e253.1238-1-64736c10.cust.bredbandsbolaget.se
9aa3af6723 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/bug19305
2006-06-12 14:31:25 -04:00
mikael@c-0409e253.1238-1-64736c10.cust.bredbandsbolaget.se
d4c8576e46 BUG#16002: After review fixes
Fixes for NDB
2006-06-06 13:19:46 -04:00
mikael@c-0409e253.1238-1-64736c10.cust.bredbandsbolaget.se
bda7c1fd13 BUG#16002: More review fixes 2006-06-06 11:54:21 -04:00
mikael@c-7308e253.1238-1-64736c10.cust.bredbandsbolaget.se
64ca16506b BUG#16002: Handle unsigned integer partition functions 2006-06-05 14:55:22 -04:00
monty@mysql.com
c46fb742b8 Merge bk-internal.mysql.com:/home/bk/mysql-5.1-new
into  mysql.com:/home/my/mysql-5.1
2006-06-04 21:05:22 +03:00
monty@mysql.com
74cc73d461 This changeset is largely a handler cleanup changeset (WL#3281), but includes fixes and cleanups that was found necessary while testing the handler changes
Changes that requires code changes in other code of other storage engines.
(Note that all changes are very straightforward and one should find all issues
by compiling a --debug build and fixing all compiler errors and all
asserts in field.cc while running the test suite),

- New optional handler function introduced: reset()
  This is called after every DML statement to make it easy for a handler to
  statement specific cleanups.
  (The only case it's not called is if force the file to be closed)

- handler::extra(HA_EXTRA_RESET) is removed. Code that was there before
  should be moved to handler::reset()

- table->read_set contains a bitmap over all columns that are needed
  in the query.  read_row() and similar functions only needs to read these
  columns
- table->write_set contains a bitmap over all columns that will be updated
  in the query. write_row() and update_row() only needs to update these
  columns.
  The above bitmaps should now be up to date in all context
  (including ALTER TABLE, filesort()).

  The handler is informed of any changes to the bitmap after
  fix_fields() by calling the virtual function
  handler::column_bitmaps_signal(). If the handler does caching of
  these bitmaps (instead of using table->read_set, table->write_set),
  it should redo the caching in this code. as the signal() may be sent
  several times, it's probably best to set a variable in the signal
  and redo the caching on read_row() / write_row() if the variable was
  set.

- Removed the read_set and write_set bitmap objects from the handler class

- Removed all column bit handling functions from the handler class.
  (Now one instead uses the normal bitmap functions in my_bitmap.c instead
  of handler dedicated bitmap functions)

- field->query_id is removed. One should instead instead check
  table->read_set and table->write_set if a field is used in the query.

- handler::extra(HA_EXTRA_RETRIVE_ALL_COLS) and
  handler::extra(HA_EXTRA_RETRIEVE_PRIMARY_KEY) are removed. One should now
  instead use table->read_set to check for which columns to retrieve.

- If a handler needs to call Field->val() or Field->store() on columns
  that are not used in the query, one should install a temporary
  all-columns-used map while doing so. For this, we provide the following
  functions:

  my_bitmap_map *old_map= dbug_tmp_use_all_columns(table, table->read_set);
  field->val();
  dbug_tmp_restore_column_map(table->read_set, old_map);

  and similar for the write map:

  my_bitmap_map *old_map= dbug_tmp_use_all_columns(table, table->write_set);
  field->val();
  dbug_tmp_restore_column_map(table->write_set, old_map);

  If this is not done, you will sooner or later hit a DBUG_ASSERT
  in the field store() / val() functions.
  (For not DBUG binaries, the dbug_tmp_restore_column_map() and
  dbug_tmp_restore_column_map() are inline dummy functions and should
  be optimized away be the compiler).

- If one needs to temporary set the column map for all binaries (and not
  just to avoid the DBUG_ASSERT() in the Field::store() / Field::val()
  methods) one should use the functions tmp_use_all_columns() and
  tmp_restore_column_map() instead of the above dbug_ variants.

- All 'status' fields in the handler base class (like records,
  data_file_length etc) are now stored in a 'stats' struct. This makes
  it easier to know what status variables are provided by the base
  handler.  This requires some trivial variable names in the extra()
  function.

- New virtual function handler::records().  This is called to optimize
  COUNT(*) if (handler::table_flags() & HA_HAS_RECORDS()) is true.
  (stats.records is not supposed to be an exact value. It's only has to
  be 'reasonable enough' for the optimizer to be able to choose a good
  optimization path).

- Non virtual handler::init() function added for caching of virtual
  constants from engine.

- Removed has_transactions() virtual method. Now one should instead return
  HA_NO_TRANSACTIONS in table_flags() if the table handler DOES NOT support
  transactions.

- The 'xxxx_create_handler()' function now has a MEM_ROOT_root argument
  that is to be used with 'new handler_name()' to allocate the handler
  in the right area.  The xxxx_create_handler() function is also
  responsible for any initialization of the object before returning.

  For example, one should change:

  static handler *myisam_create_handler(TABLE_SHARE *table)
  {
    return new ha_myisam(table);
  }

  ->

  static handler *myisam_create_handler(TABLE_SHARE *table, MEM_ROOT *mem_root)
  {
    return new (mem_root) ha_myisam(table);
  }

- New optional virtual function: use_hidden_primary_key().
  This is called in case of an update/delete when
  (table_flags() and HA_PRIMARY_KEY_REQUIRED_FOR_DELETE) is defined
  but we don't have a primary key. This allows the handler to take precisions
  in remembering any hidden primary key to able to update/delete any
  found row. The default handler marks all columns to be read.

- handler::table_flags() now returns a ulonglong (to allow for more flags).

- New/changed table_flags()
  - HA_HAS_RECORDS	    Set if ::records() is supported
  - HA_NO_TRANSACTIONS	    Set if engine doesn't support transactions
  - HA_PRIMARY_KEY_REQUIRED_FOR_DELETE
                            Set if we should mark all primary key columns for
			    read when reading rows as part of a DELETE
			    statement. If there is no primary key,
			    all columns are marked for read.
  - HA_PARTIAL_COLUMN_READ  Set if engine will not read all columns in some
			    cases (based on table->read_set)
 - HA_PRIMARY_KEY_ALLOW_RANDOM_ACCESS
   			    Renamed to HA_PRIMARY_KEY_REQUIRED_FOR_POSITION.
 - HA_DUPP_POS              Renamed to HA_DUPLICATE_POS
 - HA_REQUIRES_KEY_COLUMNS_FOR_DELETE
			    Set this if we should mark ALL key columns for
			    read when when reading rows as part of a DELETE
			    statement. In case of an update we will mark
			    all keys for read for which key part changed
			    value.
  - HA_STATS_RECORDS_IS_EXACT
			     Set this if stats.records is exact.
			     (This saves us some extra records() calls
			     when optimizing COUNT(*))
			    

- Removed table_flags()
  - HA_NOT_EXACT_COUNT     Now one should instead use HA_HAS_RECORDS if
			   handler::records() gives an exact count() and
			   HA_STATS_RECORDS_IS_EXACT if stats.records is exact.
  - HA_READ_RND_SAME	   Removed (no one supported this one)

- Removed not needed functions ha_retrieve_all_cols() and ha_retrieve_all_pk()

- Renamed handler::dupp_pos to handler::dup_pos

- Removed not used variable handler::sortkey


Upper level handler changes:

- ha_reset() now does some overall checks and calls ::reset()
- ha_table_flags() added. This is a cached version of table_flags(). The
  cache is updated on engine creation time and updated on open.


MySQL level changes (not obvious from the above):

- DBUG_ASSERT() added to check that column usage matches what is set
  in the column usage bit maps. (This found a LOT of bugs in current
  column marking code).

- In 5.1 before, all used columns was marked in read_set and only updated
  columns was marked in write_set. Now we only mark columns for which we
  need a value in read_set.

- Column bitmaps are created in open_binary_frm() and open_table_from_share().
  (Before this was in table.cc)

- handler::table_flags() calls are replaced with handler::ha_table_flags()

- For calling field->val() you must have the corresponding bit set in
  table->read_set. For calling field->store() you must have the
  corresponding bit set in table->write_set. (There are asserts in
  all store()/val() functions to catch wrong usage)

- thd->set_query_id is renamed to thd->mark_used_columns and instead
  of setting this to an integer value, this has now the values:
  MARK_COLUMNS_NONE, MARK_COLUMNS_READ, MARK_COLUMNS_WRITE
  Changed also all variables named 'set_query_id' to mark_used_columns.

- In filesort() we now inform the handler of exactly which columns are needed
  doing the sort and choosing the rows.

- The TABLE_SHARE object has a 'all_set' column bitmap one can use
  when one needs a column bitmap with all columns set.
  (This is used for table->use_all_columns() and other places)

- The TABLE object has 3 column bitmaps:
  - def_read_set     Default bitmap for columns to be read
  - def_write_set    Default bitmap for columns to be written
  - tmp_set          Can be used as a temporary bitmap when needed.
  The table object has also two pointer to bitmaps read_set and write_set
  that the handler should use to find out which columns are used in which way.

- count() optimization now calls handler::records() instead of using
  handler->stats.records (if (table_flags() & HA_HAS_RECORDS) is true).

- Added extra argument to Item::walk() to indicate if we should also
  traverse sub queries.

- Added TABLE parameter to cp_buffer_from_ref()

- Don't close tables created with CREATE ... SELECT but keep them in
  the table cache. (Faster usage of newly created tables).


New interfaces:

- table->clear_column_bitmaps() to initialize the bitmaps for tables
  at start of new statements.

- table->column_bitmaps_set() to set up new column bitmaps and signal
  the handler about this.

- table->column_bitmaps_set_no_signal() for some few cases where we need
  to setup new column bitmaps but don't signal the handler (as the handler
  has already been signaled about these before). Used for the momement
  only in opt_range.cc when doing ROR scans.

- table->use_all_columns() to install a bitmap where all columns are marked
  as use in the read and the write set.

- table->default_column_bitmaps() to install the normal read and write
  column bitmaps, but not signaling the handler about this.
  This is mainly used when creating TABLE instances.

- table->mark_columns_needed_for_delete(),
  table->mark_columns_needed_for_delete() and
  table->mark_columns_needed_for_insert() to allow us to put additional
  columns in column usage maps if handler so requires.
  (The handler indicates what it neads in handler->table_flags())

- table->prepare_for_position() to allow us to tell handler that it
  needs to read primary key parts to be able to store them in
  future table->position() calls.
  (This replaces the table->file->ha_retrieve_all_pk function)

- table->mark_auto_increment_column() to tell handler are going to update
  columns part of any auto_increment key.

- table->mark_columns_used_by_index() to mark all columns that is part of
  an index.  It will also send extra(HA_EXTRA_KEYREAD) to handler to allow
  it to quickly know that it only needs to read colums that are part
  of the key.  (The handler can also use the column map for detecting this,
  but simpler/faster handler can just monitor the extra() call).

- table->mark_columns_used_by_index_no_reset() to in addition to other columns,
  also mark all columns that is used by the given key.

- table->restore_column_maps_after_mark_index() to restore to default
  column maps after a call to table->mark_columns_used_by_index().

- New item function register_field_in_read_map(), for marking used columns
  in table->read_map. Used by filesort() to mark all used columns

- Maintain in TABLE->merge_keys set of all keys that are used in query.
  (Simplices some optimization loops)

- Maintain Field->part_of_key_not_clustered which is like Field->part_of_key
  but the field in the clustered key is not assumed to be part of all index.
  (used in opt_range.cc for faster loops)

-  dbug_tmp_use_all_columns(), dbug_tmp_restore_column_map()
   tmp_use_all_columns() and tmp_restore_column_map() functions to temporally
   mark all columns as usable.  The 'dbug_' version is primarily intended
   inside a handler when it wants to just call Field:store() & Field::val()
   functions, but don't need the column maps set for any other usage.
   (ie:: bitmap_is_set() is never called)

- We can't use compare_records() to skip updates for handlers that returns
  a partial column set and the read_set doesn't cover all columns in the
  write set. The reason for this is that if we have a column marked only for
  write we can't in the MySQL level know if the value changed or not.
  The reason this worked before was that MySQL marked all to be written
  columns as also to be read. The new 'optimal' bitmaps exposed this 'hidden
  bug'.

- open_table_from_share() does not anymore setup temporary MEM_ROOT
  object as a thread specific variable for the handler. Instead we
  send the to-be-used MEMROOT to get_new_handler().
  (Simpler, faster code)



Bugs fixed:

- Column marking was not done correctly in a lot of cases.
  (ALTER TABLE, when using triggers, auto_increment fields etc)
  (Could potentially result in wrong values inserted in table handlers
  relying on that the old column maps or field->set_query_id was correct)
  Especially when it comes to triggers, there may be cases where the
  old code would cause lost/wrong values for NDB and/or InnoDB tables.

- Split thd->options flag OPTION_STATUS_NO_TRANS_UPDATE to two flags:
  OPTION_STATUS_NO_TRANS_UPDATE and OPTION_KEEP_LOG.
  This allowed me to remove some wrong warnings about:
  "Some non-transactional changed tables couldn't be rolled back"

- Fixed handling of INSERT .. SELECT and CREATE ... SELECT that wrongly reset
  (thd->options & OPTION_STATUS_NO_TRANS_UPDATE) which caused us to loose
  some warnings about
  "Some non-transactional changed tables couldn't be rolled back")

- Fixed use of uninitialized memory in ha_ndbcluster.cc::delete_table()
  which could cause delete_table to report random failures.

- Fixed core dumps for some tests when running with --debug

- Added missing FN_LIBCHAR in mysql_rm_tmp_tables()
  (This has probably caused us to not properly remove temporary files after
  crash)

- slow_logs was not properly initialized, which could maybe cause
  extra/lost entries in slow log.

- If we get an duplicate row on insert, change column map to read and
  write all columns while retrying the operation. This is required by
  the definition of REPLACE and also ensures that fields that are only
  part of UPDATE are properly handled.  This fixed a bug in NDB and
  REPLACE where REPLACE wrongly copied some column values from the replaced
  row.

- For table handler that doesn't support NULL in keys, we would give an error
  when creating a primary key with NULL fields, even after the fields has been
  automaticly converted to NOT NULL.

- Creating a primary key on a SPATIAL key, would fail if field was not
  declared as NOT NULL.


Cleanups:

- Removed not used condition argument to setup_tables

- Removed not needed item function reset_query_id_processor().

- Field->add_index is removed. Now this is instead maintained in
  (field->flags & FIELD_IN_ADD_INDEX)

- Field->fieldnr is removed (use field->field_index instead)

- New argument to filesort() to indicate that it should return a set of
  row pointers (not used columns). This allowed me to remove some references
  to sql_command in filesort and should also enable us to return column
  results in some cases where we couldn't before.

- Changed column bitmap handling in opt_range.cc to be aligned with TABLE
  bitmap, which allowed me to use bitmap functions instead of looping over
  all fields to create some needed bitmaps. (Faster and smaller code)

- Broke up found too long lines

- Moved some variable declaration at start of function for better code
  readability.

- Removed some not used arguments from functions.
  (setup_fields(), mysql_prepare_insert_check_table())

- setup_fields() now takes an enum instead of an int for marking columns
   usage.

- For internal temporary tables, use handler::write_row(),
  handler::delete_row() and handler::update_row() instead of
  handler::ha_xxxx() for faster execution.

- Changed some constants to enum's and define's.

- Using separate column read and write sets allows for easier checking
  of timestamp field was set by statement.

- Remove calls to free_io_cache() as this is now done automaticly in ha_reset()

- Don't build table->normalized_path as this is now identical to table->path
  (after bar's fixes to convert filenames)

- Fixed some missed DBUG_PRINT(.."%lx") to use "0x%lx" to make it easier to
  do comparision with the 'convert-dbug-for-diff' tool.


Things left to do in 5.1:

- We wrongly log failed CREATE TABLE ... SELECT in some cases when using
  row based logging (as shown by testcase binlog_row_mix_innodb_myisam.result)
  Mats has promised to look into this.

- Test that my fix for CREATE TABLE ... SELECT is indeed correct.
  (I added several test cases for this, but in this case it's better that
  someone else also tests this throughly).
  Lars has promosed to do this.
2006-06-04 18:52:22 +03:00
mikael@c-3d08e253.1238-1-64736c10.cust.bredbandsbolaget.se
b615e0b6dc BUG#19067: Crash for default subpartitioning when altering the table 2006-06-03 18:37:31 -04:00
mikael@c-3d08e253.1238-1-64736c10.cust.bredbandsbolaget.se
a49ab68975 Merge mronstrom@bk-internal.mysql.com:/home/bk/mysql-5.1-new
into  c-3d08e253.1238-1-64736c10.cust.bredbandsbolaget.se:/home/pappa/bug19067
2006-06-03 12:57:32 -04:00
sergefp@mysql.com
995bb87d9c get_[part_]partition_id(): Fix function comments. 2006-06-03 04:03:26 +04:00
mikael@c-3d08e253.1238-1-64736c10.cust.bredbandsbolaget.se
31665cb561 Merge mronstrom@bk-internal.mysql.com:/home/bk/mysql-5.1-new
into  c-3d08e253.1238-1-64736c10.cust.bredbandsbolaget.se:/home/pappa/bug18198
2006-05-31 18:24:34 -04:00
serg@sergbook.mysql.com
2e16f1eccc after review fixes 2006-05-31 18:07:32 +02:00
mikael@c-3d08e253.1238-1-64736c10.cust.bredbandsbolaget.se
9686e7bfc9 BUG#20161: LINEAR keyword on subpartitions not displayed in information schema for partitions
and in SHOW CREATE TABLE
2006-05-31 09:33:10 -04:00
mikael@c-870ae253.1238-1-64736c10.cust.bredbandsbolaget.se
d3ea79ff52 BUG#19801: Valgrind error in check_list_constants
Needed some special handling of the case when no_list_values == 0
2006-05-30 00:08:48 -04:00
serg@sergbook.mysql.com
fe97dbb587 handlerton cleanup:
duplicate fields removed, st_mysql_storage_engine added to support
run-time handlerton initialization (no compiler warnings), handler API
is now tied to MySQL version, handlerton->plugin mapping added
(slot-based), dummy default_hton removed, plugin-type-specific
initialization generalized, built-in plugins are now initialized too,
--default-storage-engine no longer needs a list of storage engines
in handle_options().

mysql-test-run.pl bugfixes
2006-05-28 14:51:01 +02:00
mikael@c-870ae253.1238-1-64736c10.cust.bredbandsbolaget.se
cdc9025e0e 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/bug19122
2006-05-27 17:38:04 -04:00
mikael@c-870ae253.1238-1-64736c10.cust.bredbandsbolaget.se
bd349cff14 BUG#19695: Showed partition options when table options were not shown 2006-05-27 17:36:45 -04:00
mikael@c-870ae253.1238-1-64736c10.cust.bredbandsbolaget.se
10a7660f94 BUG#19305: COALESCE partition left partition files undropped 2006-05-27 16:34:13 -04:00
mikael@c-870ae253.1238-1-64736c10.cust.bredbandsbolaget.se
90c415ffcd BUG#19122: MySQL Server crashes when ALTER TABLE t1 REBUILD PARTITION on InnoDB table 2006-05-26 18:44:52 -04:00
mikael@c-870ae253.1238-1-64736c10.cust.bredbandsbolaget.se
640a4de065 Merge c-870ae253.1238-1-64736c10.cust.bredbandsbolaget.se:/home/pappa/bug19140
into  c-870ae253.1238-1-64736c10.cust.bredbandsbolaget.se:/home/pappa/bug19010
2006-05-12 15:44:15 -04:00
mikael@c-870ae253.1238-1-64736c10.cust.bredbandsbolaget.se
c85be97f50 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/bug19010
2006-05-12 12:22:31 -04:00
mikael@c-870ae253.1238-1-64736c10.cust.bredbandsbolaget.se
5de2150b85 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/bug19067
2006-05-11 16:03:12 -04:00
mikael@c-870ae253.1238-1-64736c10.cust.bredbandsbolaget.se
56b97747de BUG#19010: Fix issues with that ALTER TABLE from auto-partitioned NDB table doesn't work unless primary key exists on table. 2006-05-10 12:53:40 -04:00
mikael@c-870ae253.1238-1-64736c10.cust.bredbandsbolaget.se
b8227de1bf BUG#19140: Create index caused crash 2006-05-08 21:41:10 -04:00
monty@mysql.com
c10f37673c Fixed compiler warnings
Move plugin declarations after system functions have been checked
(Fixes problem with ndb_config failing becasue SHM is not declared)
Fixed some memory leaks
2006-05-04 19:39:47 +03:00
mikael@c-870ae253.1238-1-64736c10.cust.bredbandsbolaget.se
33eccd0c1e WL 2826: Error handling of ALTER TABLE for partitioning
Fixed merge issue
2006-04-22 04:38:19 -04:00
mikael@c-870ae253.1238-1-64736c10.cust.bredbandsbolaget.se
c949342101 Merge mronstrom@bk-internal.mysql.com:/home/bk/bugs/bug16002
into  c-870ae253.1238-1-64736c10.cust.bredbandsbolaget.se:/home/pappa/bug16002
2006-04-21 09:52:51 -04:00
mikael@c-870ae253.1238-1-64736c10.cust.bredbandsbolaget.se
82dfff9d08 BUG#19067: Crash when ALTER TABLE for default subpartitioned table 2006-04-21 08:43:07 -04:00
mikael@c-870ae253.1238-1-64736c10.cust.bredbandsbolaget.se
570c74e456 BUG#19067: Alter table add partition for subpartitioned table crashes
Changed variable name for improved clarity and debugging possibilities
Fixed bug in not assigning subpart_type
2006-04-20 14:11:54 -04:00
mikael@c-870ae253.1238-1-64736c10.cust.bredbandsbolaget.se
09e95da616 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
2006-04-19 21:22:35 -04:00
mikael@c-870ae253.1238-1-64736c10.cust.bredbandsbolaget.se
dd257b22dc WL 2826: Error handling of ALTER TABLE for partitioning
Various bug fixes (mostly mixed to and from in replace methods)
2006-04-19 20:04:00 -04:00
mikron@c-ae09e253.1238-1-64736c10.cust.bredbandsbolaget.se
eb60344d78 WL 2826: Error handling of ALTER TABLE for partitioning
Use \0 to indicate frm-file
Add more comments
Add more #ifdef code missing previously
2006-04-18 16:58:12 +02:00
mikael@c-4909e253.1238-1-64736c10.cust.bredbandsbolaget.se
cef06fdb61 BUG#16002: Make partition functions that are unsigned work properly 2006-04-17 22:51:34 -04:00
mikael@c-4908e253.1238-1-64736c10.cust.bredbandsbolaget.se
8ae26a2868 WL 2826: Error handling of ALTER TABLE for partitioning
After review changes
2006-04-15 21:49:13 -04:00
mikael@c-4908e253.1238-1-64736c10.cust.bredbandsbolaget.se
84575fe0ba BUG#18750: Various problems with partition names, quotation marks 2006-04-10 13:48:58 -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
mikael@c-4908e253.1238-1-64736c10.cust.bredbandsbolaget.se
e94274f0cd Fixes 2006-04-03 12:26:35 -04:00
mikael@c-4908e253.1238-1-64736c10.cust.bredbandsbolaget.se
0a02cbb5f6 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
2006-04-01 16:31:53 -05:00
mikron@c-2509e253.1238-1-64736c10.cust.bredbandsbolaget.se
635b0a9dc0 WL 2826: Error handling of ALTER TABLE for partitioning
More review fixes
2006-04-01 16:37:36 +02:00
mikael@c-520ae253.1238-1-64736c10.cust.bredbandsbolaget.se
ec1445aac8 Merge mronstrom@bk-internal.mysql.com:/home/bk/mysql-5.1-new
into  c-520ae253.1238-1-64736c10.cust.bredbandsbolaget.se:/home/pappa/bug13520
2006-04-01 00:59:25 -05:00
sergefp@mysql.com
dfb37cb3b1 Merge spetrunia@bk-internal.mysql.com:/home/bk/mysql-5.1-new
into mysql.com:/home/psergey/mysql-5.1-bug18025-r2
2006-03-31 22:26:04 +04:00
reggie@linux.site
b05f270c1f Merge rburnett@bk-internal.mysql.com:/home/bk/mysql-5.1-new
into  linux.site:/home/reggie/work/mysql-5.1-bug17631
2006-03-31 11:42:12 -06:00
reggie@linux.site
795659e775 cleaned up a few method comments
moved several functions from sql_partition to be member functions
2006-03-31 11:39:44 -06:00
sergefp@mysql.com
da81072823 Merge spetrunia@bk-internal.mysql.com:/home/bk/mysql-5.1-new
into mysql.com:/home/psergey/mysql-5.1-bug18025-r2
2006-03-31 15:20:00 +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
monty@mysql.com
c3e7c7aa4b Merge bk-internal.mysql.com:/home/bk/mysql-5.1-new
into  mysql.com:/home/my/mysql-5.1
2006-03-29 17:28:40 +03:00
monty@mysql.com
1994ed49ec Fixed compiler and valgrind warnings
Added missing DBUG_xxx_RETURN statements
Fixed some usage of not initialized variables (as found by valgrind)
Ensure that we don't remove locked tables used as name locks from open table cache until unlock_table_names() are called.
This was fixed by having drop_locked_name() returning any table used as a name lock so that we can free it in unlock_table_names()
This will allow Tomas to continue with his work to use namelocks to syncronize things.

Note: valgrind still produces a lot of warnings about using not initialized code and shows memory loss errors when running the ndb tests
2006-03-29 14:27:36 +03:00
mikael@c-bc0be253.1238-1-64736c10.cust.bredbandsbolaget.se
bcd2a795d8 BUG#13520: BUG#13433: Fixed proper delimiters for fields and comments 2006-03-28 17:41:50 -05:00
gluh@eagle.intranet.mysql.r18.ru
9c82b6746a Bug#18053 Partitions: crash if null
Bug#18070 Partitions: wrong result on WHERE ... IS NULL
 removed unnecessary code
 added handling of NULL values
2006-03-28 17:25:19 +05:00
pappa@c-8808e253.1238-1-64736c10.cust.bredbandsbolaget.se
24897407d6 BUG#16806: ALTER TABLE with new field in before position fails
Review fixes
2006-03-24 18:21:43 -05:00
pappa@c-8808e253.1238-1-64736c10.cust.bredbandsbolaget.se
f8088c1804 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
2006-03-24 18:19:13 -05:00
pappa@c-8808e253.1238-1-64736c10.cust.bredbandsbolaget.se
2d2bd9fe7a BUG #16806: ALTER TABLE fails when creating new field not last in table
Moved some code to else path to avoid delete, create, delete, create scenarios.
Fixed up the partition info object for some cases where we move from default
partitioning in NDB to default partitioning using partitioning.
2006-03-23 16:00:58 -05:00
pappa@c-8808e253.1238-1-64736c10.cust.bredbandsbolaget.se
ac10cffe80 OPTIMIZE, ANALYZE, CHECK, REPAIR and REBUILD only supported if fast_alter_partition flag set 2006-03-22 10:52:12 -05:00
pappa@c-8808e253.1238-1-64736c10.cust.bredbandsbolaget.se
05105a02cc manual merge 2006-03-22 00:17:22 -05:00
pappa@c-8808e253.1238-1-64736c10.cust.bredbandsbolaget.se
3dc4635c70 Merge c-8808e253.1238-1-64736c10.cust.bredbandsbolaget.se:/home/pappa/mysql-5.1-new
into  c-8808e253.1238-1-64736c10.cust.bredbandsbolaget.se:/home/pappa/wl2826
2006-03-21 10:44:59 -05:00
pappa@c-8808e253.1238-1-64736c10.cust.bredbandsbolaget.se
86086e7193 Manual merge 2006-03-20 23:55:10 -05:00
pappa@c-8808e253.1238-1-64736c10.cust.bredbandsbolaget.se
4d2b8f8ef6 Merge mronstrom@bk-internal.mysql.com:/home/bk/mysql-5.1-new
into  c-8808e253.1238-1-64736c10.cust.bredbandsbolaget.se:/home/pappa/bug17754
2006-03-20 22:47:48 -05:00
pappa@c-8808e253.1238-1-64736c10.cust.bredbandsbolaget.se
738176c15f Merge mronstrom@bk-internal.mysql.com:/home/bk/mysql-5.1-new
into  c-8808e253.1238-1-64736c10.cust.bredbandsbolaget.se:/home/pappa/bug17754
2006-03-20 14:41:50 -05:00
pappa@c-8808e253.1238-1-64736c10.cust.bredbandsbolaget.se
bd77396a94 BUG#17754
Added new syntax ALTER TABLE t1 REMOVE PARTITIONING,
changed semantics of ALTER TABLE t1 ENGINE=X; to not remove partitioning
Fix a number of mix engine bugs in partitioning
2006-03-20 14:36:21 -05:00
holyfoot@mysql.com
fc94004a65 merging 2006-03-20 19:22:56 +04:00
gluh@eagle.intranet.mysql.r18.ru
c0420a5c5e Bug#14367 Partitions: crash if utf8 column
use part_info->item_free_list instead of thd->free_list during partition function parsing
2006-03-20 17:41:45 +04:00
holyfoot@vva.(none)
a68742f460 bug #17290 (sp with delete, create and rollback causes MySQLD core)
additional fixes
2006-03-20 17:30:01 +04:00
holyfoot@mysql.com
d1909208a3 Merge bk@192.168.21.1:mysql-5.1-new
into mysql.com:/home/hf/work/mysql-5.1.clean
2006-03-18 18:51:17 +04:00
holyfoot@vva.(none)
8074262eda 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
2006-03-18 18:48:21 +04:00
mikael@zim.(none)
89b10826ce BUG#17772
A crash after ALTER TABLE t1 RENAME ...
2006-03-16 03:21:15 -08:00
mikael@zim.(none)
083e3da011 Manual merge 2006-03-14 03:46:12 -08:00
mikael@zim.(none)
cad342ae02 Merge zim.(none):/home/mikael/bug17127
into  zim.(none):/home/mikael/bug16370
2006-03-14 02:50:29 -08:00
mikael@zim.(none)
4b4b8f933e Merge mronstrom@bk-internal.mysql.com:/home/bk/mysql-5.1-new
into  zim.(none):/home/mikael/bug17127
2006-03-14 02:32:46 -08:00
mikael@zim.(none)
0ec5ee2c50 Manual merge 2006-03-14 01:39:27 -08:00
mikael@zim.(none)
ff77d7665d Merge zim.(none):/home/mikael/bug15961
into  zim.(none):/home/mikael/bug16370
2006-03-14 01:24:06 -08:00
mikael@zim.(none)
946979d2af Merge mronstrom@bk-internal.mysql.com:/home/bk/mysql-5.1-new
into  zim.(none):/home/mikael/bug16370
2006-03-14 01:07:29 -08:00
mikael@zim.(none)
a0f22844a7 Merge mronstrom@bk-internal.mysql.com:/home/bk/mysql-5.1-new
into  zim.(none):/home/mikael/bug15961
2006-03-14 00:51:44 -08:00
mikael@zim.(none)
4adb973df4 BUG#15961: After review fixes
New error message
2006-03-14 00:39:06 -08:00
jimw@mysql.com
cf48e4cde6 Merge mysql.com:/home/jimw/my/mysql-5.1-17097
into  mysql.com:/home/jimw/my/mysql-5.1-clean
2006-03-13 06:20:20 -08:00
jimw@mysql.com
ed453f077f Bug #17097: Partitions: failing ADD PRIMARY KEY leads to temporary rotten metadata,crash
When doing an ALTER TABLE on a table using partitioning, force the table
  definition to get reloaded, since it may become invalid whenever the ALTER
  TABLE fails (even for an ALTER TABLE without specific partitioning changes).
2006-03-13 05:01:11 -08:00
mikael@zim.(none)
d10a0e7e35 Ensure we discover also error in using subpartition parts in
non-subpartitioned tables in ALTER TABLE ADD/REORGANIZE PARTITION
2006-03-11 06:32:24 -08:00
mikael@zim.(none)
c34c2cfa45 BUG#15961: SUBPARTITION defined in non-subpartitioned table no error
Made sure that no subpartition stuff in non-subpartitioned table
2006-03-11 06:17:10 -08:00
mikael@zim.(none)
8d3c7e3b27 BUG#16370: Default subpartitioning not properly handled in conjunction
with ALTER TABLE ADD/REORGANIZE PARTITION
Ensure that default subpartitioning is removed when subpartitions
are defined in ADD/REORGANIZE PARTITION
2006-03-11 05:56:06 -08:00
mikron@mikael-ronstr-ms-dator.local
8a5f3b5339 Merge mikael@gorf.tangent.org:/home/mikael/bug17127
into  mikael-ronstr-ms-dator.local:/Users/mikron/bug17127
2006-03-10 10:43:39 +01:00
brian@zim.(none)
469893066b Fixed portability issue in 5.1 to include parsers from other applications. 2006-03-09 17:37:59 -08:00
mikron@mikael-ronstr-ms-dator.local
0a48cd762a BUG#17127: Crash if wrong use of VALUES for list partition 2006-03-09 18:19:34 +01:00
gluh@eagle.intranet.mysql.r18.ru
bcf710e97c Fix for bug#15447 Partitions: NULL is treated as zero
NULL value handling
2006-03-07 15:25:08 +04:00
bar@mysql.com
abf1fc9bd5 Bug#14527: Partitions: table unreadable if partition name = c-cedilla
sql_partition.cc:
  Changeing THD charset to utf8 when parsing a frm file.
partition_charset.test, partition_charset.result:
  new file
2006-03-02 12:25:02 +04:00
tomas@poseidon.ndb.mysql.com
7c6ed2d681 Merge tulin@bk-internal.mysql.com:/home/bk/mysql-5.1-new
into  poseidon.ndb.mysql.com:/home/tomas/mysql-5.1-new
2006-03-01 09:57:36 +01:00
kent@mysql.com
5d722a8491 Merge 2006-02-28 23:29:58 +01:00
tomas@poseidon.ndb.mysql.com
5a46fbfbd8 Bug #17499 continued
- moved initialization of used_partitions
- more tests

+ removed reference to fixed bugs
2006-02-28 17:51:27 +01:00
tomas@poseidon.ndb.mysql.com
81479bde6a Bug #17701, ALTER TABLE t1 ADD PARTITION for PARTITION BY LIST hangs test
- code wrongly tries to do a "fast alter partition", although not supported
2006-02-28 12:29:50 +01:00
guilhem@mysql.com
0071749595 WL#2977 and WL#2712 global and session-level variable to set the binlog format (row/statement),
and new binlog format called "mixed" (which is statement-based except if only row-based is correct,
in this cset it means if UDF or UUID is used; more cases could be added in later 5.1 release):
SET GLOBAL|SESSION BINLOG_FORMAT=row|statement|mixed|default;
the global default is statement unless cluster is enabled (then it's row) as in 5.1-alpha.
It's not possible to use SET on this variable if a session is currently in row-based mode and has open temporary tables (because CREATE
TEMPORARY TABLE was not binlogged so temp table is not known on slave),  or if NDB is enabled (because
NDB does not support such change on-the-fly, though it will later), of if in a stored function (see below).
The added tests test the possibility or impossibility to SET, their effects, and the mixed mode,
including in prepared statements and in stored procedures and functions.
Caveats:
a) The mixed mode will not work for stored functions: in mixed mode, a stored function will
always be binlogged as one call and in a statement-based way (e.g. INSERT VALUES(myfunc()) or SELECT myfunc()).
b) for the same reason, changing the thread's binlog format inside a stored function is
refused with an error message.
c) the same problems apply to triggers; implementing b) for triggers will be done later (will ask
Dmitri).
Additionally, as the binlog format is now changeable by each user for his session, I remove the implication
which was done at startup, where row-based automatically set log-bin-trust-routine-creators to 1
(not possible anymore as a user can now switch to stmt-based and do nasty things again), and automatically
set --innodb-locks-unsafe-for-binlog to 1 (was anyway theoretically incorrect as it disabled
phantom protection).
Plus fixes for compiler warnings.
2006-02-25 22:21:03 +01:00
reggie@linux.site
52fbc7a1cd BUG# 17430 Partitoins: crash on SELECT * FROM t1 WHERE f_int1 IS NULL
BUG# 17432: Partitions: wrong result, SELECT ... WHERE <column> is null
2006-02-24 10:10:41 -06:00
reggie@linux.site
cb10b77c31 BUG #15408 - Partitions: subpartition names are not unique 2006-02-21 17:40:07 -06:00
pappa@c-9a08e253.1238-1-64736c10.cust.bredbandsbolaget.se
dd17f48630 Merge c-9a08e253.1238-1-64736c10.cust.bredbandsbolaget.se:/home/pappa/mysql-5.1-bugs
into  c-9a08e253.1238-1-64736c10.cust.bredbandsbolaget.se:/home/pappa/wl2826
2006-02-20 16:41:46 -05:00
pappa@c-9a08e253.1238-1-64736c10.cust.bredbandsbolaget.se
d42757f87e WL 2826: Error handling of ALTER TABLE for partitioning
Bug fixes
2006-02-20 16:22:19 -05:00
pappa@c-9a08e253.1238-1-64736c10.cust.bredbandsbolaget.se
6ee7ab8aa3 WL 2826: Error handling of ALTER TABLE for partitioning
Fix compiler issues
2006-02-20 15:07:03 -05:00
reggie@linux.site
1527e94fc8 BUG# 15408 Partitions: subpartition names are not unique
THis patch goes along with 1.2098.23.1 to form the complete patch
2006-02-16 15:02:44 -06:00
reggie@big_geek.
3ce0880d3f Merge reggie@192.168.0.9:/home/reggie/work/mysql-5.1-bug15408
into  big_geek.:C:/Work/mysql/mysql-5.1-bug15408
2006-02-16 11:07:21 -06:00
reggie@big_geek.
466a5bb399 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
2006-02-16 10:38:33 -06:00
mikron@mikael-ronstr-ms-dator.local
b856931987 WL 2826: Error handling of ALTER TABLE for partitioning
Final part of the error handling of ALTER TABLE for partitioning
2006-02-15 14:05:15 +01:00
mskold@mysql.com
5e4df23c96 Merge mskold@bk-internal.mysql.com:/home/bk/mysql-5.1-new
into  mysql.com:/usr/local/home/marty/MySQL/mysql-5.1-work
2006-02-15 12:52:30 +01:00
gluh@eagle.intranet.mysql.r18.ru
544a1a98a5 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
mskold@mysql.com
64aa3861a4 Merge mskold@bk-internal.mysql.com:/home/bk/mysql-5.1-new
into  mysql.com:/usr/local/home/marty/MySQL/mysql-5.1-work
2006-02-15 11:19:45 +01:00
mikron@c-6b09e253.1238-1-64736c10.cust.bredbandsbolaget.se
be8a2ae4be 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.
2006-02-15 11:08:08 +01:00
gluh@eagle.intranet.mysql.r18.ru
00fc4cabe5 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
2006-02-15 13:42:43 +04:00
mikron@c-ba0ae253.1238-1-64736c10.cust.bredbandsbolaget.se
26c645d185 WL 2826: Error handling of ALTER TABLE for partitioning
Some more error handling
2006-02-14 17:03:47 +01:00
mskold@mysql.com
dafc2c7aad Post-review fix (WL#2987) 2006-02-14 16:50:51 +01:00
mikron@mikael-ronstr-ms-dator.local
aec1c506a5 WL 2826: Error handling of ALTER TABLE for partitioning
First step for handling errors in ALTER TABLE for partitioning
2006-02-14 14:22:21 +01:00
mikron@mikael-ronstr-ms-dator.local
5b99026ac7 WL 2826: Error handling of ALTER TABLE for partitioning
Added action code for recovery
2006-02-14 11:08:58 +01:00
mikron@mikael-ronstr-ms-dator.local
5a20f2d0b4 WL 2826: Error handling of ALTER TABLE for partitioning
Introduce log entry to handle replace of frm file
2006-02-13 13:52:23 +01:00
pappa@c-9a08e253.1238-1-64736c10.cust.bredbandsbolaget.se
12647d736b Compile fixes 2006-02-11 00:41:52 -05:00
mikron@c-370be253.1238-1-64736c10.cust.bredbandsbolaget.se
10c5b8f3ba 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.
2006-02-10 22:36:01 +01:00
mskold@mysql.com
5c2c52b0cb Added partition pruning checks (WL#2987) 2006-02-10 17:06:24 +01:00
mikron@c-370be253.1238-1-64736c10.cust.bredbandsbolaget.se
d7f164a927 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
2006-02-10 12:30:51 +01:00
pappa@c-9a08e253.1238-1-64736c10.cust.bredbandsbolaget.se
ee6508d2ab Bug fixes + debug stuff 2006-02-09 23:57:54 -05:00
pappa@c-9a08e253.1238-1-64736c10.cust.bredbandsbolaget.se
f3c50e9d6b Merge mronstrom@bk-internal.mysql.com:/home/bk/mysql-5.1-wl2826
into  c-9a08e253.1238-1-64736c10.cust.bredbandsbolaget.se:/home/pappa/wl2826
2006-02-09 21:24:33 -05:00
pappa@c-9a08e253.1238-1-64736c10.cust.bredbandsbolaget.se
9019d89421 WL 2826: Error handling of ALTER TABLE for partitioning
Bug fixes
2006-02-09 21:23:45 -05:00
mikron@c-d10be253.1238-1-64736c10.cust.bredbandsbolaget.se
11bff9edc8 WL 2826: Error handling of ALTER TABLE for partitioning
Error handling
Crash if any error after reaching beyond certain point in
ALTER TABLE processing
2006-02-09 20:25:10 +01:00
mikron@c-d10be253.1238-1-64736c10.cust.bredbandsbolaget.se
aecb004635 WL 2826: Error handling of ALTER TABLE for partitioning
More work on table logging of ALTER TABLE for partitioning
2006-02-09 20:20:22 +01:00
mikron@mikael-ronstr-ms-dator.local
4b6b06fd80 WL 2826: Error handling of ALTER TABLE for partitioning
A little more complete handling
2006-02-09 20:20:21 +01:00
pappa@c-9a08e253.1238-1-64736c10.cust.bredbandsbolaget.se
b290744ce7 WL 2826: Error handling of ALTER TABLE for partitioning
More fixes
2006-02-09 14:20:20 -05:00
pappa@c-9a08e253.1238-1-64736c10.cust.bredbandsbolaget.se
dd59559597 WL 2826: Error handling of ALTER TABLE for partitioning
A number of fixes
2006-02-09 14:13:22 -05:00
mikron@c-e90be253.1238-1-64736c10.cust.bredbandsbolaget.se
d9ef322c5f WL 2826: Error handling for ALTER TABLE for partitioning
Step 14: First version of table log for add/Drop partition
2006-02-09 11:05:05 +01:00
pappa@c-9a08e253.1238-1-64736c10.cust.bredbandsbolaget.se
c12c095226 WL 2826: Error handling for ALTER TABLE for partitioning Step 13
Lots of compilation fixes
2006-02-08 18:04:58 -05:00
tomas@poseidon.ndb.mysql.com
c4c4510a54 Merge tulin@bk-internal.mysql.com:/home/bk/mysql-5.1-new
into  poseidon.ndb.mysql.com:/home/tomas/mysql-5.1-new
2006-02-08 22:15:34 +01:00
tomas@poseidon.ndb.mysql.com
edd1417b46 Bug #17206 Update through VIEW is not working 2006-02-08 18:08:18 +01:00
reggie@linux.site
760bc0a225 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
2006-02-08 04:05:18 -06:00
reggie@linux.site
824ac10fbc BUG# 17082 - Client hangs when creating tables with partition
no test case needed since simply creating a partitioned table 
reproduces it.
2006-02-07 10:45:11 -06:00
tomas@poseidon.ndb.mysql.com
776bc2a6f2 Bug #17005 Ndb partition handling for create table like is broken 2006-02-07 16:31:20 +01:00
mikron@c-fa09e253.1238-1-64736c10.cust.bredbandsbolaget.se
5091f3a8a5 WL 2826: Step 11
Lots of new code for table log
2006-02-07 10:45:07 +01:00
pappa@c-5c0be253.1238-1-64736c10.cust.bredbandsbolaget.se
da5713e486 WL #2826: Sixth step, made it work with test cases 2006-02-03 12:05:29 -05:00
mikron@mikael-ronstr-ms-dator.local
e222f4d8e7 WL 2826: A third step, fixing generate_partition_syntax 2006-02-01 16:38:08 +01:00
mikron@mikael-ronstr-ms-dator.local
dc4ba14827 WL 2826: Another step 2006-02-01 14:00:00 +01:00
mikron@c-4d08e253.1238-1-64736c10.cust.bredbandsbolaget.se
08e12cada9 WL 2826: First step in error handling of ALTER TABLE for partitioning 2006-02-01 10:06:07 +01:00
knielsen@mysql.com
56d44ff1f9 Merge mysql.com:/usr/local/mysql/mysql-5.1-win-fixes
into  mysql.com:/usr/local/mysql/x/mysql-5.1-new
2006-01-30 17:57:20 +01:00
knielsen@mysql.com
899fc2653d Windows compile fixes in preparation for 5.1.6 beta. 2006-01-30 13:09:08 +01: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