Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
M
mariadb
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
Kirill Smelkov
mariadb
Commits
6649a387
Commit
6649a387
authored
Dec 19, 2006
by
istruewing@chilla.local
Browse files
Options
Browse Files
Download
Plain Diff
Merge bk-internal.mysql.com:/home/bk/mysql-5.0
into chilla.local:/home/mydev/mysql-5.0-axmrg
parents
db88cf3d
1d6ff3a2
Changes
13
Hide whitespace changes
Inline
Side-by-side
Showing
13 changed files
with
140 additions
and
85 deletions
+140
-85
configure.in
configure.in
+1
-1
mysql-test/Makefile.am
mysql-test/Makefile.am
+1
-1
mysql-test/lib/mtr_unique.pl
mysql-test/lib/mtr_unique.pl
+9
-3
mysql-test/r/gis.result
mysql-test/r/gis.result
+16
-10
mysql-test/std_data/bad_gis_data.dat
mysql-test/std_data/bad_gis_data.dat
+1
-0
mysql-test/t/gis.test
mysql-test/t/gis.test
+14
-8
scripts/Makefile.am
scripts/Makefile.am
+1
-0
scripts/mysqlaccess.sh
scripts/mysqlaccess.sh
+3
-3
scripts/mysqld_multi.sh
scripts/mysqld_multi.sh
+3
-3
sql/field.cc
sql/field.cc
+4
-2
sql/field.h
sql/field.h
+65
-52
sql/sql_load.cc
sql/sql_load.cc
+13
-1
support-files/mysql.spec.sh
support-files/mysql.spec.sh
+9
-1
No files found.
configure.in
View file @
6649a387
...
...
@@ -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.3
2
)
AM_INIT_AUTOMAKE
(
mysql, 5.0.3
4
)
AM_CONFIG_HEADER
(
config.h
)
PROTOCOL_VERSION
=
10
...
...
mysql-test/Makefile.am
View file @
6649a387
...
...
@@ -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
*
$(
di
stdir)
/std_data
$(INSTALL_DATA)
$(srcdir)
/std_data/
*
.MY
*
$(
DESTDIR)$(te
stdir)
/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
...
...
mysql-test/lib/mtr_unique.pl
View file @
6649a387
...
...
@@ -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
);
}
}
}
...
...
mysql-test/r/gis.result
View file @
6649a387
...
...
@@ -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
...
...
mysql-test/std_data/bad_gis_data.dat
0 → 100644
View file @
6649a387
foo
mysql-test/t/gis.test
View file @
6649a387
...
...
@@ -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
;
scripts/Makefile.am
View file @
6649a387
...
...
@@ -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@!'
\
...
...
scripts/mysqlaccess.sh
View file @
6649a387
...
...
@@ -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"
)
;
}
...
...
scripts/mysqld_multi.sh
View file @
6649a387
...
...
@@ -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
...
...
sql/field.cc
View file @
6649a387
...
...
@@ -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
;
}
...
...
sql/field.h
View file @
6649a387
...
...
@@ -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
);
...
...
sql/sql_load.cc
View file @
6649a387
...
...
@@ -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
...
...
support-files/mysql.spec.sh
View file @
6649a387
...
...
@@ -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
)
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment