mirror of
https://github.com/MariaDB/server.git
synced 2025-01-16 12:02:42 +01:00
Merge bk-internal.mysql.com:/home/bk/mysql-5.0
into chilla.local:/home/mydev/mysql-5.0-axmrg configure.in: Auto merged sql/sql_class.h: Auto merged
This commit is contained in:
commit
d6bc366f44
13 changed files with 140 additions and 85 deletions
|
@ -7,7 +7,7 @@ AC_INIT(sql/mysqld.cc)
|
|||
AC_CANONICAL_SYSTEM
|
||||
# The Docs Makefile.am parses this line!
|
||||
# remember to also change ndb version below and update version.c in ndb
|
||||
AM_INIT_AUTOMAKE(mysql, 5.0.32)
|
||||
AM_INIT_AUTOMAKE(mysql, 5.0.34)
|
||||
AM_CONFIG_HEADER(config.h)
|
||||
|
||||
PROTOCOL_VERSION=10
|
||||
|
|
|
@ -98,7 +98,7 @@ install-data-local:
|
|||
$(INSTALL_DATA) $(srcdir)/std_data/Moscow_leap $(DESTDIR)$(testdir)/std_data
|
||||
$(INSTALL_DATA) $(srcdir)/std_data/*.pem $(DESTDIR)$(testdir)/std_data
|
||||
$(INSTALL_DATA) $(srcdir)/std_data/*.frm $(DESTDIR)$(testdir)/std_data
|
||||
$(INSTALL_DATA) $(srcdir)/std_data/*.MY* $(distdir)/std_data
|
||||
$(INSTALL_DATA) $(srcdir)/std_data/*.MY* $(DESTDIR)$(testdir)/std_data
|
||||
$(INSTALL_DATA) $(srcdir)/std_data/*.cnf $(DESTDIR)$(testdir)/std_data
|
||||
$(INSTALL_DATA) $(srcdir)/lib/init_db.sql $(DESTDIR)$(testdir)/lib
|
||||
$(INSTALL_DATA) $(srcdir)/lib/*.pl $(DESTDIR)$(testdir)/lib
|
||||
|
|
|
@ -10,10 +10,16 @@ use Fcntl ':flock';
|
|||
# Requested IDs are stored in a hash and released upon END.
|
||||
#
|
||||
my %mtr_unique_assigned_ids = ();
|
||||
my $mtr_unique_pid;
|
||||
BEGIN {
|
||||
$mtr_unique_pid = $$ unless defined $mtr_unique_pid;
|
||||
}
|
||||
END {
|
||||
while(my ($id,$file) = each(%mtr_unique_assigned_ids)) {
|
||||
print "Autoreleasing $file:$id\n";
|
||||
mtr_release_unique_id($file, $id);
|
||||
if($mtr_unique_pid == $$) {
|
||||
while(my ($id,$file) = each(%mtr_unique_assigned_ids)) {
|
||||
print "Autoreleasing $file:$id\n";
|
||||
mtr_release_unique_id($file, $id);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -673,6 +673,22 @@ POINT(10 10)
|
|||
select (asWKT(geomfromwkb((0x010100000000000000000024400000000000002440))));
|
||||
(asWKT(geomfromwkb((0x010100000000000000000024400000000000002440))))
|
||||
POINT(10 10)
|
||||
create table t1 (g GEOMETRY);
|
||||
select * from t1;
|
||||
Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
|
||||
def test t1 t1 g g 255 4294967295 0 Y 144 0 63
|
||||
g
|
||||
select asbinary(g) from t1;
|
||||
Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
|
||||
def asbinary(g) 252 8192 0 Y 128 0 63
|
||||
asbinary(g)
|
||||
drop table t1;
|
||||
create table t1 (a TEXT, b GEOMETRY NOT NULL, SPATIAL KEY(b));
|
||||
alter table t1 disable keys;
|
||||
load data infile '../std_data_ln/bad_gis_data.dat' into table t1;
|
||||
ERROR 22004: Column was set to data type implicit default; NULL supplied for NOT NULL column 'b' at row 1
|
||||
alter table t1 enable keys;
|
||||
drop table t1;
|
||||
create table t1 (s1 geometry not null,s2 char(100));
|
||||
create trigger t1_bu before update on t1 for each row set new.s1 = null;
|
||||
insert into t1 values (null,null);
|
||||
|
@ -696,16 +712,6 @@ alter table t1 add primary key pti(pt);
|
|||
ERROR 42000: BLOB/TEXT column 'pt' used in key specification without a key length
|
||||
alter table t1 add primary key pti(pt(20));
|
||||
drop table t1;
|
||||
create table t1 (g GEOMETRY);
|
||||
select * from t1;
|
||||
Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
|
||||
def test t1 t1 g g 255 4294967295 0 Y 144 0 63
|
||||
g
|
||||
select asbinary(g) from t1;
|
||||
Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
|
||||
def asbinary(g) 252 8192 0 Y 128 0 63
|
||||
asbinary(g)
|
||||
drop table t1;
|
||||
create table t1 select GeomFromText('point(1 1)');
|
||||
desc t1;
|
||||
Field Type Null Key Default Extra
|
||||
|
|
1
mysql-test/std_data/bad_gis_data.dat
Normal file
1
mysql-test/std_data/bad_gis_data.dat
Normal file
|
@ -0,0 +1 @@
|
|||
foo
|
|
@ -375,6 +375,20 @@ drop table t1;
|
|||
select (asWKT(geomfromwkb((0x000000000140240000000000004024000000000000))));
|
||||
select (asWKT(geomfromwkb((0x010100000000000000000024400000000000002440))));
|
||||
|
||||
--enable_metadata
|
||||
create table t1 (g GEOMETRY);
|
||||
select * from t1;
|
||||
select asbinary(g) from t1;
|
||||
--disable_metadata
|
||||
drop table t1;
|
||||
|
||||
create table t1 (a TEXT, b GEOMETRY NOT NULL, SPATIAL KEY(b));
|
||||
alter table t1 disable keys;
|
||||
--error 1263
|
||||
load data infile '../std_data_ln/bad_gis_data.dat' into table t1;
|
||||
alter table t1 enable keys;
|
||||
drop table t1;
|
||||
|
||||
# End of 4.1 tests
|
||||
|
||||
#
|
||||
|
@ -410,15 +424,7 @@ alter table t1 add primary key pti(pt);
|
|||
alter table t1 add primary key pti(pt(20));
|
||||
drop table t1;
|
||||
|
||||
--enable_metadata
|
||||
create table t1 (g GEOMETRY);
|
||||
select * from t1;
|
||||
select asbinary(g) from t1;
|
||||
--disable_metadata
|
||||
drop table t1;
|
||||
|
||||
|
||||
create table t1 select GeomFromText('point(1 1)');
|
||||
desc t1;
|
||||
drop table t1;
|
||||
|
||||
|
|
|
@ -115,6 +115,7 @@ SUFFIXES = .sh
|
|||
-e 's!@''pkglibdir''@!$(pkglibdir)!g' \
|
||||
-e 's!@''pkgincludedir''@!$(pkgincludedir)!g' \
|
||||
-e 's!@''pkgdatadir''@!$(pkgdatadir)!g' \
|
||||
-e 's!@''sysconfdir''@!$(sysconfdir)!g' \
|
||||
-e 's!@''CC''@!@CC@!'\
|
||||
-e 's!@''CXX''@!@CXX@!'\
|
||||
-e 's!@''GXX''@!@GXX@!'\
|
||||
|
|
|
@ -462,8 +462,8 @@ MySQLaccess::Report::Print_Header();
|
|||
if (-f "./$script_conf") {
|
||||
require "./$script_conf";
|
||||
}
|
||||
elsif (-f "/etc/$script_conf") {
|
||||
require "/etc/$script_conf";
|
||||
elsif (-f "@sysconfdir@/$script_conf") {
|
||||
require "@sysconfdir@/$script_conf";
|
||||
}
|
||||
|
||||
# ****************************
|
||||
|
@ -929,7 +929,7 @@ sub MergeConfigFile {
|
|||
# =================================
|
||||
sub MergeConfigFiles {
|
||||
my ($name,$pass,$uid,$gid,$quota,$comment,$gcos,$dir,$shell) = getpwuid $<;
|
||||
MergeConfigFile("/etc/my.cnf");
|
||||
MergeConfigFile("@sysconfdir@/my.cnf");
|
||||
MergeConfigFile("$dir/.my.cnf");
|
||||
}
|
||||
|
||||
|
|
|
@ -464,9 +464,9 @@ sub find_groups
|
|||
}
|
||||
else
|
||||
{
|
||||
if (-f "/etc/my.cnf" && -r "/etc/my.cnf")
|
||||
if (-f "@sysconfdir@/my.cnf" && -r "@sysconfdir@/my.cnf")
|
||||
{
|
||||
open(MY_CNF, "</etc/my.cnf") && (@tmp=<MY_CNF>) && close(MY_CNF);
|
||||
open(MY_CNF, "<@sysconfdir@/my.cnf") && (@tmp=<MY_CNF>) && close(MY_CNF);
|
||||
}
|
||||
for ($i = 0; ($line = shift @tmp); $i++)
|
||||
{
|
||||
|
@ -703,7 +703,7 @@ sub example
|
|||
# (as per Linux/Unix standard). You may even replace the
|
||||
# /etc/init.d/mysql.server script with it.
|
||||
#
|
||||
# Before using, you must create a my.cnf file either in /etc/my.cnf
|
||||
# Before using, you must create a my.cnf file either in @sysconfdir@/my.cnf
|
||||
# or /root/.my.cnf and add the [mysqld_multi] and [mysqld#] groups.
|
||||
#
|
||||
# The script can be found from support-files/mysqld_multi.server.sh
|
||||
|
|
|
@ -1569,10 +1569,11 @@ void Field_null::sql_type(String &res) const
|
|||
This is an number stored as a pre-space (or pre-zero) string
|
||||
****************************************************************************/
|
||||
|
||||
void
|
||||
int
|
||||
Field_decimal::reset(void)
|
||||
{
|
||||
Field_decimal::store(STRING_WITH_LEN("0"),&my_charset_bin);
|
||||
return 0;
|
||||
}
|
||||
|
||||
void Field_decimal::overflow(bool negative)
|
||||
|
@ -2217,9 +2218,10 @@ Field_new_decimal::Field_new_decimal(uint32 len_arg,
|
|||
}
|
||||
|
||||
|
||||
void Field_new_decimal::reset(void)
|
||||
int Field_new_decimal::reset(void)
|
||||
{
|
||||
store_value(&decimal_zero);
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
|
|
117
sql/field.h
117
sql/field.h
|
@ -150,7 +150,7 @@ public:
|
|||
*/
|
||||
virtual uint32 data_length(const char *from) { return pack_length(); }
|
||||
virtual uint32 sort_length() const { return pack_length(); }
|
||||
virtual void reset(void) { bzero(ptr,pack_length()); }
|
||||
virtual int reset(void) { bzero(ptr,pack_length()); return 0; }
|
||||
virtual void reset_fields() {}
|
||||
virtual void set_default()
|
||||
{
|
||||
|
@ -450,10 +450,10 @@ public:
|
|||
enum_field_types type() const { return FIELD_TYPE_DECIMAL;}
|
||||
enum ha_base_keytype key_type() const
|
||||
{ return zerofill ? HA_KEYTYPE_BINARY : HA_KEYTYPE_NUM; }
|
||||
void reset(void);
|
||||
int store(const char *to,uint length,CHARSET_INFO *charset);
|
||||
int store(double nr);
|
||||
int store(longlong nr, bool unsigned_val);
|
||||
int reset(void);
|
||||
int store(const char *to,uint length,CHARSET_INFO *charset);
|
||||
int store(double nr);
|
||||
int store(longlong nr, bool unsigned_val);
|
||||
double val_real(void);
|
||||
longlong val_int(void);
|
||||
String *val_str(String*,String *);
|
||||
|
@ -490,7 +490,7 @@ public:
|
|||
enum_field_types type() const { return FIELD_TYPE_NEWDECIMAL;}
|
||||
enum ha_base_keytype key_type() const { return HA_KEYTYPE_BINARY; }
|
||||
Item_result result_type () const { return DECIMAL_RESULT; }
|
||||
void reset(void);
|
||||
int reset(void);
|
||||
bool store_value(const my_decimal *decimal_value);
|
||||
void set_value_on_overflow(my_decimal *decimal_value, bool sign);
|
||||
int store(const char *to, uint length, CHARSET_INFO *charset);
|
||||
|
@ -527,10 +527,10 @@ public:
|
|||
enum_field_types type() const { return FIELD_TYPE_TINY;}
|
||||
enum ha_base_keytype key_type() const
|
||||
{ return unsigned_flag ? HA_KEYTYPE_BINARY : HA_KEYTYPE_INT8; }
|
||||
int store(const char *to,uint length,CHARSET_INFO *charset);
|
||||
int store(double nr);
|
||||
int store(longlong nr, bool unsigned_val);
|
||||
void reset(void) { ptr[0]=0; }
|
||||
int store(const char *to,uint length,CHARSET_INFO *charset);
|
||||
int store(double nr);
|
||||
int store(longlong nr, bool unsigned_val);
|
||||
int reset(void) { ptr[0]=0; return 0; }
|
||||
double val_real(void);
|
||||
longlong val_int(void);
|
||||
String *val_str(String*,String *);
|
||||
|
@ -563,10 +563,10 @@ public:
|
|||
enum_field_types type() const { return FIELD_TYPE_SHORT;}
|
||||
enum ha_base_keytype key_type() const
|
||||
{ return unsigned_flag ? HA_KEYTYPE_USHORT_INT : HA_KEYTYPE_SHORT_INT;}
|
||||
int store(const char *to,uint length,CHARSET_INFO *charset);
|
||||
int store(double nr);
|
||||
int store(longlong nr, bool unsigned_val);
|
||||
void reset(void) { ptr[0]=ptr[1]=0; }
|
||||
int store(const char *to,uint length,CHARSET_INFO *charset);
|
||||
int store(double nr);
|
||||
int store(longlong nr, bool unsigned_val);
|
||||
int reset(void) { ptr[0]=ptr[1]=0; return 0; }
|
||||
double val_real(void);
|
||||
longlong val_int(void);
|
||||
String *val_str(String*,String *);
|
||||
|
@ -594,10 +594,10 @@ public:
|
|||
enum_field_types type() const { return FIELD_TYPE_INT24;}
|
||||
enum ha_base_keytype key_type() const
|
||||
{ return unsigned_flag ? HA_KEYTYPE_UINT24 : HA_KEYTYPE_INT24; }
|
||||
int store(const char *to,uint length,CHARSET_INFO *charset);
|
||||
int store(double nr);
|
||||
int store(const char *to,uint length,CHARSET_INFO *charset);
|
||||
int store(double nr);
|
||||
int store(longlong nr, bool unsigned_val);
|
||||
void reset(void) { ptr[0]=ptr[1]=ptr[2]=0; }
|
||||
int reset(void) { ptr[0]=ptr[1]=ptr[2]=0; return 0; }
|
||||
double val_real(void);
|
||||
longlong val_int(void);
|
||||
String *val_str(String*,String *);
|
||||
|
@ -630,10 +630,10 @@ public:
|
|||
enum_field_types type() const { return FIELD_TYPE_LONG;}
|
||||
enum ha_base_keytype key_type() const
|
||||
{ return unsigned_flag ? HA_KEYTYPE_ULONG_INT : HA_KEYTYPE_LONG_INT; }
|
||||
int store(const char *to,uint length,CHARSET_INFO *charset);
|
||||
int store(double nr);
|
||||
int store(longlong nr, bool unsigned_val);
|
||||
void reset(void) { ptr[0]=ptr[1]=ptr[2]=ptr[3]=0; }
|
||||
int store(const char *to,uint length,CHARSET_INFO *charset);
|
||||
int store(double nr);
|
||||
int store(longlong nr, bool unsigned_val);
|
||||
int reset(void) { ptr[0]=ptr[1]=ptr[2]=ptr[3]=0; return 0; }
|
||||
double val_real(void);
|
||||
longlong val_int(void);
|
||||
bool send_binary(Protocol *protocol);
|
||||
|
@ -668,10 +668,14 @@ public:
|
|||
enum_field_types type() const { return FIELD_TYPE_LONGLONG;}
|
||||
enum ha_base_keytype key_type() const
|
||||
{ return unsigned_flag ? HA_KEYTYPE_ULONGLONG : HA_KEYTYPE_LONGLONG; }
|
||||
int store(const char *to,uint length,CHARSET_INFO *charset);
|
||||
int store(double nr);
|
||||
int store(longlong nr, bool unsigned_val);
|
||||
void reset(void) { ptr[0]=ptr[1]=ptr[2]=ptr[3]=ptr[4]=ptr[5]=ptr[6]=ptr[7]=0; }
|
||||
int store(const char *to,uint length,CHARSET_INFO *charset);
|
||||
int store(double nr);
|
||||
int store(longlong nr, bool unsigned_val);
|
||||
int reset(void)
|
||||
{
|
||||
ptr[0]=ptr[1]=ptr[2]=ptr[3]=ptr[4]=ptr[5]=ptr[6]=ptr[7]=0;
|
||||
return 0;
|
||||
}
|
||||
double val_real(void);
|
||||
longlong val_int(void);
|
||||
String *val_str(String*,String *);
|
||||
|
@ -704,10 +708,10 @@ public:
|
|||
{}
|
||||
enum_field_types type() const { return FIELD_TYPE_FLOAT;}
|
||||
enum ha_base_keytype key_type() const { return HA_KEYTYPE_FLOAT; }
|
||||
int store(const char *to,uint length,CHARSET_INFO *charset);
|
||||
int store(double nr);
|
||||
int store(longlong nr, bool unsigned_val);
|
||||
void reset(void) { bzero(ptr,sizeof(float)); }
|
||||
int store(const char *to,uint length,CHARSET_INFO *charset);
|
||||
int store(double nr);
|
||||
int store(longlong nr, bool unsigned_val);
|
||||
int reset(void) { bzero(ptr,sizeof(float)); return 0; }
|
||||
double val_real(void);
|
||||
longlong val_int(void);
|
||||
String *val_str(String*,String *);
|
||||
|
@ -741,7 +745,7 @@ public:
|
|||
int store(const char *to,uint length,CHARSET_INFO *charset);
|
||||
int store(double nr);
|
||||
int store(longlong nr, bool unsigned_val);
|
||||
void reset(void) { bzero(ptr,sizeof(double)); }
|
||||
int reset(void) { bzero(ptr,sizeof(double)); return 0; }
|
||||
double val_real(void);
|
||||
longlong val_int(void);
|
||||
String *val_str(String*,String *);
|
||||
|
@ -768,10 +772,10 @@ public:
|
|||
enum_field_types type() const { return FIELD_TYPE_NULL;}
|
||||
int store(const char *to, uint length, CHARSET_INFO *cs)
|
||||
{ null[0]=1; return 0; }
|
||||
int store(double nr) { null[0]=1; return 0; }
|
||||
int store(longlong nr, bool unsigned_val) { null[0]=1; return 0; }
|
||||
int store_decimal(const my_decimal *d) { null[0]=1; return 0; }
|
||||
void reset(void) {}
|
||||
int store(double nr) { null[0]=1; return 0; }
|
||||
int store(longlong nr, bool unsigned_val) { null[0]=1; return 0; }
|
||||
int store_decimal(const my_decimal *d) { null[0]=1; return 0; }
|
||||
int reset(void) { return 0; }
|
||||
double val_real(void) { return 0.0;}
|
||||
longlong val_int(void) { return 0;}
|
||||
my_decimal *val_decimal(my_decimal *) { return 0; }
|
||||
|
@ -801,7 +805,7 @@ public:
|
|||
int store(const char *to,uint length,CHARSET_INFO *charset);
|
||||
int store(double nr);
|
||||
int store(longlong nr, bool unsigned_val);
|
||||
void reset(void) { ptr[0]=ptr[1]=ptr[2]=ptr[3]=0; }
|
||||
int reset(void) { ptr[0]=ptr[1]=ptr[2]=ptr[3]=0; return 0; }
|
||||
double val_real(void);
|
||||
longlong val_int(void);
|
||||
String *val_str(String*,String *);
|
||||
|
@ -877,10 +881,10 @@ public:
|
|||
enum_field_types type() const { return FIELD_TYPE_DATE;}
|
||||
enum ha_base_keytype key_type() const { return HA_KEYTYPE_ULONG_INT; }
|
||||
enum Item_result cmp_type () const { return INT_RESULT; }
|
||||
int store(const char *to,uint length,CHARSET_INFO *charset);
|
||||
int store(double nr);
|
||||
int store(longlong nr, bool unsigned_val);
|
||||
void reset(void) { ptr[0]=ptr[1]=ptr[2]=ptr[3]=0; }
|
||||
int store(const char *to,uint length,CHARSET_INFO *charset);
|
||||
int store(double nr);
|
||||
int store(longlong nr, bool unsigned_val);
|
||||
int reset(void) { ptr[0]=ptr[1]=ptr[2]=ptr[3]=0; return 0; }
|
||||
double val_real(void);
|
||||
longlong val_int(void);
|
||||
String *val_str(String*,String *);
|
||||
|
@ -909,7 +913,7 @@ public:
|
|||
int store(double nr);
|
||||
int store(longlong nr, bool unsigned_val);
|
||||
int store_time(TIME *ltime, timestamp_type type);
|
||||
void reset(void) { ptr[0]=ptr[1]=ptr[2]=0; }
|
||||
int reset(void) { ptr[0]=ptr[1]=ptr[2]=0; return 0; }
|
||||
double val_real(void);
|
||||
longlong val_int(void);
|
||||
String *val_str(String*,String *);
|
||||
|
@ -941,10 +945,10 @@ public:
|
|||
enum ha_base_keytype key_type() const { return HA_KEYTYPE_INT24; }
|
||||
enum Item_result cmp_type () const { return INT_RESULT; }
|
||||
int store_time(TIME *ltime, timestamp_type type);
|
||||
int store(const char *to,uint length,CHARSET_INFO *charset);
|
||||
int store(double nr);
|
||||
int store(longlong nr, bool unsigned_val);
|
||||
void reset(void) { ptr[0]=ptr[1]=ptr[2]=0; }
|
||||
int store(const char *to,uint length,CHARSET_INFO *charset);
|
||||
int store(double nr);
|
||||
int store(longlong nr, bool unsigned_val);
|
||||
int reset(void) { ptr[0]=ptr[1]=ptr[2]=0; return 0; }
|
||||
double val_real(void);
|
||||
longlong val_int(void);
|
||||
String *val_str(String*,String *);
|
||||
|
@ -982,7 +986,11 @@ public:
|
|||
int store(double nr);
|
||||
int store(longlong nr, bool unsigned_val);
|
||||
int store_time(TIME *ltime, timestamp_type type);
|
||||
void reset(void) { ptr[0]=ptr[1]=ptr[2]=ptr[3]=ptr[4]=ptr[5]=ptr[6]=ptr[7]=0; }
|
||||
int reset(void)
|
||||
{
|
||||
ptr[0]=ptr[1]=ptr[2]=ptr[3]=ptr[4]=ptr[5]=ptr[6]=ptr[7]=0;
|
||||
return 0;
|
||||
}
|
||||
double val_real(void);
|
||||
longlong val_int(void);
|
||||
String *val_str(String*,String *);
|
||||
|
@ -1025,9 +1033,13 @@ public:
|
|||
enum ha_base_keytype key_type() const
|
||||
{ return binary() ? HA_KEYTYPE_BINARY : HA_KEYTYPE_TEXT; }
|
||||
bool zero_pack() const { return 0; }
|
||||
void reset(void) { charset()->cset->fill(charset(),ptr,field_length,' '); }
|
||||
int store(const char *to,uint length,CHARSET_INFO *charset);
|
||||
int store(longlong nr, bool unsigned_val);
|
||||
int reset(void)
|
||||
{
|
||||
charset()->cset->fill(charset(),ptr,field_length,' ');
|
||||
return 0;
|
||||
}
|
||||
int store(const char *to,uint length,CHARSET_INFO *charset);
|
||||
int store(longlong nr, bool unsigned_val);
|
||||
int store(double nr) { return Field_str::store(nr); } /* QQ: To be deleted */
|
||||
double val_real(void);
|
||||
longlong val_int(void);
|
||||
|
@ -1082,7 +1094,7 @@ public:
|
|||
enum_field_types type() const { return MYSQL_TYPE_VARCHAR; }
|
||||
enum ha_base_keytype key_type() const;
|
||||
bool zero_pack() const { return 0; }
|
||||
void reset(void) { bzero(ptr,field_length+length_bytes); }
|
||||
int reset(void) { bzero(ptr,field_length+length_bytes); return 0; }
|
||||
uint32 pack_length() const { return (uint32) field_length+length_bytes; }
|
||||
uint32 key_length() const { return (uint32) field_length; }
|
||||
uint32 sort_length() const
|
||||
|
@ -1183,7 +1195,7 @@ public:
|
|||
{
|
||||
return (uint32) (((ulonglong) 1 << (packlength*8)) -1);
|
||||
}
|
||||
void reset(void) { bzero(ptr, packlength+sizeof(char*)); }
|
||||
int reset(void) { bzero(ptr, packlength+sizeof(char*)); return 0; }
|
||||
void reset_fields() { bzero((char*) &value,sizeof(value)); }
|
||||
void store_length(uint32 number);
|
||||
inline uint32 get_length(uint row_offset=0)
|
||||
|
@ -1264,6 +1276,7 @@ public:
|
|||
int store_decimal(const my_decimal *);
|
||||
void get_key_image(char *buff,uint length,imagetype type);
|
||||
uint size_of() const { return sizeof(*this); }
|
||||
int reset(void) { return !maybe_null(); }
|
||||
};
|
||||
#endif /*HAVE_SPATIAL*/
|
||||
|
||||
|
@ -1292,7 +1305,7 @@ public:
|
|||
int store(const char *to,uint length,CHARSET_INFO *charset);
|
||||
int store(double nr);
|
||||
int store(longlong nr, bool unsigned_val);
|
||||
void reset() { bzero(ptr,packlength); }
|
||||
int reset() { bzero(ptr,packlength); return 0; }
|
||||
double val_real(void);
|
||||
longlong val_int(void);
|
||||
String *val_str(String*,String *);
|
||||
|
@ -1353,7 +1366,7 @@ public:
|
|||
uint32 max_length() { return field_length; }
|
||||
uint size_of() const { return sizeof(*this); }
|
||||
Item_result result_type () const { return INT_RESULT; }
|
||||
void reset(void) { bzero(ptr, bytes_in_rec); }
|
||||
int reset(void) { bzero(ptr, bytes_in_rec); return 0; }
|
||||
int store(const char *to, uint length, CHARSET_INFO *charset);
|
||||
int store(double nr);
|
||||
int store(longlong nr, bool unsigned_val);
|
||||
|
|
|
@ -696,7 +696,12 @@ read_sep_field(THD *thd, COPY_INFO &info, TABLE_LIST *table_list,
|
|||
if (item->type() == Item::FIELD_ITEM)
|
||||
{
|
||||
Field *field= ((Item_field *)item)->field;
|
||||
field->reset();
|
||||
if (field->reset())
|
||||
{
|
||||
my_error(ER_WARN_NULL_TO_NOTNULL, MYF(0), field->field_name,
|
||||
thd->row_count);
|
||||
DBUG_RETURN(1);
|
||||
}
|
||||
field->set_null();
|
||||
if (field == table->next_number_field)
|
||||
table->auto_increment_field_not_null= TRUE;
|
||||
|
@ -745,6 +750,13 @@ read_sep_field(THD *thd, COPY_INFO &info, TABLE_LIST *table_list,
|
|||
{
|
||||
if (item->type() == Item::FIELD_ITEM)
|
||||
{
|
||||
Field *field= ((Item_field *)item)->field;
|
||||
if (field->reset())
|
||||
{
|
||||
my_error(ER_WARN_NULL_TO_NOTNULL, MYF(0),field->field_name,
|
||||
thd->row_count);
|
||||
DBUG_RETURN(1);
|
||||
}
|
||||
/*
|
||||
QQ: We probably should not throw warning for each field.
|
||||
But how about intention to always have the same number
|
||||
|
|
|
@ -575,6 +575,7 @@ fi
|
|||
|
||||
%doc %attr(644, root, root) %{_infodir}/mysql.info*
|
||||
|
||||
%doc %attr(644, root, man) %{_mandir}/man1/my_print_defaults.1*
|
||||
%doc %attr(644, root, man) %{_mandir}/man1/myisam_ftdump.1*
|
||||
%doc %attr(644, root, man) %{_mandir}/man1/myisamchk.1*
|
||||
%doc %attr(644, root, man) %{_mandir}/man1/myisamlog.1*
|
||||
|
@ -587,8 +588,9 @@ fi
|
|||
%doc %attr(644, root, man) %{_mandir}/man1/mysql_upgrade.1*
|
||||
%doc %attr(644, root, man) %{_mandir}/man1/mysqlhotcopy.1*
|
||||
%doc %attr(644, root, man) %{_mandir}/man1/mysqlman.1*
|
||||
%doc %attr(644, root, man) %{_mandir}/man1/mysqlmanager.1*
|
||||
%doc %attr(644, root, man) %{_mandir}/man1/mysqlmanager.8*
|
||||
%doc %attr(644, root, man) %{_mandir}/man1/mysql.server.1*
|
||||
%doc %attr(644, root, man) %{_mandir}/man1/mysql_tzinfo_to_sql.1*
|
||||
%doc %attr(644, root, man) %{_mandir}/man1/mysql_zap.1*
|
||||
%doc %attr(644, root, man) %{_mandir}/man1/perror.1*
|
||||
%doc %attr(644, root, man) %{_mandir}/man1/replace.1*
|
||||
|
@ -753,6 +755,12 @@ fi
|
|||
# itself - note that they must be ordered by date (important when
|
||||
# merging BK trees)
|
||||
%changelog
|
||||
* Thu Dec 14 2006 Joerg Bruehe <joerg@mysql.com>
|
||||
|
||||
- Include the new man pages for "my_print_defaults" and "mysql_tzinfo_to_sql"
|
||||
in the server RPM.
|
||||
- The "mysqlmanager" man page got moved from section 1 to 8.
|
||||
|
||||
* Thu Nov 16 2006 Joerg Bruehe <joerg@mysql.com>
|
||||
|
||||
- Explicitly note that the "MySQL-shared" RPMs (as built by MySQL AB)
|
||||
|
|
Loading…
Reference in a new issue