into mysql.com:/windows/Linux_space/MySQL/mysql-5.1-new-ndb
sql/ha_ndbcluster.cc:
Auto merged
sql/ha_partition.cc:
Auto merged
sql/ha_partition.h:
Auto merged
update partition engine for handler::info returning int
sql/ha_partition.cc:
update for handler::info returning int.
sql/ha_partition.h:
update for handler::info returning int.
into dator5.(none):/home/pappa/bug18198
mysql-test/r/partition.result:
Auto merged
sql/ha_ndbcluster.cc:
Auto merged
sql/ha_partition.cc:
Auto merged
sql/ha_partition.h:
Auto merged
sql/item_func.h:
Auto merged
sql/partition_info.cc:
Auto merged
sql/sql_partition.cc:
Auto merged
sql/sql_partition.h:
Auto merged
sql/sql_table.cc:
Auto merged
sql/sql_yacc.yy:
Auto merged
sql/item_cmpfunc.h:
e
include/mysql/plugin.h:
Adding license information.
plugin/fulltext/plugin_example.c:
License
sql/ha_ndbcluster.cc:
License
sql/ha_partition.cc:
License
sql/handler.h:
License
sql/log.cc:
License
sql/sql_show.cc:
Additional PLUIN display information
storage/archive/ha_archive.cc:
License information added
storage/blackhole/ha_blackhole.cc:
License information added
storage/csv/ha_tina.cc:
License Information
storage/example/ha_example.cc:
License information
storage/federated/ha_federated.cc:
License Information
storage/heap/ha_heap.cc:
License Information
storage/innobase/handler/ha_innodb.cc:
License Information
storage/myisam/ha_myisam.cc:
License Information
storage/myisammrg/ha_myisammrg.cc:
License Information
Fixes of after review fixes
mysql-test/r/partition_hash.result:
Fixed test cases
mysql-test/r/partition_range.result:
Fixed test cases
mysql-test/t/partition_range.test:
Fixed test cases
sql/ha_ndbcluster.cc:
Fixed error printout to avoid complex character set code in print_error
sql/ha_partition.cc:
Fixed error printout to avoid complex character set code in print_error
sql/partition_info.cc:
Fixed error printout to avoid complex character set code in print_error
sql/partition_info.h:
Fixed error printout to avoid complex character set code in print_error
sql/sql_partition.cc:
indendentation fix
mysql-test/r/partition.result:
Updated results
sql/ha_ndbcluster.cc:
Updated hton
sql/ha_partition.cc:
Removed need for global internal hton.
sql/handler.cc:
Removed need for global mrg
sql/mysql_priv.h:
Updated needs for global variables.
sql/mysqld.cc:
Removed needs around hton
sql/partition_info.cc:
Removed bug.... aka what happens if tables are neither?
sql/share/errmsg.txt:
Made error message more generic.
sql/sql_cache.cc:
Removed specific hton reference
sql/ha_ndbcluster.cc:
Removed global hton
sql/ha_ndbcluster.h:
Removed global hton need
sql/ha_partition.cc:
Removed global hton
sql/ha_partition.h:
Removed global hton
sql/handler.cc:
Removed global hton
sql/handler.h:
Removed global hton
storage/archive/ha_archive.cc:
Removed global hton
storage/archive/ha_archive.h:
Global hton removed
storage/blackhole/ha_blackhole.cc:
Global removed hton
storage/blackhole/ha_blackhole.h:
Global hton removal
storage/csv/ha_tina.cc:
Global hton removal
storage/csv/ha_tina.h:
Removed global removed
storage/example/ha_example.cc:
Global removed hton
storage/example/ha_example.h:
Global removed hton
storage/federated/ha_federated.cc:
Global removed hton
storage/federated/ha_federated.h:
Global removed hton
storage/heap/ha_heap.cc:
Global removed hton
storage/heap/ha_heap.h:
Global removed hton
storage/innobase/handler/ha_innodb.cc:
Global removed hton
storage/innobase/handler/ha_innodb.h:
Removed global hton
storage/myisam/ha_myisam.cc:
Globally removed hton
storage/myisam/ha_myisam.h:
Globally removed hton
storage/myisammrg/ha_myisammrg.cc:
Globally removed hton
storage/myisammrg/ha_myisammrg.h:
Globaly removed hton
include/mysql/plugin.h:
Field Removed
sql/ha_ndbcluster.cc:
Field Removed
sql/ha_partition.cc:
Field Removed
sql/log.cc:
Removed Field
storage/archive/ha_archive.cc:
Removed Field
storage/blackhole/ha_blackhole.cc:
Removed Field
storage/csv/ha_tina.cc:
Removed Field
storage/example/ha_example.cc:
Removed Field
storage/federated/ha_federated.cc:
Removed Field
storage/heap/ha_heap.cc:
Removed Field
storage/innobase/handler/ha_innodb.cc:
Removed Field
storage/myisam/ha_myisam.cc:
Removed Field
storage/myisammrg/ha_myisammrg.cc:
Removed Field
into dator5.(none):/home/pappa/bug21210
mysql-test/r/partition.result:
Auto merged
mysql-test/t/partition.test:
Auto merged
sql/ha_partition.cc:
Auto merged
Scan of ranges without start key should not use ordered scans unless it
is requested.
sql/ha_partition.cc:
Scan of ranges without start key should not use ordered scans unless it
is requested.
sql/ha_partition.h:
Scan of ranges without start key should not use ordered scans unless it
is requested.
In practice this means that handlerton is now created by the server and is passed to the engine. Plugin startups can now also control how plugins are inited (and can optionally pass values). Bit more flexibility to those who want to write plugin interfaces to the database.
include/mysql/plugin.h:
Optional to pass parameter now to init and deinit functions
sql/ha_ndbcluster.cc:
Cleanup, handlerton is now a pointer.
sql/ha_ndbcluster_binlog.cc:
Cleanup (handlerton is now a pointer)
sql/ha_ndbcluster_binlog.h:
Cleanup (handlerton is now a pointer)
sql/ha_partition.cc:
Cleaned up handlerton change
sql/handler.cc:
Cheanup of handlerton change
sql/item_sum.cc:
Cleanedup of handlerton change
sql/log.cc:
Cleanup of handlerton change
sql/mysql_priv.h:
Reverted patch for variables (what would have happen previously if a have_ would have been called that was dynamically loaded? boom!)
sql/mysqld.cc:
Cleanup of handlerton changes and reverted have variable patch
sql/partition_info.cc:
Cleanup of handlerton (we need to clean this up a bit more).
sql/set_var.cc:
Cleanup related to handlerton changes
sql/sql_cache.cc:
Handlerton changes cleanup
sql/sql_insert.cc:
Handlerton changes cleanup.
sql/sql_partition.cc:
Handlerton cleanup changes
sql/sql_plugin.cc:
Handlerton changes.
init() can now be controlled by a plugin specific startup.
There was also an issue with how we deinited the status variables. It should have been occuring before we shut down the engines.
sql/sql_select.cc:
Handlerton cleanup changes
sql/sql_show.cc:
Handlerton cleanup changes
sql/sql_table.cc:
Handlerton cleanup changes
sql/table.cc:
Cleanup
storage/archive/ha_archive.cc:
Cleanup
storage/archive/ha_archive.h:
Cleanup
storage/blackhole/ha_blackhole.cc:
Cleanup
storage/csv/ha_tina.cc:
Cleanup
storage/example/ha_example.cc:
Cleanup
storage/federated/ha_federated.cc:
Cleanup
storage/heap/ha_heap.cc:
Cleanup
storage/innobase/handler/ha_innodb.cc:
Cleanup
storage/myisam/ha_myisam.cc:
Cleanup
storage/myisammrg/ha_myisammrg.cc:
Cleanup
Inserted wrong handlers into the new_file_array which later caused
havoc in rename_partitions
sql/ha_partition.cc:
Inserted wrong handlers into the new_file_array which later caused
havoc in rename_partitions
into dator5.(none):/home/pappa/bug21388
sql/ha_partition.cc:
Auto merged
sql/ha_partition.h:
Auto merged
sql/item.cc:
Auto merged
sql/share/errmsg.txt:
Auto merged
sql/sql_partition.cc:
Auto merged
sql/sql_yacc.yy:
Auto merged
sql/table.cc:
Auto merged
storage/ndb/src/kernel/blocks/dbdih/DbdihMain.cpp:
Auto merged
setup 'share' struct for all partiton file elements. It's neccessary because we use
m_file[0]->update_create_info(create_info) during ha_partition::update_create_info
and 'share' for m_file[0] should be valid
sql/ha_partition.h:
Bug#20548 Events: crash if InnoDB, multiple events, busy procedures, partitions
sql/handler.h:
Bug#20548 Events: crash if InnoDB, multiple events, busy procedures, partitions
Review fixes
mysql-test/r/partition.result:
New test cases
mysql-test/t/partition.test:
New test cases
sql/ha_partition.cc:
Added comments after review
+ removed erroneus setting
Rewrote if-statement a bit shorter
Added check for subpartitions in REORGANIZE partitions to be of same number as
in base table.
mysql-test/r/partition_mgm.result:
New test case
mysql-test/t/partition_mgm.test:
New test case
sql/ha_partition.cc:
Fixed stuff I should done long ago (monty comments)
sql/sql_partition.cc:
Rewrote if-statement a bit shorter
Added check for subpartitions in REORGANIZE partitions to be of same number as
in base table.
Don't use get_auto_increment on tables without auto_increment fields
mysql-test/r/partition.result:
new test case
mysql-test/t/partition.test:
new test case
sql/ha_partition.cc:
Don't use get_auto_increment on tables without auto_increment fields
memcpy was too long m_reorged_parts was already temp_partitions * no_subparts so multiplying
by no_subparts again was not a good idea.
sql/ha_partition.cc:
memcpy was too long m_reorged_parts was already temp_partitions * no_subparts so multiplying
by no_subparts again was not a good idea.
set_up_table_before_create can fail due to erroneus path to
data directory or index directory
Added abort handling to ensure created partitions are dropped
if a failure occurs in the middle of the create process.
mysql-test/r/partition.result:
New test cases
mysql-test/t/partition.test:
New test cases
sql/ha_partition.cc:
set_up_table_before_create can fail due to erroneus path to
data directory or index directory
Added abort handling to ensure created partitions are dropped
if a failure occurs in the middle of the create process.
sql/ha_partition.h:
set_up_table_before_create can fail due to erroneus path to
data directory or index directory
Added abort handling to ensure created partitions are dropped
if a failure occurs in the middle of the create process.
mysql-test/r/partition_order.result:
Changed a test case to handle ordered index scan reverse order as well
mysql-test/t/partition_order.test:
Changed a test case to handle ordered index scan reverse order as well
sql/ha_myisam.cc:
More debug info
sql/ha_partition.cc:
Introduced partition_index_read_last to ensure we use index_read_last in those
cases towards underlying handler.
Ensured that index_read with HA_READ_PREFIX_LAST, HA_READ_PREFIX_LAST_OR_PREV and
HA_READ_BEFORE_KEY uses ordered index scan in reverse order.
sql/ha_partition.h:
Introduced partition_index_read_last to ensure we use index_read_last in those
cases towards underlying handler.
Ensured that index_read with HA_READ_PREFIX_LAST, HA_READ_PREFIX_LAST_OR_PREV and
HA_READ_BEFORE_KEY uses ordered index scan in reverse order.
mysql-test/r/partition_innodb.result:
New test case
mysql-test/t/partition_innodb.test:
New test case
sql/ha_partition.cc:
Two more handler interface variables not taken care of
into bodhi.local:/opt/local/work/mysql-5.1-runtime-merge
sql/ha_ndbcluster.cc:
Auto merged
sql/ha_partition.cc:
Auto merged
sql/log_event.cc:
Auto merged
sql/mysql_priv.h:
Auto merged
sql/sql_delete.cc:
Auto merged
sql/sql_load.cc:
Auto merged
sql/sql_parse.cc:
Auto merged
sql/sql_table.cc:
Auto merged
sql/sql_trigger.cc:
Auto merged
sql/sql_update.cc:
Auto merged
sql/table.cc:
Auto merged
mysql-test/r/federated.result:
Manual merge.
mysql-test/t/federated.test:
Manual merge.
sql/sql_insert.cc:
Manual merge.
mysql-test/r/partition_mgm.result:
Added new test case
mysql-test/t/partition_mgm.test:
Added new test case
sql/ha_partition.cc:
Fixed memory overwrite, added new variable for memory check
Problem was when reorganising partitions, the file handles
got in the wrong place.
sql/ha_partition.h:
Added new variable for debugging mostly
We now reset the THD members related to auto_increment+binlog in
MYSQL_LOG::write(). This is better than in THD::cleanup_after_query(),
which was not able to distinguish between SELECT myfunc1(),myfunc2()
and INSERT INTO t SELECT myfunc1(),myfunc2() from a binlogging point
of view.
Rows_log_event::exec_event() now calls lex_start() instead of
mysql_init_query() because the latter now does too much (it resets
the binlog format).
mysql-test/extra/rpl_tests/rpl_insert_id.test:
fix after merge
mysql-test/mysql-test-run.pl:
-v does not bring useful information when running valgrind; I remove it;
if you think it's useful add it back.
mysql-test/r/binlog_stm_mix_innodb_myisam.result:
Position columns of SHOW BINLOG EVENTS are replaced by # (more robust
if the size of an event changes).
mysql-test/r/rpl_insert_id.result:
fix after merge
mysql-test/r/rpl_loaddata.result:
The binlog positions change, because one event disappeared; indeed there
was this in the binlog (in the current 5.1!):
SET INSERT_ID=2;
SET INSERT_ID=1;
SET TIMESTAMP=1152540671;
load data LOCAL INFILE '/tmp/SQL_LOAD_MB-1-2' INTO table t1;
Two INSERT_ID events, useless and a bug. Goes away afer cleaning up
auto_increment handling.
mysql-test/r/rpl_switch_stm_row_mixed.result:
INSERT_ID=5 appears, it's a consequence of having merged the fix
for BUG#20341
"stored function inserting into one auto_increment puts bad data in slave".
In mixed mode, if one substatement of a stored procedure requires row-based,
the entire procedure uses row-based (was already true for stored functions);
this is a consequence of not doing the resetting of binlog format inside
lock_tables() (which didn't work with how the slave thread executes
row-based binlog events).
mysql-test/t/rpl_switch_stm_row_mixed.test:
removing the multi-row delayed insert because in RBR the number of events
which it generates, is not repeatable (probably depends on how the delayed
thread groups rows, i.e. dependent on timing).
sql/ha_partition.cc:
update to new prototype
sql/ha_partition.h:
update to new prototype of the handler:: method.
sql/handler.cc:
after-merge fixes (manually merging part which was hard to merge in fmtool)
sql/log.cc:
When we write to the binary log, THD's parameters which influenced this
write are reset: stmt_depends_on_first_successful_insert_id_in_prev_stmt
and auto_inc_intervals_in_cur_stmt_for_binlog. This is so that future
writes are not influenced by those and can write their own values.
As a consequence, when we don't write to the binlog we do not reset.
This is to abide by the rule that in a complex statement (using triggers etc),
the first top- or substatement to generate auto_increment ids
wins their writing to the binlog (that writing may be done by the statement
itself or by the caller); so for example for
INSERT INTO t SELECT myfunc() where myfunc() inserts into auto_increment
and INSERT INTO t does not, myfunc() will fill
auto_inc_intervals_in_cur_stmt_for_binlog, which will not be reset when
myfunc() ends, then INSERT INTO t will write to the binlog and thus
write the preserved auto_inc_intervals_in_cur_stmt_for_binlog.
sql/log_event.cc:
mysql_init_query() does too much now to be called in Rows_log_event::exec_event
(it call mysql_reset_thd_for_next_command() which may switch
the binlog format now).
It's ok to call it in Table_map_log_event::exec_event() but its call must
be before setting the binlog format to "row".
sql/sql_base.cc:
Resetting the binlog format in lock_tables() was a bad idea of mine;
it causes problems in execution of row-based binlog events, where
the thread sets the binlog format by itself and does not want a next
lock_tables() to reset the binlog format.
It is also misleading, for a function named lock_tables(), to reset
the binlog format.
As a consequence of this change, in mixed binlogging mode, a routine
is logged either entirely statement-based or entirely row-based, we
don't switch in the middle (this was already true for prelocked routines,
now it's also true for stored procedures).
sql/sql_class.cc:
resetting of auto_increment variables used for binlogging is now done
when writing to the binary log, no need to do the resetting at the end
of the statement. It is also more correct this way; consider
SELECT myfunc1(),myfunc2();
where both functions insert into the same auto_increment column.
Binlogging is done in 2 events: "SELECT myfunc1()" and "SELECT myfunc2()".
So each of those needs to have, in binlog, the INSERT_ID which
it inserted. But as the 2 function calls are executed under prelocked mode,
the old code didn't reset auto_inc_intervals_in_cur_stmt_for_binlog
after the first SELECT was binlogged, and so the INSERT_ID of the first
SELECT was binlogged for the first SELECT and (wrong) also for the 2nd
SELECT event.
stmt_depends_on_first_... has the same logic.
sql/sql_class.h:
clearer comment
sql/sql_delete.cc:
unneeded #ifdef. As we temporarily change the binlog format to "statement"
before calling mysql_delete(), we must restore it afterwards.
sql/sql_insert.cc:
after-merge fixes.
No need to reset auto_inc_intervals_in_cur_stmt_for_binlog for every
row in the delayed insert system thread, because we already reset it
when writing to the binlog.
sql/sql_parse.cc:
unneeded #ifdef
into jabberwock.site:/home/dlenev/mysql-5.1-bg18437
sql/ha_ndbcluster.cc:
Auto merged
sql/ha_partition.cc:
Auto merged
sql/log_event.cc:
Auto merged
sql/mysql_priv.h:
Auto merged
sql/sql_insert.cc:
Auto merged
sql/sql_parse.cc:
Auto merged
sql/sql_trigger.cc:
Auto merged
sql/sql_update.cc:
Auto merged
sql/table.cc:
Auto merged
sql/sql_table.cc:
Manual merge.
before update trigger on NDB table".
Two main changes:
- We use TABLE::read_set/write_set bitmaps for marking fields used by
statement instead of Field::query_id in 5.1.
- Now when we mark columns used by statement we take into account columns
used by table's triggers instead of marking all columns as used if table
has triggers.
mysql-test/r/federated.result:
Changed test in order to make it work with RBR.
RBR changes the way in which we execute "DELETE FROM t1" statement - we don't
use handler::delete_all_rows() method if RBR is enabled (see bug#19066).
As result federated engine produces different sequences of statements for
remote server in non-RBR and in RBR cases. And this changes order of the
rows inserted by following INSERT statements.
mysql-test/t/federated.test:
Changed test in order to make it work with RBR.
RBR changes the way in which we execute "DELETE FROM t1" statement - we don't
use handler::delete_all_rows() method if RBR is enabled (see bug#19066).
As result federated engine produces different sequences of statements for
remote server in non-RBR and in RBR cases. And this changes order of the
rows inserted by following INSERT statements.
sql/ha_partition.cc:
Added handling of HA_EXTRA_WRITE_CAN_REPLACE/HA_EXTRA_WRITE_CANNOT_REPLACE
to ha_partition::extra().
sql/item.cc:
Adjusted comment after merge. In 5.1 we use TABLE::read_set/write_set
bitmaps instead of Field::query_id for marking columns used.
sql/log_event.cc:
Write_rows_log_event::do_before_row_operations():
Now we explicitly inform handler that we want to replace rows so it can
promote operation done by write_row() to replace.
sql/mysql_priv.h:
Removed declaration of mark_fields_used_by_triggers_for_insert_stmt() which
is no longer used (we have TABLE::mark_columns_needed_for_insert() instead).
sql/sql_insert.cc:
Adjusted code after merge. Get rid of mark_fields_used_by_triggers_for_insert_stmt()
as now we use TABLE::mark_columns_needed_for_insert() for the same purprose.
Aligned places where we call this method with places where we call
mark_fields_used_by_triggers_for_insert() in 5.0.
Finally we no longer need to call handler::extra(HA_EXTRA_WRITE_CAN_REPLACE)
in case of REPLACE statement since in 5.1 write_record() marks all columns
as used before doing actual row replacement.
sql/sql_load.cc:
Adjusted code after merge. In 5.1 we use TABLE::mark_columns_needed_for_insert() instead of
mark_fields_used_by_triggers_for_insert_stmt() routine. We also no longer
need to call handler::extra(HA_EXTRA_RETRIEVE_ALL_COLS) if we execute LOAD
DATA REPLACE since in 5.1 write_record() will mark all columns as used before
doing actual row replacement.
sql/sql_trigger.cc:
Table_triggers_list::mark_fields_used():
We use TABLE::read_set/write_set bitmaps for marking fields used instead
of Field::query_id in 5.1.
sql/sql_trigger.h:
TABLE::mark_columns_needed_for_* methods no longer need to be friends of
Table_triggers_list class as intead of dirrectly accessing its private
members they can use public Table_triggers_list::mark_fields_used() method.
Also Table_triggers)list::mark_fields_used() no longer needs THD argument.
sql/table.cc:
TABLE::mark_columns_needed_for_*():
Now we mark columns which are really used by table's triggers instead of
marking all columns as used if table has triggers.
Also some error in handling options for subpartitions.
mysql-test/r/partition.result:
New test cases
mysql-test/t/partition.test:
New test cases
sql/ha_partition.cc:
Added partition_element to prepare_new_partition so that we can properly set-up table
before creating partitions.
sql/ha_partition.h:
Added partition_element to prepare_new_partition so that we can properly set-up table
before creating partitions.
sql/sql_yacc.yy:
Ensure that subpartitions always inherit options from the partition they belong to.
They can change it afterwards but will use the options as set on partition level
if set at that level.
into dator5.(none):/home/pappa/bug20583
mysql-test/r/partition.result:
Auto merged
mysql-test/t/partition.test:
Auto merged
sql/ha_partition.cc:
Auto merged
mysql-test/r/partition.result:
New test case
mysql-test/t/partition.test:
New test case
sql/ha_partition.cc:
Ensure index_last always uses ordered index scan
mysql-test/r/partition_list.result:
New test case
mysql-test/t/partition_list.test:
New test case
sql/ha_partition.cc:
Implement a proper update_create_info
into c-0409e253.1238-1-64736c10.cust.bredbandsbolaget.se:/home/pappa/bug19305
sql/ha_partition.cc:
Auto merged
sql/mysql_priv.h:
Auto merged
sql/sql_partition.cc:
Auto merged