From: Luis Soares Date: May 5 2011 11:46pm Subject: bzr commit into mysql-5.1 branch (luis.soares:3682) Bug#55229 Bug#11762616 List-Archive: http://lists.mysql.com/commits/136787 X-Bug: 55229,11762616 Message-Id: <201105052347.p45Nl3Wk001864@acsmt358.oracle.com> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="===============5514003652454123184==" --===============5514003652454123184== MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Content-Disposition: inline #At file:///home/lsoares/Workspace/bzr/work/bugfixing/push/mysql-5.1/ based on revid:alexander.nozdrin@stripped 3682 Luis Soares 2011-05-06 BUG#11762616: BUG#55229: 'POSTION' Fix for all "postion" in Oracle files (s/postion/position). Updated the copyright notices where needed. modified: client/mysqltest.cc extra/replace.c mysql-test/suite/rpl/r/rpl_server_id2.result mysql-test/suite/rpl/t/rpl_row_until.test mysql-test/suite/rpl/t/rpl_server_id2.test sql/handler.h sql/slave.cc storage/archive/ha_archive.cc storage/ndb/src/kernel/blocks/lgman.cpp vio/viosocket.c === modified file 'client/mysqltest.cc' --- a/client/mysqltest.cc 2011-04-07 18:12:54 +0000 +++ b/client/mysqltest.cc 2011-05-05 23:46:53 +0000 @@ -9739,7 +9739,7 @@ int find_set(REP_SETS *sets,REP_SET *fin return i; } } - return i; /* return new postion */ + return i; /* return new position */ } /* find if there is a found_set with same table_offset & found_offset @@ -9759,7 +9759,7 @@ int find_found(FOUND_SET *found_set,uint found_set[i].table_offset=table_offset; found_set[i].found_offset=found_offset; found_sets++; - return -i-2; /* return new postion */ + return -i-2; /* return new position */ } /* Return 1 if regexp starts with \b or ends with \b*/ === modified file 'extra/replace.c' --- a/extra/replace.c 2010-07-02 18:30:47 +0000 +++ b/extra/replace.c 2011-05-05 23:46:53 +0000 @@ -1,17 +1,19 @@ -/* Copyright (C) 2000 MySQL AB +/* Copyright (c) 2000, 2011, Oracle and/or its affiliates. All rights reserved. - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; version 2 of the License. + This program is free software; you can redistribute it and/or + modify it under the terms of the GNU General Public License + as published by the Free Software Foundation; version 2 of + the License. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA + 02110-1301 USA */ /* Replace strings in textfile @@ -819,7 +821,7 @@ static short find_set(REP_SETS *sets,REP return (short) i; } } - return (short) i; /* return new postion */ + return (short) i; /* return new position */ } @@ -842,7 +844,7 @@ static short find_found(FOUND_SET *found found_set[i].table_offset=table_offset; found_set[i].found_offset=found_offset; found_sets++; - return (short) (-i-2); /* return new postion */ + return (short) (-i-2); /* return new position */ } /* Return 1 if regexp starts with \b or ends with \b*/ === modified file 'mysql-test/suite/rpl/r/rpl_server_id2.result' --- a/mysql-test/suite/rpl/r/rpl_server_id2.result 2010-12-19 17:07:28 +0000 +++ b/mysql-test/suite/rpl/r/rpl_server_id2.result 2011-05-05 23:46:53 +0000 @@ -19,7 +19,7 @@ change master to master_port=MASTER_PORT start slave until master_log_file='master-bin.000001', master_log_pos=UNTIL_POS; include/wait_for_slave_io_to_start.inc include/wait_for_slave_sql_to_stop.inc -*** checking until postion execution: must be only t1 in the list *** +*** checking until position execution: must be only t1 in the list *** show tables; Tables_in_test t1 === modified file 'mysql-test/suite/rpl/t/rpl_row_until.test' --- a/mysql-test/suite/rpl/t/rpl_row_until.test 2010-12-19 17:07:28 +0000 +++ b/mysql-test/suite/rpl/t/rpl_row_until.test 2011-05-05 23:46:53 +0000 @@ -9,29 +9,29 @@ connection master; CREATE TABLE t1(n INT NOT NULL AUTO_INCREMENT PRIMARY KEY); INSERT INTO t1 VALUES (1),(2),(3),(4); DROP TABLE t1; -# Save master log postion for query DROP TABLE t1 +# Save master log position for query DROP TABLE t1 save_master_pos; let $master_pos_drop_t1= query_get_value(SHOW BINLOG EVENTS, Pos, 7); let $master_log_file= query_get_value(SHOW BINLOG EVENTS, Log_name, 7); CREATE TABLE t2(n INT NOT NULL AUTO_INCREMENT PRIMARY KEY); -# Save master log postion for query CREATE TABLE t2 +# Save master log position for query CREATE TABLE t2 save_master_pos; let $master_pos_create_t2= query_get_value(SHOW BINLOG EVENTS, Pos, 8); INSERT INTO t2 VALUES (1),(2); save_master_pos; -# Save master log postion for query INSERT INTO t2 VALUES (1),(2); +# Save master log position for query INSERT INTO t2 VALUES (1),(2); let $master_pos_insert1_t2= query_get_value(SHOW BINLOG EVENTS, End_log_pos, 12); sync_slave_with_master; -# Save relay log postion for query INSERT INTO t2 VALUES (1),(2); +# Save relay log position for query INSERT INTO t2 VALUES (1),(2); let $relay_pos_insert1_t2= query_get_value(show slave status, Relay_Log_Pos, 1); connection master; INSERT INTO t2 VALUES (3),(4); DROP TABLE t2; -# Save master log postion for query INSERT INTO t2 VALUES (1),(2); +# Save master log position for query INSERT INTO t2 VALUES (1),(2); let $master_pos_drop_t2= query_get_value(SHOW BINLOG EVENTS, End_log_pos, 17); sync_slave_with_master; === modified file 'mysql-test/suite/rpl/t/rpl_server_id2.test' --- a/mysql-test/suite/rpl/t/rpl_server_id2.test 2010-12-19 17:07:28 +0000 +++ b/mysql-test/suite/rpl/t/rpl_server_id2.test 2011-05-05 23:46:53 +0000 @@ -47,7 +47,7 @@ eval start slave until master_log_file=' --source include/wait_for_slave_io_to_start.inc --source include/wait_for_slave_sql_to_stop.inc ---echo *** checking until postion execution: must be only t1 in the list *** +--echo *** checking until position execution: must be only t1 in the list *** show tables; # cleanup === modified file 'sql/handler.h' --- a/sql/handler.h 2011-04-20 16:00:50 +0000 +++ b/sql/handler.h 2011-05-05 23:46:53 +0000 @@ -1,18 +1,19 @@ -/* Copyright 2000-2008 MySQL AB, 2008 Sun Microsystems, Inc. +/* Copyright (c) 2000, 2011, Oracle and/or its affiliates. All rights reserved. - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; version 2 of the License. + This program is free software; you can redistribute it and/or + modify it under the terms of the GNU General Public License + as published by the Free Software Foundation; version 2 of + the License. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ - + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA + 02110-1301 USA */ /* Definitions for parameters to do with handler-routines */ @@ -56,7 +57,7 @@ a table with rnd_next() - We will see all rows (including deleted ones) - Row positions are 'table->s->db_record_offset' apart - If this flag is not set, filesort will do a postion() call for each matched + If this flag is not set, filesort will do a position() call for each matched row to be able to find the row later. */ #define HA_REC_NOT_IN_SEQ (1 << 3) === modified file 'sql/slave.cc' --- a/sql/slave.cc 2011-01-24 03:48:54 +0000 +++ b/sql/slave.cc 2011-05-05 23:46:53 +0000 @@ -97,7 +97,7 @@ static const char *reconnect_messages[SL registration on master", "Reconnecting after a failed registration on master", "failed registering on master, reconnecting to try again, \ -log '%s' at postion %s", +log '%s' at position %s", "COM_REGISTER_SLAVE", "Slave I/O thread killed during or after reconnect" }, @@ -105,7 +105,7 @@ log '%s' at postion %s", "Waiting to reconnect after a failed binlog dump request", "Slave I/O thread killed while retrying master dump", "Reconnecting after a failed binlog dump request", - "failed dump request, reconnecting to try again, log '%s' at postion %s", + "failed dump request, reconnecting to try again, log '%s' at position %s", "COM_BINLOG_DUMP", "Slave I/O thread killed during or after reconnect" }, @@ -114,7 +114,7 @@ log '%s' at postion %s", "Slave I/O thread killed while waiting to reconnect after a failed read", "Reconnecting after a failed master event read", "Slave I/O thread: Failed reading log event, reconnecting to retry, \ -log '%s' at postion %s", +log '%s' at position %s", "", "Slave I/O thread killed during or after a reconnect done to recover from \ failed read" === modified file 'storage/archive/ha_archive.cc' --- a/storage/archive/ha_archive.cc 2010-03-25 19:57:06 +0000 +++ b/storage/archive/ha_archive.cc 2011-05-05 23:46:53 +0000 @@ -1,17 +1,19 @@ -/* Copyright (C) 2003 MySQL AB +/* Copyright (c) 2003, 2011, Oracle and/or its affiliates. All rights reserved. - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; version 2 of the License. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ + This program is free software; you can redistribute it and/or + modify it under the terms of the GNU General Public License + as published by the Free Software Foundation; version 2 of + the License. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA + 02110-1301 USA */ #ifdef USE_PRAGMA_IMPLEMENTATION #pragma implementation // gcc: Class implementation @@ -864,7 +866,7 @@ int ha_archive::write_row(uchar *buf) */ azflush(&(share->archive_write), Z_SYNC_FLUSH); /* - Set the position of the local read thread to the beginning postion. + Set the position of the local read thread to the beginning position. */ if (read_data_header(&archive)) { === modified file 'storage/ndb/src/kernel/blocks/lgman.cpp' --- a/storage/ndb/src/kernel/blocks/lgman.cpp 2008-02-08 14:17:45 +0000 +++ b/storage/ndb/src/kernel/blocks/lgman.cpp 2011-05-05 23:46:53 +0000 @@ -1,17 +1,19 @@ -/* Copyright (C) 2003 MySQL AB +/* Copyright (c) 2003, 2011, Oracle and/or its affiliates. All rights reserved. - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; version 2 of the License. + This program is free software; you can redistribute it and/or + modify it under the terms of the GNU General Public License + as published by the Free Software Foundation; version 2 of + the License. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA + 02110-1301 USA */ #include "lgman.hpp" #include "diskpage.hpp" @@ -2501,7 +2503,7 @@ Lgman::init_run_undo_log(Signal* signal) sendSignal(reference(), GSN_CONTINUEB, signal, 2, JBB); /** - * Insert in correct postion in list of logfile_group's + * Insert in correct position in list of logfile_group's */ Ptr pos; for(tmp.first(pos); !pos.isNull(); tmp.next(pos)) === modified file 'vio/viosocket.c' --- a/vio/viosocket.c 2009-11-20 12:09:50 +0000 +++ b/vio/viosocket.c 2011-05-05 23:46:53 +0000 @@ -1,17 +1,19 @@ -/* Copyright (C) 2000 MySQL AB +/* Copyright (c) 2000, 2011, Oracle and/or its affiliates. All rights reserved. - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; version 2 of the License. + This program is free software; you can redistribute it and/or + modify it under the terms of the GNU General Public License + as published by the Free Software Foundation; version 2 of + the License. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA + 02110-1301 USA */ /* Note that we can't have assertion on file descriptors; The reason for @@ -548,7 +550,7 @@ size_t vio_read_shared_memory(Vio * vio, { size_t length; size_t remain_local; - char *current_postion; + char *current_position; HANDLE events[2]; DBUG_ENTER("vio_read_shared_memory"); @@ -556,7 +558,7 @@ size_t vio_read_shared_memory(Vio * vio, size)); remain_local = size; - current_postion=buf; + current_position=buf; events[0]= vio->event_server_wrote; events[1]= vio->event_conn_closed; @@ -590,11 +592,11 @@ size_t vio_read_shared_memory(Vio * vio, if (length > remain_local) length = remain_local; - memcpy(current_postion,vio->shared_memory_pos,length); + memcpy(current_position,vio->shared_memory_pos,length); vio->shared_memory_remain-=length; vio->shared_memory_pos+=length; - current_postion+=length; + current_position+=length; remain_local-=length; if (!vio->shared_memory_remain) @@ -614,7 +616,7 @@ size_t vio_write_shared_memory(Vio * vio { size_t length, remain, sz; HANDLE pos; - const uchar *current_postion; + const uchar *current_position; HANDLE events[2]; DBUG_ENTER("vio_write_shared_memory"); @@ -622,7 +624,7 @@ size_t vio_write_shared_memory(Vio * vio size)); remain = size; - current_postion = buf; + current_position = buf; events[0]= vio->event_server_read; events[1]= vio->event_conn_closed; @@ -640,9 +642,9 @@ size_t vio_write_shared_memory(Vio * vio int4store(vio->handle_map,sz); pos = vio->handle_map + 4; - memcpy(pos,current_postion,sz); + memcpy(pos,current_position,sz); remain-=sz; - current_postion+=sz; + current_position+=sz; if (!SetEvent(vio->event_client_wrote)) DBUG_RETURN((size_t) -1); } --===============5514003652454123184== MIME-Version: 1.0 Content-Type: text/bzr-bundle; charset="us-ascii"; name="bzr/luis.soares@stripped" Content-Transfer-Encoding: 7bit Content-Disposition: inline # Bazaar merge directive format 2 (Bazaar 0.90) # revision_id: luis.soares@stripped # target_branch: file:///home/lsoares/Workspace/bzr/work/bugfixing\ # /push/mysql-5.1/ # testament_sha1: 0a60f211138c7ecaa649733f8f17f24647ffc6d2 # timestamp: 2011-05-06 00:46:59 +0100 # base_revision_id: alexander.nozdrin@stripped\ # pbwr2k9x04qdgxh8 # # Begin bundle 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 UPOBgemPIyP7i7kinChINcpbHQA= --===============5514003652454123184==--