From: Alexander Nozdrin Date: October 6 2010 3:06pm Subject: bzr push into mysql-5.5-bugteam branch (alexander.nozdrin:3094 to 3095) Bug#57094 List-Archive: http://lists.mysql.com/commits/120143 X-Bug: 57094 Message-Id: <201010061506.o96F0Whi002075@acsinet15.oracle.com> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="===============7958457218715727375==" --===============7958457218715727375== MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Content-Disposition: inline 3095 Alexander Nozdrin 2010-10-06 Fix for Bug#57094 (Copyright notice incorrect?). The fix is to: - introduce ORACLE_WELCOME_COPYRIGHT_NOTICE define to have a single place to specify copyright notice; - replace custom copyright notices with ORACLE_WELCOME_COPYRIGHT_NOTICE in programs. added: include/welcome_copyright_notice.h modified: client/mysql.cc client/mysql_upgrade.c client/mysqladmin.cc client/mysqlbinlog.cc client/mysqlcheck.c client/mysqldump.c client/mysqlimport.c client/mysqlshow.c client/mysqlslap.c client/mysqltest.cc sql/mysqld.cc 3094 Alexander Barkov 2010-10-06 Bug#55744 GROUP_CONCAT + CASE + ucs return garbage Problem: CASE didn't work with a mixture of different character sets in THEN/ELSE in some cases. This happened because after character set aggregation newly created Item_func_conv_charset items corresponding to THEN/ELSE arguments were not put back to args[] array. Fix: put all Item_func_conv_charset back to args[]. @ mysql-test/include/ctype_numconv.inc @ mysql-test/r/ctype_ucs.result Adding tests @ sql/item_cmpfunc.cc Put "agg" back to args[] after character set aggregation. modified: mysql-test/include/ctype_numconv.inc mysql-test/r/ctype_ucs.result sql/item_cmpfunc.cc === modified file 'client/mysql.cc' --- a/client/mysql.cc 2010-09-20 14:17:32 +0000 +++ b/client/mysql.cc 2010-10-06 15:06:13 +0000 @@ -13,11 +13,6 @@ along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ -#define COPYRIGHT_NOTICE "\ -Copyright (c) 2000, 2010, Oracle and/or its affiliates. All rights reserved.\n\ -This software comes with ABSOLUTELY NO WARRANTY. This is free software,\n\ -and you are welcome to modify and redistribute it under the GPL v2 license\n" - /* mysql command tool * Commands compatible with mSQL by David J. Hughes * @@ -110,6 +105,7 @@ extern "C" { #endif #include "completion_hash.h" +#include // ORACLE_WELCOME_COPYRIGHT_NOTICE #define PROMPT_CHAR '\\' #define DEFAULT_DELIMITER ";" @@ -1177,7 +1173,7 @@ int main(int argc,char *argv[]) mysql_thread_id(&mysql), server_version_string(&mysql)); put_info((char*) glob_buffer.ptr(),INFO_INFO); - put_info(COPYRIGHT_NOTICE, INFO_INFO); + put_info(ORACLE_WELCOME_COPYRIGHT_NOTICE("2000, 2010"), INFO_INFO); #ifdef HAVE_READLINE initialize_readline((char*) my_progname); @@ -1595,7 +1591,7 @@ static void usage(int version) if (version) return; - printf("%s", COPYRIGHT_NOTICE); + puts(ORACLE_WELCOME_COPYRIGHT_NOTICE("2000, 2010")); printf("Usage: %s [OPTIONS] [database]\n", my_progname); my_print_help(my_long_options); print_defaults("my", load_default_groups); === modified file 'client/mysql_upgrade.c' --- a/client/mysql_upgrade.c 2010-08-11 17:56:56 +0000 +++ b/client/mysql_upgrade.c 2010-10-06 15:06:13 +0000 @@ -1,4 +1,4 @@ -/* Copyright (C) 2000 MySQL AB +/* Copyright (c) 2000, 2010, 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 @@ -17,6 +17,8 @@ #include #include "../scripts/mysql_fix_privilege_tables_sql.c" +#include /* ORACLE_WELCOME_COPYRIGHT_NOTICE */ + #define VER "1.1" #ifdef HAVE_SYS_WAIT_H @@ -232,6 +234,7 @@ get_one_option(int optid, const struct m case '?': printf("%s Ver %s Distrib %s, for %s (%s)\n", my_progname, VER, MYSQL_SERVER_VERSION, SYSTEM_TYPE, MACHINE_TYPE); + puts(ORACLE_WELCOME_COPYRIGHT_NOTICE("2000, 2010")); puts("MySQL utility for upgrading databases to new MySQL versions.\n"); my_print_help(my_long_options); exit(0); === modified file 'client/mysqladmin.cc' --- a/client/mysqladmin.cc 2010-07-15 11:13:30 +0000 +++ b/client/mysqladmin.cc 2010-10-06 15:06:13 +0000 @@ -1,4 +1,4 @@ -/* Copyright (C) 2000-2006 MySQL AB +/* Copyright (c) 2000, 2010, 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 @@ -23,6 +23,7 @@ #include #include #include +#include /* ORACLE_WELCOME_COPYRIGHT_NOTICE */ #define ADMIN_VERSION "8.42" #define MAX_MYSQL_VAR 512 @@ -671,8 +672,7 @@ static int execute_commands(MYSQL *mysql case ADMIN_VER: new_line=1; print_version(); - puts("Copyright 2000-2008 MySQL AB, 2008 Sun Microsystems, Inc."); - puts("This software comes with ABSOLUTELY NO WARRANTY. This is free software,\nand you are welcome to modify and redistribute it under the GPL license\n"); + puts(ORACLE_WELCOME_COPYRIGHT_NOTICE("2000, 2010")); printf("Server version\t\t%s\n", mysql_get_server_info(mysql)); printf("Protocol version\t%d\n", mysql_get_proto_info(mysql)); printf("Connection\t\t%s\n",mysql_get_host_info(mysql)); @@ -1070,8 +1070,7 @@ static void print_version(void) static void usage(void) { print_version(); - puts("Copyright 2000-2008 MySQL AB, 2008 Sun Microsystems, Inc."); - puts("This software comes with ABSOLUTELY NO WARRANTY. This is free software,\nand you are welcome to modify and redistribute it under the GPL license\n"); + puts(ORACLE_WELCOME_COPYRIGHT_NOTICE("2000, 2010")); puts("Administration program for the mysqld daemon."); printf("Usage: %s [OPTIONS] command command....\n", my_progname); my_print_help(my_long_options); === modified file 'client/mysqlbinlog.cc' --- a/client/mysqlbinlog.cc 2010-07-15 13:47:50 +0000 +++ b/client/mysqlbinlog.cc 2010-10-06 15:06:13 +0000 @@ -1,4 +1,4 @@ -/* Copyright (C) 2001-2004 MySQL AB +/* Copyright (c) 2001, 2010, 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 @@ -34,6 +34,7 @@ #include "sql_priv.h" #include "log_event.h" #include "sql_common.h" +#include // ORACLE_WELCOME_COPYRIGHT_NOTICE #define BIN_LOG_HEADER_SIZE 4 #define PROBE_HEADER_LEN (EVENT_LEN_OFFSET+4) @@ -1239,10 +1240,7 @@ static void print_version() static void usage() { print_version(); - puts("By Monty and Sasha, for your professional use\n\ -This software comes with NO WARRANTY: This is free software,\n\ -and you are welcome to modify and redistribute it under the GPL license.\n"); - + puts(ORACLE_WELCOME_COPYRIGHT_NOTICE("2001, 2010")); printf("\ Dumps a MySQL binary log in a format usable for viewing or for piping to\n\ the mysql command line client.\n\n"); === modified file 'client/mysqlcheck.c' --- a/client/mysqlcheck.c 2010-07-15 13:47:50 +0000 +++ b/client/mysqlcheck.c 2010-10-06 15:06:13 +0000 @@ -1,4 +1,4 @@ -/* Copyright (C) 2000 MySQL AB, 2009 Sun Microsystems, Inc +/* Copyright (c) 2000, 2010, 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 @@ -13,8 +13,6 @@ along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ -/* By Jani Tolonen, 2001-04-20, MySQL Development Team */ - #define CHECK_VERSION "2.5.0" #include "client_priv.h" @@ -22,6 +20,7 @@ #include #include #include +#include /* ORACLE_WELCOME_COPYRIGHT_NOTICE */ /* Exit codes */ @@ -215,9 +214,7 @@ static void print_version(void) static void usage(void) { print_version(); - puts("By Jani Tolonen, 2001-04-20, MySQL Development Team.\n"); - puts("This software comes with ABSOLUTELY NO WARRANTY. This is free software,\n"); - puts("and you are welcome to modify and redistribute it under the GPL license.\n"); + puts(ORACLE_WELCOME_COPYRIGHT_NOTICE("2000, 2010")); puts("This program can be used to CHECK (-c, -m, -C), REPAIR (-r), ANALYZE (-a),"); puts("or OPTIMIZE (-o) tables. Some of the options (like -e or -q) can be"); puts("used at the same time. Not all options are supported by all storage engines."); === modified file 'client/mysqldump.c' --- a/client/mysqldump.c 2010-08-30 12:06:32 +0000 +++ b/client/mysqldump.c 2010-10-06 15:06:13 +0000 @@ -1,4 +1,4 @@ -/* Copyright 2000-2008 MySQL AB, 2008, 2009 Sun Microsystems, Inc. +/* Copyright (c) 2000, 2010, 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 @@ -51,6 +51,8 @@ #include "mysql_version.h" #include "mysqld_error.h" +#include /* ORACLE_WELCOME_COPYRIGHT_NOTICE */ + /* Exit codes */ #define EX_USAGE 1 @@ -584,8 +586,7 @@ static void short_usage_sub(void) static void usage(void) { print_version(); - puts("By Igor Romanenko, Monty, Jani & Sinisa."); - puts("This software comes with ABSOLUTELY NO WARRANTY. This is free software,\nand you are welcome to modify and redistribute it under the GPL license.\n"); + puts(ORACLE_WELCOME_COPYRIGHT_NOTICE("2000, 2010")); puts("Dumping structure and contents of MySQL databases and tables."); short_usage_sub(); print_defaults("my",load_default_groups); === modified file 'client/mysqlimport.c' --- a/client/mysqlimport.c 2010-07-15 11:13:30 +0000 +++ b/client/mysqlimport.c 2010-10-06 15:06:13 +0000 @@ -1,4 +1,4 @@ -/* Copyright (C) 2000-2006 MySQL AB, 2009 Sun Microsystems, Inc. +/* Copyright (c) 2000, 2010, 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 @@ -32,6 +32,8 @@ #include #endif +#include /* ORACLE_WELCOME_COPYRIGHT_NOTICE */ + /* Global Thread counter */ uint counter; @@ -191,8 +193,7 @@ static void print_version(void) static void usage(void) { print_version(); - puts("Copyright 2000-2008 MySQL AB, 2008 Sun Microsystems, Inc."); - puts("This software comes with ABSOLUTELY NO WARRANTY. This is free software,\nand you are welcome to modify and redistribute it under the GPL license.\n"); + puts(ORACLE_WELCOME_COPYRIGHT_NOTICE("2000, 2010")); printf("\ Loads tables from text files in various formats. The base name of the\n\ text file must be the name of the table that should be used.\n\ === modified file 'client/mysqlshow.c' --- a/client/mysqlshow.c 2010-07-15 13:47:50 +0000 +++ b/client/mysqlshow.c 2010-10-06 15:06:13 +0000 @@ -1,4 +1,4 @@ -/* Copyright (C) 2000-2006 MySQL AB +/* Copyright (c) 2000, 2010, 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 @@ -25,6 +25,7 @@ #include #include #include +#include /* ORACLE_WELCOME_COPYRIGHT_NOTICE */ static char * host=0, *opt_password=0, *user=0; static my_bool opt_show_keys= 0, opt_compress= 0, opt_count=0, opt_status= 0; @@ -247,8 +248,7 @@ static void print_version(void) static void usage(void) { print_version(); - puts("Copyright 2000-2008 MySQL AB, 2008 Sun Microsystems, Inc."); - puts("This software comes with ABSOLUTELY NO WARRANTY. This is free software,\nand you are welcome to modify and redistribute it under the GPL license.\n"); + puts(ORACLE_WELCOME_COPYRIGHT_NOTICE("2000, 2010)")); puts("Shows the structure of a MySQL database (databases, tables, and columns).\n"); printf("Usage: %s [OPTIONS] [database [table [column]]]\n",my_progname); puts("\n\ === modified file 'client/mysqlslap.c' --- a/client/mysqlslap.c 2010-07-15 11:13:30 +0000 +++ b/client/mysqlslap.c 2010-10-06 15:06:13 +0000 @@ -1,4 +1,4 @@ -/* Copyright (C) 2005 MySQL AB, 2009 Sun Microsystems, Inc. +/* Copyright (c) 2005, 2010, 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 @@ -11,12 +11,7 @@ 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 - - original idea: Brian Aker via playing with ab for too many years - coded by: Patrick Galbraith -*/ - + Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ /* MySQL Slap @@ -94,6 +89,7 @@ TODO: #include #endif #include +#include /* ORACLE_WELCOME_COPYRIGHT_NOTICE */ #ifdef __WIN__ #define srandom srand @@ -686,8 +682,7 @@ static void print_version(void) static void usage(void) { print_version(); - puts("Copyright (C) 2005 MySQL AB"); - puts("This software comes with ABSOLUTELY NO WARRANTY. This is free software,\nand you are welcome to modify and redistribute it under the GPL license.\n"); + puts(ORACLE_WELCOME_COPYRIGHT_NOTICE("2005, 2010")); puts("Run a query multiple times against the server.\n"); printf("Usage: %s [OPTIONS]\n",my_progname); print_defaults("my",load_default_groups); === modified file 'client/mysqltest.cc' --- a/client/mysqltest.cc 2010-10-04 12:42:16 +0000 +++ b/client/mysqltest.cc 2010-10-06 15:06:13 +0000 @@ -1,4 +1,4 @@ -/* Copyright (C) 2000 MySQL AB +/* Copyright (c) 2000, 2010, 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 @@ -52,6 +52,8 @@ #include #include +#include // ORACLE_WELCOME_COPYRIGHT_NOTICE + #ifdef __WIN__ #include #define SIGNAL_FMT "exception 0x%x" @@ -6260,8 +6262,7 @@ void print_version(void) void usage() { print_version(); - printf("MySQL AB, by Sasha, Matt, Monty & Jani\n"); - printf("This software comes with ABSOLUTELY NO WARRANTY\n\n"); + puts(ORACLE_WELCOME_COPYRIGHT_NOTICE("2000, 2010")); printf("Runs a test against the mysql server and compares output with a results file.\n\n"); printf("Usage: %s [OPTIONS] [database] < test_file\n", my_progname); my_print_help(my_long_options); === added file 'include/welcome_copyright_notice.h' --- a/include/welcome_copyright_notice.h 1970-01-01 00:00:00 +0000 +++ b/include/welcome_copyright_notice.h 2010-10-06 15:06:13 +0000 @@ -0,0 +1,31 @@ +/* Copyright (c) 2010, 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 */ + +#ifndef _welcome_copyright_notice_h_ +#define _welcome_copyright_notice_h_ + +/* + This define specifies copyright notice which is displayed by every MySQL + program on start, or on help screen. +*/ + +#define ORACLE_WELCOME_COPYRIGHT_NOTICE(years) \ + "Copyright (c) " years ", Oracle and/or its affiliates. All rights reserved.\n" \ + "\n" \ + "Oracle is a registered trademark of Oracle Corporation and/or its\n" \ + "affiliates. Other names may be trademarks of their respective\n" \ + "owners.\n" + +#endif /* _welcome_copyright_notice_h_ */ === modified file 'sql/mysqld.cc' --- a/sql/mysqld.cc 2010-10-04 12:42:16 +0000 +++ b/sql/mysqld.cc 2010-10-06 15:06:13 +0000 @@ -265,6 +265,8 @@ extern "C" sig_handler handle_segfault(i /* Constants */ +#include // ORACLE_WELCOME_COPYRIGHT_NOTICE + const char *show_comp_option_name[]= {"YES", "NO", "DISABLED"}; static const char *tc_heuristic_recover_names[]= @@ -6593,13 +6595,8 @@ static void usage(void) if (!default_collation_name) default_collation_name= (char*) default_charset_info->name; print_version(); - puts("\ -Copyright (C) 2000-2008 MySQL AB, by Monty and others.\n\ -Copyright (C) 2008,2009 Sun Microsystems, Inc.\n\ -This software comes with ABSOLUTELY NO WARRANTY. This is free software,\n\ -and you are welcome to modify and redistribute it under the GPL license\n\n\ -Starts the MySQL database server.\n"); - + puts(ORACLE_WELCOME_COPYRIGHT_NOTICE("2000, 2010")); + puts("Starts the MySQL database server.\n"); printf("Usage: %s [OPTIONS]\n", my_progname); if (!opt_verbose) puts("\nFor more help options (several pages), use mysqld --verbose --help."); --===============7958457218715727375== MIME-Version: 1.0 Content-Type: text/bzr-bundle; charset="us-ascii"; name="bzr/alexander.nozdrin@stripped" Content-Transfer-Encoding: 7bit Content-Disposition: inline # Bazaar merge directive format 2 (Bazaar 0.90) # revision_id: alexander.nozdrin@stripped\ # ls60rb2tq5dpyb5c # target_branch: file:///home/alik/MySQL/bzr/00/bug57094/mysql-5.5-\ # bugteam-bug57094/ # testament_sha1: 6e11ce935daf4abbbb76400a5716a176fe16b81b # timestamp: 2010-10-06 19:06:32 +0400 # base_revision_id: bar@stripped # # Begin bundle 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 --===============7958457218715727375==--