Commit db4dc60d authored by monty@mysql.com's avatar monty@mysql.com

Merge bk-internal.mysql.com:/home/bk/mysql-5.0

into mysql.com:/home/my/mysql-5.0
parents e18bb16e dcae1d17
...@@ -67,7 +67,7 @@ MK_FUNDAMENTAL_TYPE(float) ...@@ -67,7 +67,7 @@ MK_FUNDAMENTAL_TYPE(float)
MK_FUNDAMENTAL_TYPE( double) MK_FUNDAMENTAL_TYPE( double)
MK_FUNDAMENTAL_TYPE(long double) MK_FUNDAMENTAL_TYPE(long double)
#ifdef WORD64_AVAILABLE #if defined(WORD64_AVAILABLE) && defined(WORD64_IS_DISTINCT_TYPE)
MK_FUNDAMENTAL_TYPE(word64) MK_FUNDAMENTAL_TYPE(word64)
#endif #endif
......
...@@ -45,10 +45,12 @@ typedef unsigned int word32; ...@@ -45,10 +45,12 @@ typedef unsigned int word32;
#if defined(__GNUC__) || defined(__MWERKS__) || defined(_LONGLONG_TYPE) #if defined(__GNUC__) || defined(__MWERKS__) || defined(_LONGLONG_TYPE)
#define WORD64_AVAILABLE #define WORD64_AVAILABLE
#define WORD64_IS_DISTINCT_TYPE
typedef unsigned long long word64; typedef unsigned long long word64;
#define W64LIT(x) x##LL #define W64LIT(x) x##LL
#elif defined(_MSC_VER) || defined(__BCPLUSPLUS__) #elif defined(_MSC_VER) || defined(__BCPLUSPLUS__)
#define WORD64_AVAILABLE #define WORD64_AVAILABLE
#define WORD64_IS_DISTINCT_TYPE
typedef unsigned __int64 word64; typedef unsigned __int64 word64;
#define W64LIT(x) x##ui64 #define W64LIT(x) x##ui64
#elif defined(__DECCXX) #elif defined(__DECCXX)
......
...@@ -149,7 +149,8 @@ unsigned long Crop(unsigned long value, unsigned int size) ...@@ -149,7 +149,8 @@ unsigned long Crop(unsigned long value, unsigned int size)
} }
#if !(defined(_MSC_VER) && (_MSC_VER < 1300)) #if !(defined(_MSC_VER) && (_MSC_VER < 1300)) && \
!(defined(__HP_aCC) && (__HP_aCC <= 35700))
using std::new_handler; using std::new_handler;
using std::set_new_handler; using std::set_new_handler;
#endif #endif
......
...@@ -392,7 +392,6 @@ inline double ulonglong2double(ulonglong value) ...@@ -392,7 +392,6 @@ inline double ulonglong2double(ulonglong value)
/* #undef HAVE_CHARSET_armscii8 */ /* #undef HAVE_CHARSET_armscii8 */
/* #undef HAVE_CHARSET_ascii */ /* #undef HAVE_CHARSET_ascii */
#define HAVE_CHARSET_big5 1 #define HAVE_CHARSET_big5 1
#define HAVE_CHARSET_cp932
#define HAVE_CHARSET_cp1250 1 #define HAVE_CHARSET_cp1250 1
/* #undef HAVE_CHARSET_cp1251 */ /* #undef HAVE_CHARSET_cp1251 */
/* #undef HAVE_CHARSET_cp1256 */ /* #undef HAVE_CHARSET_cp1256 */
......
...@@ -48,6 +48,7 @@ dist-hook: ...@@ -48,6 +48,7 @@ dist-hook:
mkdir -p $(distdir)/t $(distdir)/r $(distdir)/include \ mkdir -p $(distdir)/t $(distdir)/r $(distdir)/include \
$(distdir)/std_data $(distdir)/lib $(distdir)/std_data $(distdir)/lib
$(INSTALL_DATA) $(srcdir)/t/*.test $(distdir)/t $(INSTALL_DATA) $(srcdir)/t/*.test $(distdir)/t
$(INSTALL_DATA) $(srcdir)/t/*.sql $(distdir)/t
-$(INSTALL_DATA) $(srcdir)/t/*.disabled $(distdir)/t -$(INSTALL_DATA) $(srcdir)/t/*.disabled $(distdir)/t
$(INSTALL_DATA) $(srcdir)/t/*.opt $(srcdir)/t/*.sh $(srcdir)/t/*.slave-mi $(distdir)/t $(INSTALL_DATA) $(srcdir)/t/*.opt $(srcdir)/t/*.sh $(srcdir)/t/*.slave-mi $(distdir)/t
$(INSTALL_DATA) $(srcdir)/include/*.inc $(distdir)/include $(INSTALL_DATA) $(srcdir)/include/*.inc $(distdir)/include
......
...@@ -688,6 +688,21 @@ id select_type table type possible_keys key key_len ref rows Extra ...@@ -688,6 +688,21 @@ id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE NULL NULL NULL NULL NULL NULL NULL No tables used 1 SIMPLE NULL NULL NULL NULL NULL NULL NULL No tables used
Warnings: Warnings:
Note 1003 select timestamp_diff(WEEK,_latin1'2001-02-01',_latin1'2001-05-01') AS `a1`,timestamp_diff(SECOND_FRAC,_latin1'2001-02-01 12:59:59.120000',_latin1'2001-05-01 12:58:58.119999') AS `a2` Note 1003 select timestamp_diff(WEEK,_latin1'2001-02-01',_latin1'2001-05-01') AS `a1`,timestamp_diff(SECOND_FRAC,_latin1'2001-02-01 12:59:59.120000',_latin1'2001-05-01 12:58:58.119999') AS `a2`
select last_day('2005-00-00');
last_day('2005-00-00')
NULL
Warnings:
Warning 1292 Truncated incorrect datetime value: '2005-00-00'
select last_day('2005-00-01');
last_day('2005-00-01')
NULL
Warnings:
Warning 1292 Truncated incorrect datetime value: '2005-00-01'
select last_day('2005-01-00');
last_day('2005-01-00')
NULL
Warnings:
Warning 1292 Truncated incorrect datetime value: '2005-01-00'
select time_format('100:00:00', '%H %k %h %I %l'); select time_format('100:00:00', '%H %k %h %I %l');
time_format('100:00:00', '%H %k %h %I %l') time_format('100:00:00', '%H %k %h %I %l')
100 100 04 04 4 100 100 04 04 4
...@@ -458,3 +458,11 @@ select h from t1; ...@@ -458,3 +458,11 @@ select h from t1;
h h
a a
drop table t1; drop table t1;
create table t1 (a bit(8)) engine=heap;
insert into t1 values ('1111100000');
Warnings:
Warning 1264 Out of range value adjusted for column 'a' at row 1
select a+0 from t1;
a+0
255
drop table t1;
...@@ -337,6 +337,14 @@ DROP TABLE t1; ...@@ -337,6 +337,14 @@ DROP TABLE t1;
explain extended select timestampdiff(SQL_TSI_WEEK, '2001-02-01', '2001-05-01') as a1, explain extended select timestampdiff(SQL_TSI_WEEK, '2001-02-01', '2001-05-01') as a1,
timestampdiff(SQL_TSI_FRAC_SECOND, '2001-02-01 12:59:59.120000', '2001-05-01 12:58:58.119999') as a2; timestampdiff(SQL_TSI_FRAC_SECOND, '2001-02-01 12:59:59.120000', '2001-05-01 12:58:58.119999') as a2;
#
# Bug #10568
#
select last_day('2005-00-00');
select last_day('2005-00-01');
select last_day('2005-01-00');
# #
# Bug #10590: %h, %I, and %l format specifies should all return results in # Bug #10590: %h, %I, and %l format specifies should all return results in
# the 0-11 range # the 0-11 range
......
...@@ -162,3 +162,12 @@ create table t1 (a int, b time, c tinyint, d bool, e char(10), f bit(1), ...@@ -162,3 +162,12 @@ create table t1 (a int, b time, c tinyint, d bool, e char(10), f bit(1),
insert into t1 set a=1; insert into t1 set a=1;
select h from t1; select h from t1;
drop table t1; drop table t1;
#
# Bug #10539
#
create table t1 (a bit(8)) engine=heap;
insert into t1 values ('1111100000');
select a+0 from t1;
drop table t1;
...@@ -7835,7 +7835,7 @@ int Field_bit::store(const char *from, uint length, CHARSET_INFO *cs) ...@@ -7835,7 +7835,7 @@ int Field_bit::store(const char *from, uint length, CHARSET_INFO *cs)
int Field_bit::store(double nr) int Field_bit::store(double nr)
{ {
return (Field_bit::store((longlong) nr)); return store((longlong) nr);
} }
...@@ -8018,7 +8018,8 @@ int Field_bit_as_char::store(const char *from, uint length, CHARSET_INFO *cs) ...@@ -8018,7 +8018,8 @@ int Field_bit_as_char::store(const char *from, uint length, CHARSET_INFO *cs)
(delta == 0 && bits && (uint) (uchar) *from >= (uint) (1 << bits))) (delta == 0 && bits && (uint) (uchar) *from >= (uint) (1 << bits)))
{ {
memset(ptr, 0xff, field_length); memset(ptr, 0xff, field_length);
*ptr&= ((1 << bits) - 1); /* set first byte */ if (bits)
*ptr&= ((1 << bits) - 1); /* set first byte */
set_warning(MYSQL_ERROR::WARN_LEVEL_WARN, ER_WARN_DATA_OUT_OF_RANGE, 1); set_warning(MYSQL_ERROR::WARN_LEVEL_WARN, ER_WARN_DATA_OUT_OF_RANGE, 1);
return 1; return 1;
} }
......
...@@ -345,12 +345,11 @@ ...@@ -345,12 +345,11 @@
*/ */
#ifdef __GNUC__ #include "mysql_priv.h"
#ifdef USE_PRAGMA_IMPLEMENTATION
#pragma implementation // gcc: Class implementation #pragma implementation // gcc: Class implementation
#endif #endif
#include "mysql_priv.h"
#ifdef HAVE_FEDERATED_DB #ifdef HAVE_FEDERATED_DB
#include "ha_federated.h" #include "ha_federated.h"
#define MAX_REMOTE_SIZE IO_SIZE #define MAX_REMOTE_SIZE IO_SIZE
......
...@@ -21,7 +21,7 @@ ...@@ -21,7 +21,7 @@
that you can implement. that you can implement.
*/ */
#ifdef __GNUC__ #ifdef USE_PRAGMA_INTERFACE
#pragma interface /* gcc class implementation */ #pragma interface /* gcc class implementation */
#endif #endif
......
...@@ -3014,7 +3014,7 @@ String *Item_func_str_to_date::val_str(String *str) ...@@ -3014,7 +3014,7 @@ String *Item_func_str_to_date::val_str(String *str)
bool Item_func_last_day::get_date(TIME *ltime, uint fuzzy_date) bool Item_func_last_day::get_date(TIME *ltime, uint fuzzy_date)
{ {
if (get_arg0_date(ltime,fuzzy_date)) if (get_arg0_date(ltime, fuzzy_date & ~TIME_FUZZY_DATE))
return 1; return 1;
uint month_idx= ltime->month-1; uint month_idx= ltime->month-1;
ltime->day= days_in_month[month_idx]; ltime->day= days_in_month[month_idx];
......
...@@ -14,11 +14,10 @@ ...@@ -14,11 +14,10 @@
along with this program; if not, write to the Free Software along with this program; if not, write to the Free Software
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */
#include "mysql_priv.h"
#ifdef USE_PRAGMA_IMPLEMENTATION #ifdef USE_PRAGMA_IMPLEMENTATION
#pragma implementation #pragma implementation
#endif #endif
#include "mysql_priv.h"
#include "sp_cache.h" #include "sp_cache.h"
#include "sp_head.h" #include "sp_head.h"
......
...@@ -14,11 +14,10 @@ ...@@ -14,11 +14,10 @@
along with this program; if not, write to the Free Software along with this program; if not, write to the Free Software
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */
#include "mysql_priv.h"
#ifdef USE_PRAGMA_IMPLEMENTATION #ifdef USE_PRAGMA_IMPLEMENTATION
#pragma implementation #pragma implementation
#endif #endif
#include "mysql_priv.h"
#include "sp_head.h" #include "sp_head.h"
#include "sp.h" #include "sp.h"
#include "sp_pcontext.h" #include "sp_pcontext.h"
......
...@@ -14,6 +14,7 @@ ...@@ -14,6 +14,7 @@
along with this program; if not, write to the Free Software along with this program; if not, write to the Free Software
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */
#include "mysql_priv.h"
#ifdef USE_PRAGMA_IMPLEMENTATION #ifdef USE_PRAGMA_IMPLEMENTATION
#pragma implementation #pragma implementation
#endif #endif
...@@ -22,7 +23,6 @@ ...@@ -22,7 +23,6 @@
#undef SAFEMALLOC /* Problems with threads */ #undef SAFEMALLOC /* Problems with threads */
#endif #endif
#include "mysql_priv.h"
#include "sp_pcontext.h" #include "sp_pcontext.h"
#include "sp_head.h" #include "sp_head.h"
......
...@@ -14,6 +14,7 @@ ...@@ -14,6 +14,7 @@
along with this program; if not, write to the Free Software along with this program; if not, write to the Free Software
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */
#include "mysql_priv.h"
#ifdef USE_PRAGMA_IMPLEMENTATION #ifdef USE_PRAGMA_IMPLEMENTATION
#pragma implementation #pragma implementation
#endif #endif
...@@ -22,7 +23,6 @@ ...@@ -22,7 +23,6 @@
#undef SAFEMALLOC /* Problems with threads */ #undef SAFEMALLOC /* Problems with threads */
#endif #endif
#include "mysql_priv.h"
#include "mysql.h" #include "mysql.h"
#include "sp_head.h" #include "sp_head.h"
#include "sp_rcontext.h" #include "sp_rcontext.h"
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment