← Back to team overview

maria-developers team mailing list archive

Rev 2723: MySQL 5.1 -> MariaDB 5.1 merge in file:///home/psergey/bzr-new/mysql-5.1-maria-contd2/

 

At file:///home/psergey/bzr-new/mysql-5.1-maria-contd2/

------------------------------------------------------------
revno: 2723
revision-id: psergey@xxxxxxxxxxxx-20090909210657-i1of5o03ymoozwvs
parent: psergey@xxxxxxxxxxxx-20090908162138-wtd6r54dkcp4hg5a
committer: Sergey Petrunya <psergey@xxxxxxxxxxxx>
branch nick: mysql-5.1-maria-contd2
timestamp: Thu 2009-09-10 01:06:57 +0400
message:
  MySQL 5.1 -> MariaDB 5.1 merge 
  - Post-merge fixes
=== modified file 'README'
--- a/README	2009-09-08 16:04:58 +0000
+++ b/README	2009-09-09 21:06:57 +0000
@@ -1,47 +1,50 @@
-This is a release of MariaDB, a branch of MySQL.
-
-MariaDB is a drop-in replacement of MySQL, with more features, less
-bugs and better performance.
-
-MariaDB is brought to you by many of the original developers of MySQL,
-that now work for Monty Program Ab, and by many people in the
-community.
-
-MySQL, which is the base of MariaDB, is brought to you by Sun.
+This is a release of MySQL, a dual-license SQL database server.
+MySQL is brought to you by the MySQL team at Sun Microsystems, Inc.
 
 License information can be found in these files:
 - For GPL (free) distributions, see the COPYING file and
   the EXCEPTIONS-CLIENT file.
-
-A description of the MariaDB project can be found at:
-http://askmonty.org/wiki/index.php/MariaDB
-
-The differences between MariaDB and MySQL can be found at:
-http://askmonty.org/wiki/index.php/MariaDB_versus_MySQL
-
-Documentation about MySQL can be found at:
-http://dev.mysql.com/doc
-
-For further information about MySQL documentation, see:
-- The current MySQL documentation: 
+- For commercial distributions, see the LICENSE.mysql file.
+
+GPLv2 Disclaimer
+For the avoidance of doubt, except that if any license choice
+other than GPL or LGPL is available it will apply instead, Sun
+elects to use only the General Public License version 2 (GPLv2)
+at this time for any software where a choice of GPL license versions
+is made available with the language indicating that GPLv2 or any
+later version may be used, or where a choice of which version of
+the GPL is applied is otherwise unspecified.
+
+For further information about MySQL or additional documentation, see:
+- The latest information about MySQL: http://www.mysql.com
+- The current MySQL documentation: http://dev.mysql.com/doc
 
 Some manual sections of special interest:
 
+- If you are migrating from an older version of MySQL, please read the
+  "Upgrading from..." section first!
+- To see what MySQL can do, take a look at the features section.
+- For installation instructions, see the Installing and Upgrading
+chapter.
+- For the new features/bugfix history, see the Change History appendix.
+- For the currently known bugs/misfeatures (known errors) see the
+Problems
+  and Common Errors appendix.
 - For a list of developers and other contributors, see the Credits
   appendix.
 
 A local copy of the MySQL Reference Manual can be found in the Docs
 directory in GNU Info format.  You can also browse the manual online or
-download it in any of several formats from
-http://dev.mysql.com/doc
+download it in any of several formats at the URL given earlier in this
+file.
 
 ************************************************************
 
 IMPORTANT:
 
-Bug or error reports regarding MariaDB should be sent to
-https://bugs.launchpad.net/maria
-Bugs in the MySQL code can also be sent to http://bugs.mysql.com
+Bug or error reports should be sent to http://bugs.mysql.com.
+
+
 ***************************************************************************
 
 %%The following software may be included in this product:

=== modified file 'mysql-test/r/innodb_mysql.result'
--- a/mysql-test/r/innodb_mysql.result	2009-07-13 17:41:43 +0000
+++ b/mysql-test/r/innodb_mysql.result	2009-09-09 21:06:57 +0000
@@ -1746,7 +1746,7 @@
 DROP TABLE t1;
 CREATE TABLE t1 (c1 DECIMAL(12,2), c2 DECIMAL(12,2), c3 DECIMAL(12,2), 
 KEY (c3), KEY (c2, c3))
-ENGINE=InnoDB;
+ENGINE=innodb;
 INSERT INTO t1 VALUES (1,1,1), (1,1,1), (1,1,2), (1,1,1), (1,1,2);
 SELECT 1 FROM (SELECT COUNT(DISTINCT c1) 
 FROM t1 WHERE c2 IN (1, 1) AND c3 = 2 GROUP BY c2) x;

=== modified file 'mysql-test/suite/maria/r/maria3.result'
--- a/mysql-test/suite/maria/r/maria3.result	2009-06-29 21:03:30 +0000
+++ b/mysql-test/suite/maria/r/maria3.result	2009-09-09 21:06:57 +0000
@@ -318,6 +318,7 @@
 maria_sort_buffer_size	8388608
 maria_stats_method	nulls_unequal
 maria_sync_log_dir	NEWFILE
+maria_used_for_temp_tables	ON
 show status like 'maria%';
 Variable_name	Value
 Maria_pagecache_blocks_not_flushed	#

=== modified file 'sql/handler.cc'
--- a/sql/handler.cc	2009-09-07 20:50:10 +0000
+++ b/sql/handler.cc	2009-09-09 21:06:57 +0000
@@ -63,7 +63,7 @@
 
 const char *ha_row_type[] = {
   "", "FIXED", "DYNAMIC", "COMPRESSED", "REDUNDANT", "COMPACT",
-  /* Reserved to be "PAGE" in future versions */ "?",
+  "PAGE",
   "?","?","?"
 };
 

=== modified file 'sql/opt_range.cc'
--- a/sql/opt_range.cc	2009-09-07 20:50:10 +0000
+++ b/sql/opt_range.cc	2009-09-09 21:06:57 +0000
@@ -2243,7 +2243,7 @@
     KEY *key_info;
     PARAM param;
 
-    if (check_stack_overrun(thd, 2*STACK_MIN_SIZE, buff))
+    if (check_stack_overrun(thd, 2*STACK_MIN_SIZE + sizeof(PARAM), buff))
       DBUG_RETURN(0);                           // Fatal error flag is set
 
     /* set up parameter that is passed to all functions */
@@ -3760,9 +3760,8 @@
 
   DBUG_PRINT("info", ("index_merge scans cost %g", imerge_cost));
   if (imerge_too_expensive || (imerge_cost > read_time) ||
-      ((non_cpk_scan_records+cpk_scan_records >=
-        param->table->file->stats.records) &&
-       read_time != DBL_MAX))
+      ((non_cpk_scan_records+cpk_scan_records >= param->table->file->stats.records) &&
+      read_time != DBL_MAX))
   {
     /*
       Bail out if it is obvious that both index_merge and ROR-union will be
@@ -4839,11 +4838,11 @@
 {
   int idx;
   SEL_ARG **key,**end, **key_to_read= NULL;
-  ha_rows best_records;
+  ha_rows UNINIT_VAR(best_records);              /* protected by key_to_read */
   TRP_RANGE* read_plan= NULL;
   bool pk_is_clustered= param->table->file->primary_key_is_clustered();
   DBUG_ENTER("get_key_scans_params");
-  LINT_INIT(best_records); /* protected by key_to_read */
+
   /*
     Note that there may be trees that have type SEL_TREE::KEY but contain no
     key reads at all, e.g. tree for expression "key1 is not null" where key1
@@ -6440,13 +6439,6 @@
     return 0;					// Can't optimize this
   }
 
-  if ((key1->min_flag | key2->min_flag) & GEOM_FLAG)
-  {
-    key1->free_tree();
-    key2->free_tree();
-    return 0;					// Can't optimize this
-  }
-
   key1->use_count--;
   key2->use_count--;
   SEL_ARG *e1=key1->first(), *e2=key2->first(), *new_tree=0;
@@ -6797,9 +6789,7 @@
 SEL_ARG *
 SEL_ARG::insert(SEL_ARG *key)
 {
-  SEL_ARG *element,**par,*last_element;
-  LINT_INIT(par);
-  LINT_INIT(last_element);
+  SEL_ARG *element,**UNINIT_VAR(par),*UNINIT_VAR(last_element);
 
   for (element= this; element != &null_element ; )
   {

=== modified file 'sql/sql_table.cc'
--- a/sql/sql_table.cc	2009-09-07 20:50:10 +0000
+++ b/sql/sql_table.cc	2009-09-09 21:06:57 +0000
@@ -5951,6 +5951,8 @@
   }
   if (!(used_fields & HA_CREATE_USED_KEY_BLOCK_SIZE))
     create_info->key_block_size= table->s->key_block_size;
+  if (!(used_fields & HA_CREATE_USED_TRANSACTIONAL))
+    create_info->transactional= table->s->transactional;
 
   if (!create_info->tablespace && create_info->storage_media != HA_SM_MEMORY)
   {

=== modified file 'sql/table.cc'
--- a/sql/table.cc	2009-09-07 20:50:10 +0000
+++ b/sql/table.cc	2009-09-09 21:06:57 +0000
@@ -2491,11 +2491,8 @@
     int4store(fileinfo+34,create_info->avg_row_length);
     fileinfo[38]= (create_info->default_table_charset ?
 		   create_info->default_table_charset->number : 0);
-    /*
-      In future versions, we will store in fileinfo[39] the values of the
-      TRANSACTIONAL and PAGE_CHECKSUM clauses of CREATE TABLE.
-    */
-    fileinfo[39]= 0;
+    fileinfo[39]= (uchar) ((uint) create_info->transactional |
+                           ((uint) create_info->page_checksum << 2));
     fileinfo[40]= (uchar) create_info->row_type;
     /* Next few bytes where for RAID support */
     fileinfo[41]= 0;

=== modified file 'storage/xtradb/handler/ha_innodb.cc'
--- a/storage/xtradb/handler/ha_innodb.cc	2009-09-08 16:04:58 +0000
+++ b/storage/xtradb/handler/ha_innodb.cc	2009-09-09 21:06:57 +0000
@@ -9470,7 +9470,7 @@
 	There is no mechanism for updating InnoDB foreign key definitions. */
 	if (foreign_key_column_is_being_renamed(prebuilt, table)) {
 
-		return(COMPATIBLE_DATA_NO);
+		DBUG_RETURN(COMPATIBLE_DATA_NO);
 	}
 
 	/* Check that row format didn't change */




Follow ups