mirror of
https://github.com/MariaDB/server.git
synced 2025-08-07 00:04:31 +03:00
Merge bk-internal.mysql.com:/home/bk/mysql-4.1
into zippy.cornsilk.net:/home/cmiller/work/mysql/mysql-4.1-maint configure.in: Auto merged mysql-test/r/range.result: Auto merged mysql-test/t/range.test: Auto merged
This commit is contained in:
16
configure.in
16
configure.in
@@ -14,6 +14,10 @@ DOT_FRM_VERSION=6
|
||||
SHARED_LIB_MAJOR_VERSION=14
|
||||
SHARED_LIB_VERSION=$SHARED_LIB_MAJOR_VERSION:0:0
|
||||
|
||||
NDB_SHARED_LIB_MAJOR_VERSION=1
|
||||
NDB_SHARED_LIB_VERSION=$NDB_SHARED_LIB_MAJOR_VERSION:0:0
|
||||
|
||||
|
||||
# ndb version
|
||||
NDB_VERSION_MAJOR=4
|
||||
NDB_VERSION_MINOR=1
|
||||
@@ -73,6 +77,9 @@ AC_DEFINE_UNQUOTED([DOT_FRM_VERSION], [$DOT_FRM_VERSION],
|
||||
[Version of .frm files])
|
||||
AC_SUBST(SHARED_LIB_MAJOR_VERSION)
|
||||
AC_SUBST(SHARED_LIB_VERSION)
|
||||
AC_SUBST(NDB_SHARED_LIB_MAJOR_VERSION)
|
||||
AC_SUBST(NDB_SHARED_LIB_VERSION)
|
||||
|
||||
AC_SUBST(AVAILABLE_LANGUAGES)
|
||||
AC_SUBST(AVAILABLE_LANGUAGES_ERRORS)
|
||||
AC_SUBST_FILE(AVAILABLE_LANGUAGES_ERRORS_RULES)
|
||||
@@ -442,6 +449,15 @@ if $LD --version 2>/dev/null|grep -q GNU; then
|
||||
fi
|
||||
AC_SUBST(LD_VERSION_SCRIPT)
|
||||
|
||||
# libndbclient versioning when linked with GNU ld.
|
||||
if $LD --version 2>/dev/null|grep -q GNU; then
|
||||
NDB_LD_VERSION_SCRIPT="-Wl,--version-script=\$(top_builddir)/ndb/src/libndb.ver"
|
||||
AC_CONFIG_FILES(ndb/src/libndb.ver)
|
||||
fi
|
||||
AC_SUBST(NDB_LD_VERSION_SCRIPT)
|
||||
|
||||
|
||||
|
||||
# Avoid bug in fcntl on some versions of linux
|
||||
AC_MSG_CHECKING([if we should use 'skip-external-locking' as default for $target_os])
|
||||
# Any wariation of Linux
|
||||
|
@@ -504,8 +504,8 @@ select count(*) from t1 where x = 18446744073709551601;
|
||||
count(*)
|
||||
1
|
||||
create table t2 (x bigint not null);
|
||||
insert into t2(x) values (0xfffffffffffffff0);
|
||||
insert into t2(x) values (0xfffffffffffffff1);
|
||||
insert into t2(x) values (-16);
|
||||
insert into t2(x) values (-15);
|
||||
select * from t2;
|
||||
x
|
||||
-16
|
||||
|
@@ -2819,3 +2819,20 @@ select min(key1) from t1 where key1 >= 0.3762 and rand() + 0.5 >= 0.5;
|
||||
min(key1)
|
||||
0.37619999051094
|
||||
DROP TABLE t1,t2;
|
||||
create table t1(a bigint unsigned, b bigint);
|
||||
insert into t1 values (0xfffffffffffffffff, 0xfffffffffffffffff),
|
||||
(0x10000000000000000, 0x10000000000000000),
|
||||
(0x8fffffffffffffff, 0x8fffffffffffffff);
|
||||
Warnings:
|
||||
Warning 1264 Data truncated; out of range for column 'a' at row 1
|
||||
Warning 1264 Data truncated; out of range for column 'b' at row 1
|
||||
Warning 1264 Data truncated; out of range for column 'a' at row 2
|
||||
Warning 1264 Data truncated; out of range for column 'b' at row 2
|
||||
Warning 1264 Data truncated; out of range for column 'b' at row 3
|
||||
select hex(a), hex(b) from t1;
|
||||
hex(a) hex(b)
|
||||
FFFFFFFFFFFFFFFF 7FFFFFFFFFFFFFFF
|
||||
FFFFFFFFFFFFFFFF 7FFFFFFFFFFFFFFF
|
||||
8FFFFFFFFFFFFFFF 7FFFFFFFFFFFFFFF
|
||||
drop table t1;
|
||||
End of 4.1 tests
|
||||
|
@@ -400,8 +400,8 @@ select count(*) from t1 where x = 18446744073709551601;
|
||||
|
||||
|
||||
create table t2 (x bigint not null);
|
||||
insert into t2(x) values (0xfffffffffffffff0);
|
||||
insert into t2(x) values (0xfffffffffffffff1);
|
||||
insert into t2(x) values (-16);
|
||||
insert into t2(x) values (-15);
|
||||
select * from t2;
|
||||
select count(*) from t2 where x>0;
|
||||
select count(*) from t2 where x=0;
|
||||
|
@@ -2342,4 +2342,15 @@ select min(key1) from t1 where key1 >= 0.3762 and rand() + 0.5 >= 0.5;
|
||||
DROP TABLE t1,t2;
|
||||
--enable_ps_protocol
|
||||
|
||||
# End of 4.1 tests
|
||||
#
|
||||
# Bug #22533: storing large hex strings
|
||||
#
|
||||
|
||||
create table t1(a bigint unsigned, b bigint);
|
||||
insert into t1 values (0xfffffffffffffffff, 0xfffffffffffffffff),
|
||||
(0x10000000000000000, 0x10000000000000000),
|
||||
(0x8fffffffffffffff, 0x8fffffffffffffff);
|
||||
select hex(a), hex(b) from t1;
|
||||
drop table t1;
|
||||
|
||||
--echo End of 4.1 tests
|
||||
|
@@ -6,6 +6,8 @@ ndblib_LTLIBRARIES = libndbclient.la
|
||||
|
||||
libndbclient_la_SOURCES =
|
||||
|
||||
libndbclient_la_LDFLAGS = -version-info @NDB_SHARED_LIB_VERSION@ @NDB_LD_VERSION_SCRIPT@
|
||||
|
||||
libndbclient_la_LIBADD = \
|
||||
ndbapi/libndbapi.la \
|
||||
common/transporter/libtransporter.la \
|
||||
|
2
ndb/src/libndb.ver.in
Normal file
2
ndb/src/libndb.ver.in
Normal file
@@ -0,0 +1,2 @@
|
||||
libndbclient_@NDB_SHARED_LIB_MAJOR_VERSION@ { global: *; };
|
||||
|
25
sql/item.cc
25
sql/item.cc
@@ -2369,18 +2369,31 @@ longlong Item_varbinary::val_int()
|
||||
|
||||
int Item_varbinary::save_in_field(Field *field, bool no_conversions)
|
||||
{
|
||||
int error;
|
||||
field->set_notnull();
|
||||
if (field->result_type() == STRING_RESULT)
|
||||
return field->store(str_value.ptr(), str_value.length(),
|
||||
collation.collation);
|
||||
|
||||
ulonglong nr;
|
||||
uint32 length= str_value.length();
|
||||
if (length > 8)
|
||||
{
|
||||
error=field->store(str_value.ptr(),str_value.length(),collation.collation);
|
||||
nr= field->flags & UNSIGNED_FLAG ? ULONGLONG_MAX : LONGLONG_MAX;
|
||||
goto warn;
|
||||
}
|
||||
else
|
||||
nr= (ulonglong) val_int();
|
||||
if ((length == 8) && !(field->flags & UNSIGNED_FLAG) && (nr > LONGLONG_MAX))
|
||||
{
|
||||
longlong nr=val_int();
|
||||
error=field->store(nr);
|
||||
nr= LONGLONG_MAX;
|
||||
goto warn;
|
||||
}
|
||||
return error;
|
||||
return field->store((longlong) nr);
|
||||
|
||||
warn:
|
||||
if (!field->store((longlong) nr))
|
||||
field->set_warning(MYSQL_ERROR::WARN_LEVEL_WARN, ER_WARN_DATA_OUT_OF_RANGE,
|
||||
1);
|
||||
return 1;
|
||||
}
|
||||
|
||||
|
||||
|
Reference in New Issue
Block a user