mirror of
https://github.com/MariaDB/server.git
synced 2025-01-23 15:24:16 +01:00
branches/5.1: This is an interim fix, fix tests and make read float/double arg const.
This commit is contained in:
parent
ad15f7adaf
commit
b5088dbc61
5 changed files with 18 additions and 20 deletions
|
@ -266,8 +266,8 @@ UNIV_INLINE
|
|||
double
|
||||
mach_double_read(
|
||||
/*=============*/
|
||||
/* out: double read */
|
||||
byte* b); /* in: pointer to memory from where to read */
|
||||
/* out: double read */
|
||||
const byte* b); /* in: pointer to memory from where to read */
|
||||
/*************************************************************
|
||||
Writes a double. It is stored in a little-endian format. */
|
||||
UNIV_INLINE
|
||||
|
@ -282,8 +282,8 @@ UNIV_INLINE
|
|||
float
|
||||
mach_float_read(
|
||||
/*============*/
|
||||
/* out: float read */
|
||||
byte* b); /* in: pointer to memory from where to read */
|
||||
/* out: float read */
|
||||
const byte* b); /* in: pointer to memory from where to read */
|
||||
/*************************************************************
|
||||
Writes a float. It is stored in a little-endian format. */
|
||||
UNIV_INLINE
|
||||
|
|
|
@ -504,8 +504,8 @@ UNIV_INLINE
|
|||
double
|
||||
mach_double_read(
|
||||
/*=============*/
|
||||
/* out: double read */
|
||||
byte* b) /* in: pointer to memory from where to read */
|
||||
/* out: double read */
|
||||
const byte* b) /* in: pointer to memory from where to read */
|
||||
{
|
||||
double d;
|
||||
ulint i;
|
||||
|
@ -553,8 +553,8 @@ UNIV_INLINE
|
|||
float
|
||||
mach_float_read(
|
||||
/*============*/
|
||||
/* out: float read */
|
||||
byte* b) /* in: pointer to memory from where to read */
|
||||
/* out: float read */
|
||||
const byte* b) /* in: pointer to memory from where to read */
|
||||
{
|
||||
float d;
|
||||
ulint i;
|
||||
|
|
|
@ -1131,9 +1131,7 @@ Warnings:
|
|||
Note 1051 Unknown table 'T1'
|
||||
CREATE TABLE T1(C1 DOUBLE AUTO_INCREMENT KEY, C2 CHAR(10)) ENGINE=InnoDB;
|
||||
INSERT INTO T1(C1, C2) VALUES (1, 'innodb'), (3, 'innodb');
|
||||
INSERT INTO T1(C1) VALUES ('innodb');
|
||||
Warnings:
|
||||
Warning 1265 Data truncated for column 'C1' at row 1
|
||||
INSERT INTO T1(C2) VALUES ('innodb');
|
||||
SHOW CREATE TABLE T1;
|
||||
Table Create Table
|
||||
T1 CREATE TABLE `T1` (
|
||||
|
@ -1144,9 +1142,7 @@ T1 CREATE TABLE `T1` (
|
|||
DROP TABLE T1;
|
||||
CREATE TABLE T1(C1 FLOAT AUTO_INCREMENT KEY, C2 CHAR(10)) ENGINE=InnoDB;
|
||||
INSERT INTO T1(C1, C2) VALUES (1, 'innodb'), (3, 'innodb');
|
||||
INSERT INTO T1(C1) VALUES ('innodb');
|
||||
Warnings:
|
||||
Warning 1265 Data truncated for column 'C1' at row 1
|
||||
INSERT INTO T1(C2) VALUES ('innodb');
|
||||
SHOW CREATE TABLE T1;
|
||||
Table Create Table
|
||||
T1 CREATE TABLE `T1` (
|
||||
|
@ -1154,3 +1150,4 @@ T1 CREATE TABLE `T1` (
|
|||
`C2` char(10) DEFAULT NULL,
|
||||
PRIMARY KEY (`C1`)
|
||||
) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=latin1
|
||||
DROP TABLE T1;
|
||||
|
|
|
@ -629,14 +629,13 @@ CREATE TABLE T1(C1 DOUBLE AUTO_INCREMENT KEY, C2 CHAR(10)) ENGINE=InnoDB;
|
|||
INSERT INTO T1(C1, C2) VALUES (1, 'innodb'), (3, 'innodb');
|
||||
# Restart the server
|
||||
-- source include/restart_mysqld.inc
|
||||
INSERT INTO T1(C1) VALUES ('innodb');
|
||||
INSERT INTO T1(C2) VALUES ('innodb');
|
||||
SHOW CREATE TABLE T1;
|
||||
DROP TABLE T1;
|
||||
CREATE TABLE T1(C1 FLOAT AUTO_INCREMENT KEY, C2 CHAR(10)) ENGINE=InnoDB;
|
||||
INSERT INTO T1(C1, C2) VALUES (1, 'innodb'), (3, 'innodb');
|
||||
# Restart the server
|
||||
-- source include/restart_mysqld.inc
|
||||
INSERT INTO T1(C1) VALUES ('innodb');
|
||||
INSERT INTO T1(C2) VALUES ('innodb');
|
||||
SHOW CREATE TABLE T1;
|
||||
|
||||
|
||||
DROP TABLE T1;
|
||||
|
|
|
@ -4536,18 +4536,20 @@ row_search_autoinc_read_column(
|
|||
data = rec_get_nth_field((rec_t*)rec, offsets, col_no, &len);
|
||||
|
||||
ut_a(len != UNIV_SQL_NULL);
|
||||
ut_a(len <= sizeof value);
|
||||
|
||||
switch (mtype) {
|
||||
case DATA_INT:
|
||||
ut_a(len <= sizeof value);
|
||||
value = mach_read_int_type(data, len, unsigned_type);
|
||||
break;
|
||||
|
||||
case DATA_FLOAT:
|
||||
ut_a(len == sizeof(float));
|
||||
value = mach_float_read(data);
|
||||
break;
|
||||
|
||||
case DATA_DOUBLE:
|
||||
ut_a(len == sizeof(double));
|
||||
value = mach_double_read(data);
|
||||
break;
|
||||
|
||||
|
@ -4642,7 +4644,7 @@ row_search_max_autoinc(
|
|||
|
||||
*value = row_search_autoinc_read_column(
|
||||
index, rec, i,
|
||||
dfield->col->mtype, unsigned_type);
|
||||
dfield->col->mtype, unsigned_type);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue