[prev in list] [next in list] [prev in thread] [next in thread] 

List:       mysql-internals
Subject:    bk commit into 5.0 tree (heikki:1.1700)
From:       Heikki Tuuri <heikki () mysql ! com>
Date:       2004-11-30 17:56:32
Message-ID: 200411301756.iAUHuWTh025339 () hundin ! mysql ! fi
[Download RAW message or body]

Below is the list of changes that have just been committed into a local
5.0 repository of heikki. When heikki does a push these changes will
be propagated to the main repository and, within 24 hours after the
push, to the public repository.
For information on how to access the public repository
see http://www.mysql.com/doc/I/n/Installing_source_tree.html

ChangeSet
  1.1700 04/11/30 19:56:25 heikki@hundin.mysql.fi +2 -0
  row0mysql.h, ha_innodb.cc:
    Sergey Petrunia's ROR code fails to tell handlers that they should retrieve the \
primary key columns; let InnoDB ALWAYS retrieve them, to fix many bugs and potential \
bugs

  innobase/include/row0mysql.h
    1.30 04/11/30 19:55:42 heikki@hundin.mysql.fi +7 -1
    Sergey Petrunia's ROR code fails to tell handlers that they should retrieve the \
primary key columns; let InnoDB ALWAYS retrieve them, to fix many bugs and potential \
bugs

  sql/ha_innodb.cc
    1.123 04/11/30 19:55:30 heikki@hundin.mysql.fi +7 -1
    Sergey Petrunia's ROR code fails to tell handlers that they should retrieve the \
primary key columns; let InnoDB ALWAYS retrieve them, to fix many bugs and potential \
bugs

# This is a BitKeeper patch.  What follows are the unified diffs for the
# set of deltas contained in the patch.  The rest of the patch, the part
# that BitKeeper cares about, is below these diffs.
# User:	heikki
# Host:	hundin.mysql.fi
# Root:	/home/heikki/mysql-5.0

--- 1.29/innobase/include/row0mysql.h	Tue Nov  9 03:59:54 2004
+++ 1.30/innobase/include/row0mysql.h	Tue Nov 30 19:55:42 2004
@@ -547,7 +547,10 @@
 					format */
 	ulint		hint_need_to_fetch_extra_cols;
 					/* normally this is set to 0; if this
-					is set to ROW_RETRIEVE_PRIMARY_KEY,
+					is set to ROW_RETRIEVE_PRIMARY_KEY
+					(that value is obsolete starting from
+					5.0.2, because we always fetch the
+					primary key cols),
 					then we should at least retrieve all
 					columns in the primary key; if this
 					is set to ROW_RETRIEVE_ALL_COLS, then
@@ -620,6 +623,9 @@
 
 /* Values for hint_need_to_fetch_extra_cols */
 #define ROW_RETRIEVE_PRIMARY_KEY	1
+					/* value 1 is obsolete starting from
+					5.0.2, because we always fetch the
+					primary key cols */
 #define ROW_RETRIEVE_ALL_COLS		2
 
 

--- 1.122/sql/ha_innodb.cc	Fri Nov 26 15:44:46 2004
+++ 1.123/sql/ha_innodb.cc	Tue Nov 30 19:55:30 2004
@@ -2208,7 +2208,13 @@
 	ulint		n_fields;
 	ulint		n_requested_fields	= 0;
 	ibool		fetch_all_in_key	= FALSE;
-	ibool		fetch_primary_key_cols	= FALSE;
+	ibool		fetch_primary_key_cols	= TRUE; /* The ROR code in
+						opt_range.cc assumes that the
+						primary key cols are always
+						retrieved. Starting from
+						MySQL-5.0.2, let us always
+						fetch them, even though it
+						wastes some CPU. */ 
 	ulint		i;
 
 	if (prebuilt->select_lock_type == LOCK_X) {

-- 
MySQL Internals Mailing List
For list archives: http://lists.mysql.com/internals
To unsubscribe:    http://lists.mysql.com/internals?unsub=mysql-internals@progressive-comp.com



[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic