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
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
nexedi
MariaDB
Commits
f3f5eb5c
Commit
f3f5eb5c
authored
Dec 19, 2006
by
istruewing@chilla.local
Browse files
Options
Browse Files
Download
Plain Diff
Merge bk-internal.mysql.com:/home/bk/mysql-4.1
into chilla.local:/home/mydev/mysql-4.1-axmrg
parents
f92ae8d6
9b8c7ffc
Changes
11
Hide whitespace changes
Inline
Side-by-side
Showing
11 changed files
with
116 additions
and
64 deletions
+116
-64
mysql-test/lib/mtr_unique.pl
mysql-test/lib/mtr_unique.pl
+9
-3
mysql-test/r/gis.result
mysql-test/r/gis.result
+6
-0
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
+9
-2
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
+2
-1
sql/field.h
sql/field.h
+63
-50
sql/sql_load.cc
sql/sql_load.cc
+12
-2
support-files/mysql.spec.sh
support-files/mysql.spec.sh
+7
-0
No files found.
mysql-test/lib/mtr_unique.pl
View file @
f3f5eb5c
...
@@ -10,10 +10,16 @@ use Fcntl ':flock';
...
@@ -10,10 +10,16 @@ use Fcntl ':flock';
# Requested IDs are stored in a hash and released upon END.
# Requested IDs are stored in a hash and released upon END.
#
#
my
%
mtr_unique_assigned_ids
=
();
my
%
mtr_unique_assigned_ids
=
();
my
$mtr_unique_pid
;
BEGIN
{
$mtr_unique_pid
=
$$
unless
defined
$mtr_unique_pid
;
}
END
{
END
{
while
(
my
(
$id
,
$file
)
=
each
(
%
mtr_unique_assigned_ids
))
{
if
(
$mtr_unique_pid
==
$$
)
{
print
"
Autoreleasing
$file
:
$id
\n
";
while
(
my
(
$id
,
$file
)
=
each
(
%
mtr_unique_assigned_ids
))
{
mtr_release_unique_id
(
$file
,
$id
);
print
"
Autoreleasing
$file
:
$id
\n
";
mtr_release_unique_id
(
$file
,
$id
);
}
}
}
}
}
...
...
mysql-test/r/gis.result
View file @
f3f5eb5c
...
@@ -671,3 +671,9 @@ Catalog Database Table Table_alias Column Column_alias Type Length Max length Is
...
@@ -671,3 +671,9 @@ Catalog Database Table Table_alias Column Column_alias Type Length Max length Is
def asbinary(g) 252 8192 0 Y 128 0 63
def asbinary(g) 252 8192 0 Y 128 0 63
asbinary(g)
asbinary(g)
drop table t1;
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/bad_gis_data.dat' into table t1;
ERROR 01000: Data truncated; NULL supplied to NOT NULL column 'b' at row 1
alter table t1 enable keys;
drop table t1;
mysql-test/std_data/bad_gis_data.dat
0 → 100644
View file @
f3f5eb5c
foo
mysql-test/t/gis.test
View file @
f3f5eb5c
...
@@ -363,11 +363,18 @@ drop table t1;
...
@@ -363,11 +363,18 @@ drop table t1;
select
(
asWKT
(
geomfromwkb
((
0x000000000140240000000000004024000000000000
))));
select
(
asWKT
(
geomfromwkb
((
0x000000000140240000000000004024000000000000
))));
select
(
asWKT
(
geomfromwkb
((
0x010100000000000000000024400000000000002440
))));
select
(
asWKT
(
geomfromwkb
((
0x010100000000000000000024400000000000002440
))));
# End of 4.1 tests
--
enable_metadata
--
enable_metadata
create
table
t1
(
g
GEOMETRY
);
create
table
t1
(
g
GEOMETRY
);
select
*
from
t1
;
select
*
from
t1
;
select
asbinary
(
g
)
from
t1
;
select
asbinary
(
g
)
from
t1
;
--
disable_metadata
--
disable_metadata
drop
table
t1
;
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/bad_gis_data.dat'
into
table
t1
;
alter
table
t1
enable
keys
;
drop
table
t1
;
# End of 4.1 tests
scripts/Makefile.am
View file @
f3f5eb5c
...
@@ -111,6 +111,7 @@ SUFFIXES = .sh
...
@@ -111,6 +111,7 @@ SUFFIXES = .sh
-e
's!@''pkglibdir''@!
$(pkglibdir)
!g'
\
-e
's!@''pkglibdir''@!
$(pkglibdir)
!g'
\
-e
's!@''pkgincludedir''@!
$(pkgincludedir)
!g'
\
-e
's!@''pkgincludedir''@!
$(pkgincludedir)
!g'
\
-e
's!@''pkgdatadir''@!
$(pkgdatadir)
!g'
\
-e
's!@''pkgdatadir''@!
$(pkgdatadir)
!g'
\
-e
's!@''sysconfdir''@!
$(sysconfdir)
!g'
\
-e
's!@''CC''@!@CC@!'
\
-e
's!@''CC''@!@CC@!'
\
-e
's!@''CXX''@!@CXX@!'
\
-e
's!@''CXX''@!@CXX@!'
\
-e
's!@''GXX''@!@GXX@!'
\
-e
's!@''GXX''@!@GXX@!'
\
...
...
scripts/mysqlaccess.sh
View file @
f3f5eb5c
...
@@ -462,8 +462,8 @@ MySQLaccess::Report::Print_Header();
...
@@ -462,8 +462,8 @@ MySQLaccess::Report::Print_Header();
if
(
-f
"./
$script_conf
"
)
{
if
(
-f
"./
$script_conf
"
)
{
require
"./
$script_conf
"
;
require
"./
$script_conf
"
;
}
}
elsif
(
-f
"
/etc
/
$script_conf
"
)
{
elsif
(
-f
"
@sysconfdir@
/
$script_conf
"
)
{
require
"
/etc
/
$script_conf
"
;
require
"
@sysconfdir@
/
$script_conf
"
;
}
}
# ****************************
# ****************************
...
@@ -929,7 +929,7 @@ sub MergeConfigFile {
...
@@ -929,7 +929,7 @@ sub MergeConfigFile {
# =================================
# =================================
sub MergeConfigFiles
{
sub MergeConfigFiles
{
my
(
$name
,
$pass
,
$uid
,
$gid
,
$quota
,
$comment
,
$gcos
,
$dir
,
$shell
)
=
getpwuid
$<
;
my
(
$name
,
$pass
,
$uid
,
$gid
,
$quota
,
$comment
,
$gcos
,
$dir
,
$shell
)
=
getpwuid
$<
;
MergeConfigFile
(
"
/etc
/my.cnf"
)
;
MergeConfigFile
(
"
@sysconfdir@
/my.cnf"
)
;
MergeConfigFile
(
"
$dir
/.my.cnf"
)
;
MergeConfigFile
(
"
$dir
/.my.cnf"
)
;
}
}
...
...
scripts/mysqld_multi.sh
View file @
f3f5eb5c
...
@@ -429,9 +429,9 @@ sub find_groups
...
@@ -429,9 +429,9 @@ sub find_groups
}
}
else
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
++)
for (
$i
= 0; (
$line
= shift @tmp);
$i
++)
{
{
...
@@ -658,7 +658,7 @@ sub example
...
@@ -658,7 +658,7 @@ sub example
# (as per Linux/Unix standard). You may even replace the
# (as per Linux/Unix standard). You may even replace the
# /etc/init.d/mysql.server script with it.
# /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.
# or /root/.my.cnf and add the [mysqld_multi] and [mysqld#] groups.
#
#
# The script can be found from support-files/mysqld_multi.server.sh
# The script can be found from support-files/mysqld_multi.server.sh
...
...
sql/field.cc
View file @
f3f5eb5c
...
@@ -1137,10 +1137,11 @@ void Field_null::sql_type(String &res) const
...
@@ -1137,10 +1137,11 @@ void Field_null::sql_type(String &res) const
This is an number stored as a pre-space (or pre-zero) string
This is an number stored as a pre-space (or pre-zero) string
****************************************************************************/
****************************************************************************/
void
int
Field_decimal
::
reset
(
void
)
Field_decimal
::
reset
(
void
)
{
{
Field_decimal
::
store
(
"0"
,
1
,
&
my_charset_bin
);
Field_decimal
::
store
(
"0"
,
1
,
&
my_charset_bin
);
return
0
;
}
}
void
Field_decimal
::
overflow
(
bool
negative
)
void
Field_decimal
::
overflow
(
bool
negative
)
...
...
sql/field.h
View file @
f3f5eb5c
...
@@ -126,7 +126,7 @@ class Field
...
@@ -126,7 +126,7 @@ class Field
bool
eq
(
Field
*
field
)
{
return
ptr
==
field
->
ptr
&&
null_ptr
==
field
->
null_ptr
;
}
bool
eq
(
Field
*
field
)
{
return
ptr
==
field
->
ptr
&&
null_ptr
==
field
->
null_ptr
;
}
virtual
bool
eq_def
(
Field
*
field
);
virtual
bool
eq_def
(
Field
*
field
);
virtual
uint32
pack_length
()
const
{
return
(
uint32
)
field_length
;
}
virtual
uint32
pack_length
()
const
{
return
(
uint32
)
field_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
reset_fields
()
{}
virtual
void
set_default
()
virtual
void
set_default
()
{
{
...
@@ -387,10 +387,10 @@ class Field_decimal :public Field_num {
...
@@ -387,10 +387,10 @@ class Field_decimal :public Field_num {
enum_field_types
type
()
const
{
return
FIELD_TYPE_DECIMAL
;}
enum_field_types
type
()
const
{
return
FIELD_TYPE_DECIMAL
;}
enum
ha_base_keytype
key_type
()
const
enum
ha_base_keytype
key_type
()
const
{
return
zerofill
?
HA_KEYTYPE_BINARY
:
HA_KEYTYPE_NUM
;
}
{
return
zerofill
?
HA_KEYTYPE_BINARY
:
HA_KEYTYPE_NUM
;
}
void
reset
(
void
);
int
reset
(
void
);
int
store
(
const
char
*
to
,
uint
length
,
CHARSET_INFO
*
charset
);
int
store
(
const
char
*
to
,
uint
length
,
CHARSET_INFO
*
charset
);
int
store
(
double
nr
);
int
store
(
double
nr
);
int
store
(
longlong
nr
);
int
store
(
longlong
nr
);
double
val_real
(
void
);
double
val_real
(
void
);
longlong
val_int
(
void
);
longlong
val_int
(
void
);
String
*
val_str
(
String
*
,
String
*
);
String
*
val_str
(
String
*
,
String
*
);
...
@@ -418,10 +418,10 @@ class Field_tiny :public Field_num {
...
@@ -418,10 +418,10 @@ class Field_tiny :public Field_num {
enum_field_types
type
()
const
{
return
FIELD_TYPE_TINY
;}
enum_field_types
type
()
const
{
return
FIELD_TYPE_TINY
;}
enum
ha_base_keytype
key_type
()
const
enum
ha_base_keytype
key_type
()
const
{
return
unsigned_flag
?
HA_KEYTYPE_BINARY
:
HA_KEYTYPE_INT8
;
}
{
return
unsigned_flag
?
HA_KEYTYPE_BINARY
:
HA_KEYTYPE_INT8
;
}
int
store
(
const
char
*
to
,
uint
length
,
CHARSET_INFO
*
charset
);
int
store
(
const
char
*
to
,
uint
length
,
CHARSET_INFO
*
charset
);
int
store
(
double
nr
);
int
store
(
double
nr
);
int
store
(
longlong
nr
);
int
store
(
longlong
nr
);
void
reset
(
void
)
{
ptr
[
0
]
=
0
;
}
int
reset
(
void
)
{
ptr
[
0
]
=
0
;
return
0
;
}
double
val_real
(
void
);
double
val_real
(
void
);
longlong
val_int
(
void
);
longlong
val_int
(
void
);
String
*
val_str
(
String
*
,
String
*
);
String
*
val_str
(
String
*
,
String
*
);
...
@@ -454,10 +454,10 @@ class Field_short :public Field_num {
...
@@ -454,10 +454,10 @@ class Field_short :public Field_num {
enum_field_types
type
()
const
{
return
FIELD_TYPE_SHORT
;}
enum_field_types
type
()
const
{
return
FIELD_TYPE_SHORT
;}
enum
ha_base_keytype
key_type
()
const
enum
ha_base_keytype
key_type
()
const
{
return
unsigned_flag
?
HA_KEYTYPE_USHORT_INT
:
HA_KEYTYPE_SHORT_INT
;}
{
return
unsigned_flag
?
HA_KEYTYPE_USHORT_INT
:
HA_KEYTYPE_SHORT_INT
;}
int
store
(
const
char
*
to
,
uint
length
,
CHARSET_INFO
*
charset
);
int
store
(
const
char
*
to
,
uint
length
,
CHARSET_INFO
*
charset
);
int
store
(
double
nr
);
int
store
(
double
nr
);
int
store
(
longlong
nr
);
int
store
(
longlong
nr
);
void
reset
(
void
)
{
ptr
[
0
]
=
ptr
[
1
]
=
0
;
}
int
reset
(
void
)
{
ptr
[
0
]
=
ptr
[
1
]
=
0
;
return
0
;
}
double
val_real
(
void
);
double
val_real
(
void
);
longlong
val_int
(
void
);
longlong
val_int
(
void
);
String
*
val_str
(
String
*
,
String
*
);
String
*
val_str
(
String
*
,
String
*
);
...
@@ -488,7 +488,7 @@ class Field_medium :public Field_num {
...
@@ -488,7 +488,7 @@ class Field_medium :public Field_num {
int
store
(
const
char
*
to
,
uint
length
,
CHARSET_INFO
*
charset
);
int
store
(
const
char
*
to
,
uint
length
,
CHARSET_INFO
*
charset
);
int
store
(
double
nr
);
int
store
(
double
nr
);
int
store
(
longlong
nr
);
int
store
(
longlong
nr
);
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
);
double
val_real
(
void
);
longlong
val_int
(
void
);
longlong
val_int
(
void
);
String
*
val_str
(
String
*
,
String
*
);
String
*
val_str
(
String
*
,
String
*
);
...
@@ -521,10 +521,10 @@ class Field_long :public Field_num {
...
@@ -521,10 +521,10 @@ class Field_long :public Field_num {
enum_field_types
type
()
const
{
return
FIELD_TYPE_LONG
;}
enum_field_types
type
()
const
{
return
FIELD_TYPE_LONG
;}
enum
ha_base_keytype
key_type
()
const
enum
ha_base_keytype
key_type
()
const
{
return
unsigned_flag
?
HA_KEYTYPE_ULONG_INT
:
HA_KEYTYPE_LONG_INT
;
}
{
return
unsigned_flag
?
HA_KEYTYPE_ULONG_INT
:
HA_KEYTYPE_LONG_INT
;
}
int
store
(
const
char
*
to
,
uint
length
,
CHARSET_INFO
*
charset
);
int
store
(
const
char
*
to
,
uint
length
,
CHARSET_INFO
*
charset
);
int
store
(
double
nr
);
int
store
(
double
nr
);
int
store
(
longlong
nr
);
int
store
(
longlong
nr
);
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
);
double
val_real
(
void
);
longlong
val_int
(
void
);
longlong
val_int
(
void
);
bool
send_binary
(
Protocol
*
protocol
);
bool
send_binary
(
Protocol
*
protocol
);
...
@@ -559,10 +559,14 @@ class Field_longlong :public Field_num {
...
@@ -559,10 +559,14 @@ class Field_longlong :public Field_num {
enum_field_types
type
()
const
{
return
FIELD_TYPE_LONGLONG
;}
enum_field_types
type
()
const
{
return
FIELD_TYPE_LONGLONG
;}
enum
ha_base_keytype
key_type
()
const
enum
ha_base_keytype
key_type
()
const
{
return
unsigned_flag
?
HA_KEYTYPE_ULONGLONG
:
HA_KEYTYPE_LONGLONG
;
}
{
return
unsigned_flag
?
HA_KEYTYPE_ULONGLONG
:
HA_KEYTYPE_LONGLONG
;
}
int
store
(
const
char
*
to
,
uint
length
,
CHARSET_INFO
*
charset
);
int
store
(
const
char
*
to
,
uint
length
,
CHARSET_INFO
*
charset
);
int
store
(
double
nr
);
int
store
(
double
nr
);
int
store
(
longlong
nr
);
int
store
(
longlong
nr
);
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
);
double
val_real
(
void
);
longlong
val_int
(
void
);
longlong
val_int
(
void
);
String
*
val_str
(
String
*
,
String
*
);
String
*
val_str
(
String
*
,
String
*
);
...
@@ -594,10 +598,10 @@ class Field_float :public Field_num {
...
@@ -594,10 +598,10 @@ class Field_float :public Field_num {
{}
{}
enum_field_types
type
()
const
{
return
FIELD_TYPE_FLOAT
;}
enum_field_types
type
()
const
{
return
FIELD_TYPE_FLOAT
;}
enum
ha_base_keytype
key_type
()
const
{
return
HA_KEYTYPE_FLOAT
;
}
enum
ha_base_keytype
key_type
()
const
{
return
HA_KEYTYPE_FLOAT
;
}
int
store
(
const
char
*
to
,
uint
length
,
CHARSET_INFO
*
charset
);
int
store
(
const
char
*
to
,
uint
length
,
CHARSET_INFO
*
charset
);
int
store
(
double
nr
);
int
store
(
double
nr
);
int
store
(
longlong
nr
);
int
store
(
longlong
nr
);
void
reset
(
void
)
{
bzero
(
ptr
,
sizeof
(
float
))
;
}
int
reset
(
void
)
{
bzero
(
ptr
,
sizeof
(
float
));
return
0
;
}
double
val_real
(
void
);
double
val_real
(
void
);
longlong
val_int
(
void
);
longlong
val_int
(
void
);
String
*
val_str
(
String
*
,
String
*
);
String
*
val_str
(
String
*
,
String
*
);
...
@@ -628,10 +632,10 @@ class Field_double :public Field_num {
...
@@ -628,10 +632,10 @@ class Field_double :public Field_num {
{}
{}
enum_field_types
type
()
const
{
return
FIELD_TYPE_DOUBLE
;}
enum_field_types
type
()
const
{
return
FIELD_TYPE_DOUBLE
;}
enum
ha_base_keytype
key_type
()
const
{
return
HA_KEYTYPE_DOUBLE
;
}
enum
ha_base_keytype
key_type
()
const
{
return
HA_KEYTYPE_DOUBLE
;
}
int
store
(
const
char
*
to
,
uint
length
,
CHARSET_INFO
*
charset
);
int
store
(
const
char
*
to
,
uint
length
,
CHARSET_INFO
*
charset
);
int
store
(
double
nr
);
int
store
(
double
nr
);
int
store
(
longlong
nr
);
int
store
(
longlong
nr
);
void
reset
(
void
)
{
bzero
(
ptr
,
sizeof
(
double
))
;
}
int
reset
(
void
)
{
bzero
(
ptr
,
sizeof
(
double
));
return
0
;
}
double
val_real
(
void
);
double
val_real
(
void
);
longlong
val_int
(
void
);
longlong
val_int
(
void
);
String
*
val_str
(
String
*
,
String
*
);
String
*
val_str
(
String
*
,
String
*
);
...
@@ -658,9 +662,9 @@ class Field_null :public Field_str {
...
@@ -658,9 +662,9 @@ class Field_null :public Field_str {
enum_field_types
type
()
const
{
return
FIELD_TYPE_NULL
;}
enum_field_types
type
()
const
{
return
FIELD_TYPE_NULL
;}
int
store
(
const
char
*
to
,
uint
length
,
CHARSET_INFO
*
cs
)
int
store
(
const
char
*
to
,
uint
length
,
CHARSET_INFO
*
cs
)
{
null
[
0
]
=
1
;
return
0
;
}
{
null
[
0
]
=
1
;
return
0
;
}
int
store
(
double
nr
)
{
null
[
0
]
=
1
;
return
0
;
}
int
store
(
double
nr
)
{
null
[
0
]
=
1
;
return
0
;
}
int
store
(
longlong
nr
)
{
null
[
0
]
=
1
;
return
0
;
}
int
store
(
longlong
nr
)
{
null
[
0
]
=
1
;
return
0
;
}
void
reset
(
void
)
{
}
int
reset
(
void
)
{
return
0
;
}
double
val_real
(
void
)
{
return
0.0
;}
double
val_real
(
void
)
{
return
0.0
;}
longlong
val_int
(
void
)
{
return
0
;}
longlong
val_int
(
void
)
{
return
0
;}
String
*
val_str
(
String
*
value
,
String
*
value2
)
String
*
val_str
(
String
*
value
,
String
*
value2
)
...
@@ -687,7 +691,7 @@ class Field_timestamp :public Field_str {
...
@@ -687,7 +691,7 @@ class Field_timestamp :public Field_str {
int
store
(
const
char
*
to
,
uint
length
,
CHARSET_INFO
*
charset
);
int
store
(
const
char
*
to
,
uint
length
,
CHARSET_INFO
*
charset
);
int
store
(
double
nr
);
int
store
(
double
nr
);
int
store
(
longlong
nr
);
int
store
(
longlong
nr
);
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
);
double
val_real
(
void
);
longlong
val_int
(
void
);
longlong
val_int
(
void
);
String
*
val_str
(
String
*
,
String
*
);
String
*
val_str
(
String
*
,
String
*
);
...
@@ -763,10 +767,10 @@ class Field_date :public Field_str {
...
@@ -763,10 +767,10 @@ class Field_date :public Field_str {
enum_field_types
type
()
const
{
return
FIELD_TYPE_DATE
;}
enum_field_types
type
()
const
{
return
FIELD_TYPE_DATE
;}
enum
ha_base_keytype
key_type
()
const
{
return
HA_KEYTYPE_ULONG_INT
;
}
enum
ha_base_keytype
key_type
()
const
{
return
HA_KEYTYPE_ULONG_INT
;
}
enum
Item_result
cmp_type
()
const
{
return
INT_RESULT
;
}
enum
Item_result
cmp_type
()
const
{
return
INT_RESULT
;
}
int
store
(
const
char
*
to
,
uint
length
,
CHARSET_INFO
*
charset
);
int
store
(
const
char
*
to
,
uint
length
,
CHARSET_INFO
*
charset
);
int
store
(
double
nr
);
int
store
(
double
nr
);
int
store
(
longlong
nr
);
int
store
(
longlong
nr
);
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
);
double
val_real
(
void
);
longlong
val_int
(
void
);
longlong
val_int
(
void
);
String
*
val_str
(
String
*
,
String
*
);
String
*
val_str
(
String
*
,
String
*
);
...
@@ -795,7 +799,7 @@ class Field_newdate :public Field_str {
...
@@ -795,7 +799,7 @@ class Field_newdate :public Field_str {
int
store
(
double
nr
);
int
store
(
double
nr
);
int
store
(
longlong
nr
);
int
store
(
longlong
nr
);
void
store_time
(
TIME
*
ltime
,
timestamp_type
type
);
void
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
);
double
val_real
(
void
);
longlong
val_int
(
void
);
longlong
val_int
(
void
);
String
*
val_str
(
String
*
,
String
*
);
String
*
val_str
(
String
*
,
String
*
);
...
@@ -826,10 +830,10 @@ class Field_time :public Field_str {
...
@@ -826,10 +830,10 @@ class Field_time :public Field_str {
enum_field_types
type
()
const
{
return
FIELD_TYPE_TIME
;}
enum_field_types
type
()
const
{
return
FIELD_TYPE_TIME
;}
enum
ha_base_keytype
key_type
()
const
{
return
HA_KEYTYPE_INT24
;
}
enum
ha_base_keytype
key_type
()
const
{
return
HA_KEYTYPE_INT24
;
}
enum
Item_result
cmp_type
()
const
{
return
INT_RESULT
;
}
enum
Item_result
cmp_type
()
const
{
return
INT_RESULT
;
}
int
store
(
const
char
*
to
,
uint
length
,
CHARSET_INFO
*
charset
);
int
store
(
const
char
*
to
,
uint
length
,
CHARSET_INFO
*
charset
);
int
store
(
double
nr
);
int
store
(
double
nr
);
int
store
(
longlong
nr
);
int
store
(
longlong
nr
);
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
);
double
val_real
(
void
);
longlong
val_int
(
void
);
longlong
val_int
(
void
);
String
*
val_str
(
String
*
,
String
*
);
String
*
val_str
(
String
*
,
String
*
);
...
@@ -867,7 +871,11 @@ class Field_datetime :public Field_str {
...
@@ -867,7 +871,11 @@ class Field_datetime :public Field_str {
int
store
(
double
nr
);
int
store
(
double
nr
);
int
store
(
longlong
nr
);
int
store
(
longlong
nr
);
void
store_time
(
TIME
*
ltime
,
timestamp_type
type
);
void
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
);
double
val_real
(
void
);
longlong
val_int
(
void
);
longlong
val_int
(
void
);
String
*
val_str
(
String
*
,
String
*
);
String
*
val_str
(
String
*
,
String
*
);
...
@@ -905,9 +913,13 @@ class Field_string :public Field_str {
...
@@ -905,9 +913,13 @@ class Field_string :public Field_str {
enum
ha_base_keytype
key_type
()
const
enum
ha_base_keytype
key_type
()
const
{
return
binary
()
?
HA_KEYTYPE_BINARY
:
HA_KEYTYPE_TEXT
;
}
{
return
binary
()
?
HA_KEYTYPE_BINARY
:
HA_KEYTYPE_TEXT
;
}
bool
zero_pack
()
const
{
return
0
;
}
bool
zero_pack
()
const
{
return
0
;
}
void
reset
(
void
)
{
charset
()
->
cset
->
fill
(
charset
(),
ptr
,
field_length
,
' '
);
}
int
reset
(
void
)
int
store
(
const
char
*
to
,
uint
length
,
CHARSET_INFO
*
charset
);
{
int
store
(
longlong
nr
);
charset
()
->
cset
->
fill
(
charset
(),
ptr
,
field_length
,
' '
);
return
0
;
}
int
store
(
const
char
*
to
,
uint
length
,
CHARSET_INFO
*
charset
);
int
store
(
longlong
nr
);
int
store
(
double
nr
)
{
return
Field_str
::
store
(
nr
);
}
/* QQ: To be deleted */
int
store
(
double
nr
)
{
return
Field_str
::
store
(
nr
);
}
/* QQ: To be deleted */
double
val_real
(
void
);
double
val_real
(
void
);
longlong
val_int
(
void
);
longlong
val_int
(
void
);
...
@@ -948,7 +960,7 @@ class Field_varstring :public Field_str {
...
@@ -948,7 +960,7 @@ class Field_varstring :public Field_str {
enum
ha_base_keytype
key_type
()
const
enum
ha_base_keytype
key_type
()
const
{
return
binary
()
?
HA_KEYTYPE_VARBINARY
:
HA_KEYTYPE_VARTEXT
;
}
{
return
binary
()
?
HA_KEYTYPE_VARBINARY
:
HA_KEYTYPE_VARTEXT
;
}
bool
zero_pack
()
const
{
return
0
;
}
bool
zero_pack
()
const
{
return
0
;
}
void
reset
(
void
)
{
bzero
(
ptr
,
field_length
+
2
)
;
}
int
reset
(
void
)
{
bzero
(
ptr
,
field_length
+
2
);
return
0
;
}
uint32
pack_length
()
const
{
return
(
uint32
)
field_length
+
2
;
}
uint32
pack_length
()
const
{
return
(
uint32
)
field_length
+
2
;
}
uint32
key_length
()
const
{
return
(
uint32
)
field_length
;
}
uint32
key_length
()
const
{
return
(
uint32
)
field_length
;
}
int
store
(
const
char
*
to
,
uint
length
,
CHARSET_INFO
*
charset
);
int
store
(
const
char
*
to
,
uint
length
,
CHARSET_INFO
*
charset
);
...
@@ -1017,7 +1029,7 @@ class Field_blob :public Field_str {
...
@@ -1017,7 +1029,7 @@ class Field_blob :public Field_str {
{
{
return
(
uint32
)
(((
ulonglong
)
1
<<
(
packlength
*
8
))
-
1
);
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
reset_fields
()
{
bzero
((
char
*
)
&
value
,
sizeof
(
value
));
}
void
store_length
(
uint32
number
);
void
store_length
(
uint32
number
);
inline
uint32
get_length
(
uint
row_offset
=
0
)
inline
uint32
get_length
(
uint
row_offset
=
0
)
...
@@ -1093,6 +1105,7 @@ class Field_geom :public Field_blob {
...
@@ -1093,6 +1105,7 @@ class Field_geom :public Field_blob {
int
store
(
const
char
*
to
,
uint
length
,
CHARSET_INFO
*
charset
);
int
store
(
const
char
*
to
,
uint
length
,
CHARSET_INFO
*
charset
);
int
store
(
double
nr
)
{
return
1
;
}
int
store
(
double
nr
)
{
return
1
;
}
int
store
(
longlong
nr
)
{
return
1
;
}
int
store
(
longlong
nr
)
{
return
1
;
}
int
reset
(
void
)
{
return
!
maybe_null
();
}
void
get_key_image
(
char
*
buff
,
uint
length
,
CHARSET_INFO
*
cs
,
imagetype
type
);
void
get_key_image
(
char
*
buff
,
uint
length
,
CHARSET_INFO
*
cs
,
imagetype
type
);
void
set_key_image
(
char
*
buff
,
uint
length
,
CHARSET_INFO
*
cs
);
void
set_key_image
(
char
*
buff
,
uint
length
,
CHARSET_INFO
*
cs
);
...
@@ -1123,7 +1136,7 @@ class Field_enum :public Field_str {
...
@@ -1123,7 +1136,7 @@ class Field_enum :public Field_str {
int
store
(
const
char
*
to
,
uint
length
,
CHARSET_INFO
*
charset
);
int
store
(
const
char
*
to
,
uint
length
,
CHARSET_INFO
*
charset
);
int
store
(
double
nr
);
int
store
(
double
nr
);
int
store
(
longlong
nr
);
int
store
(
longlong
nr
);
void
reset
()
{
bzero
(
ptr
,
packlength
)
;
}
int
reset
()
{
bzero
(
ptr
,
packlength
);
return
0
;
}
double
val_real
(
void
);
double
val_real
(
void
);
longlong
val_int
(
void
);
longlong
val_int
(
void
);
String
*
val_str
(
String
*
,
String
*
);
String
*
val_str
(
String
*
,
String
*
);
...
...
sql/sql_load.cc
View file @
f3f5eb5c
...
@@ -527,7 +527,12 @@ read_sep_field(THD *thd,COPY_INFO &info,TABLE *table,
...
@@ -527,7 +527,12 @@ read_sep_field(THD *thd,COPY_INFO &info,TABLE *table,
(
enclosed_length
&&
length
==
4
&&
!
memcmp
(
pos
,
"NULL"
,
4
))
||
(
enclosed_length
&&
length
==
4
&&
!
memcmp
(
pos
,
"NULL"
,
4
))
||
(
length
==
1
&&
read_info
.
found_null
))
(
length
==
1
&&
read_info
.
found_null
))
{
{
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
();
field
->
set_null
();
if
(
!
field
->
maybe_null
())
if
(
!
field
->
maybe_null
())
{
{
...
@@ -560,7 +565,12 @@ read_sep_field(THD *thd,COPY_INFO &info,TABLE *table,
...
@@ -560,7 +565,12 @@ read_sep_field(THD *thd,COPY_INFO &info,TABLE *table,
for
(;
sql_field
;
sql_field
=
(
Item_field
*
)
it
++
)
for
(;
sql_field
;
sql_field
=
(
Item_field
*
)
it
++
)
{
{
sql_field
->
field
->
set_null
();
sql_field
->
field
->
set_null
();
sql_field
->
field
->
reset
();
if
(
sql_field
->
field
->
reset
())
{
my_error
(
ER_WARN_NULL_TO_NOTNULL
,
MYF
(
0
),
sql_field
->
field
->
field_name
,
thd
->
row_count
);
DBUG_RETURN
(
1
);
}
thd
->
cuted_fields
++
;
thd
->
cuted_fields
++
;
push_warning_printf
(
thd
,
MYSQL_ERROR
::
WARN_LEVEL_WARN
,
push_warning_printf
(
thd
,
MYSQL_ERROR
::
WARN_LEVEL_WARN
,
ER_WARN_TOO_FEW_RECORDS
,
ER_WARN_TOO_FEW_RECORDS
,
...
...
support-files/mysql.spec.sh
View file @
f3f5eb5c
...
@@ -549,6 +549,7 @@ fi
...
@@ -549,6 +549,7 @@ fi
%doc %attr
(
644, root, man
)
%
{
_mandir
}
/man1/mysqlman.1
*
%doc %attr
(
644, root, man
)
%
{
_mandir
}
/man1/mysqlman.1
*
%doc %attr
(
644, root, man
)
%
{
_mandir
}
/man1/isamchk.1
*
%doc %attr
(
644, root, man
)
%
{
_mandir
}
/man1/isamchk.1
*
%doc %attr
(
644, root, man
)
%
{
_mandir
}
/man1/isamlog.1
*
%doc %attr
(
644, root, man
)
%
{
_mandir
}
/man1/isamlog.1
*
%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/myisam_ftdump.1
*
%doc %attr
(
644, root, man
)
%
{
_mandir
}
/man1/myisamchk.1
*
%doc %attr
(
644, root, man
)
%
{
_mandir
}
/man1/myisamchk.1
*
%doc %attr
(
644, root, man
)
%
{
_mandir
}
/man1/myisamlog.1
*
%doc %attr
(
644, root, man
)
%
{
_mandir
}
/man1/myisamlog.1
*
...
@@ -560,6 +561,7 @@ fi
...
@@ -560,6 +561,7 @@ fi
%doc %attr
(
644, root, man
)
%
{
_mandir
}
/man1/mysql_fix_privilege_tables.1
*
%doc %attr
(
644, root, man
)
%
{
_mandir
}
/man1/mysql_fix_privilege_tables.1
*
%doc %attr
(
644, root, man
)
%
{
_mandir
}
/man1/mysqlhotcopy.1
*
%doc %attr
(
644, root, man
)
%
{
_mandir
}
/man1/mysqlhotcopy.1
*
%doc %attr
(
644, root, man
)
%
{
_mandir
}
/man1/mysql.server.1
*
%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/mysql_zap.1
*
%doc %attr
(
644, root, man
)
%
{
_mandir
}
/man1/pack_isam.1
*
%doc %attr
(
644, root, man
)
%
{
_mandir
}
/man1/pack_isam.1
*
%doc %attr
(
644, root, man
)
%
{
_mandir
}
/man1/perror.1
*
%doc %attr
(
644, root, man
)
%
{
_mandir
}
/man1/perror.1
*
...
@@ -724,6 +726,11 @@ fi
...
@@ -724,6 +726,11 @@ fi
# itself - note that they must be ordered by date (important when
# itself - note that they must be ordered by date (important when
# merging BK trees)
# merging BK trees)
%changelog
%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.
*
Thu Nov 16 2006 Joerg Bruehe <joerg@mysql.com>
*
Thu Nov 16 2006 Joerg Bruehe <joerg@mysql.com>
- Explicitly note that the
"MySQL-shared"
RPMs
(
as built by MySQL AB
)
- 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