List:Internals« Previous MessageNext Message »
From:Sergey Petrunia Date:October 29 2005 12:37am
Subject:bk commit into 5.0 tree (sergefp:1.1956)
View as plain text  
Below is the list of changes that have just been committed into a local
5.0 repository of psergey. When psergey 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://dev.mysql.com/doc/mysql/en/installing-source-tree.html

ChangeSet
  1.1956 05/10/29 02:36:57 sergefp@stripped +7 -0
  4.1->5.0 merge

  sql/sql_table.cc
    1.278 05/10/29 02:36:53 sergefp@stripped +0 -0
    Auto Merged

  sql/field.h
    1.168 05/10/29 02:36:53 sergefp@stripped +1 -4
    Manual Merge

  sql/field.cc
    1.286 05/10/29 02:36:53 sergefp@stripped +0 -0
    Auto Merged

  mysql-test/t/create.test
    1.64 05/10/29 02:36:53 sergefp@stripped +0 -0
    Auto Merged

  mysql-test/r/create.result
    1.102 05/10/29 02:36:53 sergefp@stripped +0 -0
    Auto Merged

  innobase/row/row0ins.c
    1.73 05/10/29 02:36:53 sergefp@stripped +11 -38
    BUG#10511: Per alexi's instructions, the changes in innobase/row/row0ins.c are not 
    propagated to 5.x

  include/config-netware.h
    1.12 05/10/29 02:36:53 sergefp@stripped +0 -0
    Merged

# 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:	sergefp
# Host:	newbox.mylan
# Root:	/home/psergey/mysql-5.0-oct25-test/RESYNC

--- 1.285/sql/field.cc	2005-10-14 01:04:47 +04:00
+++ 1.286/sql/field.cc	2005-10-29 02:36:53 +04:00
@@ -8186,8 +8186,20 @@
   Handling of field and create_field
 *****************************************************************************/
 
+/*
+  Convert create_field::length from number of characters to number of bytes
+
+  SYNOPSIS
+    create_field::create_length_to_internal_length()
+  
+  DESCRIPTION
+    Convert create_field::length from number of characters to number of bytes,
+    save original value in chars_length.
+*/
+
 void create_field::create_length_to_internal_length(void)
 {
+  chars_length= length;
   switch (sql_type) {
   case MYSQL_TYPE_TINY_BLOB:
   case MYSQL_TYPE_MEDIUM_BLOB:

--- 1.167/sql/field.h	2005-10-14 01:04:47 +04:00
+++ 1.168/sql/field.h	2005-10-29 02:36:53 +04:00
@@ -1368,6 +1368,11 @@
   LEX_STRING comment;			// Comment for field
   Item	*def;				// Default value
   enum	enum_field_types sql_type;
+  /*
+    At various stages in execution this can be length of field in bytes or
+    max number of characters. 
+  */
+  ulong length;
   ulong length;
   uint  decimals, flags, pack_length, key_length;
   Field::utype unireg_check;

--- 1.277/sql/sql_table.cc	2005-10-25 18:08:24 +04:00
+++ 1.278/sql/sql_table.cc	2005-10-29 02:36:53 +04:00
@@ -839,8 +839,8 @@
 	  sql_field->charset=		(dup_field->charset ?
 					 dup_field->charset :
 					 create_info->default_table_charset);
-	  sql_field->length=		dup_field->length;
-	  sql_field->pack_length=	dup_field->pack_length;
+	  sql_field->length=		dup_field->chars_length;
+          sql_field->pack_length=	dup_field->pack_length;
           sql_field->key_length=	dup_field->key_length;
 	  sql_field->create_length_to_internal_length();
 	  sql_field->decimals=		dup_field->decimals;

--- 1.101/mysql-test/r/create.result	2005-09-13 02:44:44 +04:00
+++ 1.102/mysql-test/r/create.result	2005-10-29 02:36:53 +04:00
@@ -641,3 +641,14 @@
 Warnings:
 Note	1050	Table 't1' already exists
 drop table t1;
+create table t1 (
+a varchar(112) charset utf8 collate utf8_bin not null,
+primary key (a)
+) select 'test' as a ;
+show create table t1;
+Table	Create Table
+t1	CREATE TABLE `t1` (
+  `a` varchar(112) character set utf8 collate utf8_bin NOT NULL default '',
+  PRIMARY KEY  (`a`)
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+drop table t1;

--- 1.63/mysql-test/t/create.test	2005-09-12 21:18:43 +04:00
+++ 1.64/mysql-test/t/create.test	2005-10-29 02:36:53 +04:00
@@ -545,4 +545,12 @@
 create table if not exists t1 (a int);
 drop table t1;
 
+# BUG#14139
+create table t1 (
+  a varchar(112) charset utf8 collate utf8_bin not null,
+  primary key (a)
+) select 'test' as a ;
+show create table t1;
+drop table t1;
+
 # End of 4.1 tests

--- 1.11/include/config-netware.h	2005-10-27 21:04:31 +04:00
+++ 1.12/include/config-netware.h	2005-10-29 02:36:53 +04:00
@@ -118,15 +118,12 @@
 /* do not use the extended time in LibC sys\stat.h */
 #define _POSIX_SOURCE
 
-/* Kernel call on NetWare that will only yield if our time slice is up */
-void kYieldIfTimeSliceUp(void);
-
 /* Some macros for portability */
 
 #define set_timespec(ABSTIME,SEC) { (ABSTIME).tv_sec=time(NULL)+(SEC);
(ABSTIME).tv_nsec=0; }
 
 /* extra protection against CPU Hogs on NetWare */
-#define NETWARE_YIELD kYieldIfTimeSliceUp()
+#define NETWARE_YIELD pthread_yield()
 /* Screen mode for help texts */
 #define NETWARE_SET_SCREEN_MODE(A) setscreenmode(A)
 
Thread
bk commit into 5.0 tree (sergefp:1.1956)Sergey Petrunia29 Oct