Commit 2230bc97 authored by unknown's avatar unknown
Browse files

Merge zippy.(none):/home/cmiller/work/mysql/merge/jimw_merge

into  zippy.(none):/home/cmiller/work/mysql/merge/mysql-5.1-new


client/mysql.cc:
  Auto merged
mysql-test/r/func_str.result:
  Auto merged
mysql-test/t/mysql.test:
  Auto merged
sql/item_strfunc.cc:
  Auto merged
sql/item_strfunc.h:
  Auto merged
storage/ndb/src/kernel/vm/Emulator.cpp:
  Auto merged
storage/ndb/src/mgmclient/CommandInterpreter.cpp:
  Auto merged
parents aa19a8f2 d8df724a
Loading
Loading
Loading
Loading
+10 −8
Original line number Diff line number Diff line
@@ -2241,8 +2241,10 @@ print_table_data(MYSQL_RES *result)
  MYSQL_ROW	cur;
  MYSQL_FIELD	*field;
  bool		*num_flag;
  bool		*not_null_flag;

  num_flag=(bool*) my_alloca(sizeof(bool)*mysql_num_fields(result));
  not_null_flag=(bool*) my_alloca(sizeof(bool)*mysql_num_fields(result));
  if (info_flag)
  {
    print_field_types(result);
@@ -2260,7 +2262,7 @@ print_table_data(MYSQL_RES *result)
      length=max(length,field->max_length);
    if (length < 4 && !IS_NOT_NULL(field->flags))
      length=4;					// Room for "NULL"
    field->max_length=length+1;
    field->max_length=length;
    separator.fill(separator.length()+length+2,'-');
    separator.append('+');
  }
@@ -2276,6 +2278,7 @@ print_table_data(MYSQL_RES *result)
                                            MAX_COLUMN_LENGTH),
		  field->name);
      num_flag[off]= IS_NUM(field->type);
      not_null_flag[off]= IS_NOT_NULL(field->flags);
    }
    (void) tee_fputs("\n", PAGER);
    tee_puts((char*) separator.ptr(), PAGER);
@@ -2295,7 +2298,8 @@ print_table_data(MYSQL_RES *result)
      uint visible_length;
      uint extra_padding;

      if (lengths[off] == 0) 
      /* If this column may have a null value, use "NULL" for empty.  */
      if (! not_null_flag[off] && (lengths[off] == 0))
      {
        buffer= "NULL";
        data_length= 4;
@@ -2335,6 +2339,7 @@ print_table_data(MYSQL_RES *result)
  }
  tee_puts((char*) separator.ptr(), PAGER);
  my_afree((gptr) num_flag);
  my_afree((gptr) not_null_flag);
}


@@ -2349,11 +2354,8 @@ tee_print_sized_data(const char *data, unsigned int data_length, unsigned int to
  unsigned int i;
  const char *p;

  total_bytes_to_send -= 1;  
  /* Off by one, perhaps mistakenly accounting for a terminating NUL. */

  if (right_justified) 
    for (i= 0; i < (total_bytes_to_send - data_length); i++)
    for (i= data_length; i < total_bytes_to_send; i++)
      tee_putc((int)' ', PAGER);

  for (i= 0, p= data; i < data_length; i+= 1, p+= 1)
@@ -2365,7 +2367,7 @@ tee_print_sized_data(const char *data, unsigned int data_length, unsigned int to
  }

  if (! right_justified) 
    for (i= 0; i < (total_bytes_to_send - data_length); i++)
    for (i= data_length; i < total_bytes_to_send; i++)
      tee_putc((int)' ', PAGER);
}

+10 −0
Original line number Diff line number Diff line
@@ -1030,3 +1030,13 @@ c res
y,abc	abc
y,abc	abc
drop table t1;
select cast(rtrim('  20.06 ') as decimal(19,2));
cast(rtrim('  20.06 ') as decimal(19,2))
20.06
select cast(ltrim('  20.06 ') as decimal(19,2));
cast(ltrim('  20.06 ') as decimal(19,2))
20.06
select cast(rtrim(ltrim('  20.06 ')) as decimal(19,2));
cast(rtrim(ltrim('  20.06 ')) as decimal(19,2))
20.06
End of 5.0 tests
+12 −0
Original line number Diff line number Diff line
@@ -85,3 +85,15 @@ c_cp932
| NULL | NULL | Τη γλώσσα                 | 
| NULL | NULL | ᛖᚴ ᚷᛖᛏ                    | 
+------+------+---------------------------+
+------+---+------+
| i    | j | k    |
+------+---+------+
| NULL | 1 | NULL | 
+------+---+------+
+-------+---------+------+-----+---------+-------+
| Field | Type    | Null | Key | Default | Extra |
+-------+---------+------+-----+---------+-------+
| i     | int(11) | YES  |     | NULL    |       | 
| j     | int(11) | NO   |     | NULL    |       | 
| k     | int(11) | YES  |     | NULL    |       | 
+-------+---------+------+-----+---------+-------+
+8 −1
Original line number Diff line number Diff line
@@ -684,4 +684,11 @@ insert into t1 values ('y,abc'),('y,abc');
select c, substring_index(lcase(c), @q:=',', -1) as res from t1;
drop table t1;

# End of 5.0 tests
#
# Bug #17043: Casting trimmed string to decimal loses precision
#
select cast(rtrim('  20.06 ') as decimal(19,2));
select cast(ltrim('  20.06 ') as decimal(19,2));
select cast(rtrim(ltrim('  20.06 ')) as decimal(19,2));

--echo End of 5.0 tests
+5 −0
Original line number Diff line number Diff line
@@ -67,3 +67,8 @@ drop table t1;
#
--exec $MYSQL -t --default-character-set utf8 test -e "create table t1 (i int, j int, k char(25) charset utf8); insert into t1 (i) values (1); insert into t1 (k) values ('<----------------------->'); insert into t1 (k) values ('<-----'); insert into t1 (k) values ('Τη γλώσσα'); insert into t1 (k) values ('ᛖᚴ ᚷᛖᛏ'); select * from t1; DROP TABLE t1;"

#
# "DESCRIBE" commands may return strange NULLness flags.
#
--exec $MYSQL -t --default-character-set utf8 test -e "create table t1 (i int, j int not null, k int); insert into t1 values (null, 1, null); select * from t1; describe t1; drop table t1;"
Loading