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
4efc0f8e
Commit
4efc0f8e
authored
Nov 13, 2006
by
msvensson@neptunus.(none)
Browse files
Options
Browse Files
Download
Plain Diff
Merge bk-internal:/home/bk/mysql-5.1-new-maint
into neptunus.(none):/home/msvensson/mysql/mysql-5.1-new-maint
parents
10d4ecfb
7d07c33d
Changes
7
Show whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
189 additions
and
29 deletions
+189
-29
BitKeeper/etc/collapsed
BitKeeper/etc/collapsed
+2
-0
client/mysql_upgrade.c
client/mysql_upgrade.c
+16
-21
mysql-test/mysql-test-run.pl
mysql-test/mysql-test-run.pl
+1
-0
mysql-test/r/default.result
mysql-test/r/default.result
+92
-0
mysql-test/t/default.test
mysql-test/t/default.test
+58
-0
sql/item.cc
sql/item.cc
+1
-0
sql/mysqld.cc
sql/mysqld.cc
+19
-8
No files found.
BitKeeper/etc/collapsed
View file @
4efc0f8e
...
...
@@ -17,3 +17,5 @@
452a92d0-31-8wSzSfZi165fcGcXPA
454a7ef8gdvE_ddMlJyghvOAkKPNOQ
454f8960jsVT_kMKJtZ9OCgXoba0xQ
4554a95d7txO1DuO9G3nAizI3SkFAA
4554b3722d71SbPiI2Gx-RhbZjmuIQ
client/mysql_upgrade.c
View file @
4efc0f8e
...
...
@@ -386,18 +386,18 @@ find_file(const char *name, const char *root, uint flags, char *result, size_t l
cp
=
strmake
(
result
,
root
,
len
);
if
(
cp
[
-
1
]
!=
FN_LIBCHAR
)
*
cp
=
FN_LIBCHAR
;
*
cp
++
=
FN_LIBCHAR
;
ret
=
1
;
va_start
(
va
,
len
);
subdir
=
(
!
(
flags
&
MY_SEARCH_SELF
))
?
va_arg
(
va
,
char
*
)
:
""
;
while
(
ret
&&
subdir
)
while
(
subdir
)
{
MY_DIR
*
dir
;
FILEINFO
*
match
;
char
*
cp1
;
cp1
=
strnmov
(
cp
+
1
,
subdir
,
len
-
(
cp
-
result
)
-
1
);
cp1
=
strnmov
(
cp
,
subdir
,
len
-
(
cp
-
result
)
-
1
);
dir
=
my_dir
(
result
,
(
flags
&
MY_ISDIR
)
?
MY_WANT_STAT
:
MYF
(
0
));
if
(
dir
)
...
...
@@ -406,25 +406,20 @@ find_file(const char *name, const char *root, uint flags, char *result, size_t l
sizeof
(
FILEINFO
),
(
qsort_cmp
)
comp_names
);
if
(
match
)
{
if
(
!
(
flags
&
MY_PARENT
))
ret
=
(
flags
&
MY_ISDIR
)
?
!
MY_S_ISDIR
(
match
->
mystat
->
st_mode
)
:
0
;
if
(
!
ret
)
{
if
(
cp1
[
-
1
]
!=
FN_LIBCHAR
)
*
cp1
++=
FN_LIBCHAR
;
if
(
!
(
flags
&
MY_PARENT
))
strnmov
(
cp1
,
name
,
len
-
(
cp1
-
result
));
}
else
{
if
(
cp1
[
-
1
]
==
FN_LIBCHAR
)
--
cp1
;
while
(
*--
cp1
==
FN_LIBCHAR
)
{}
*++
cp1
=
FN_LIBCHAR
;
*++
cp1
=
'\0'
;
*
cp1
=
'\0'
;
my_dirend
(
dir
);
break
;
}
if
(
flags
&
MY_ISDIR
)
ret
=
!
MY_S_ISDIR
(
match
->
mystat
->
st_mode
);
else
ret
=
0
;
}
my_dirend
(
dir
);
}
...
...
@@ -484,7 +479,7 @@ int main(int argc, char **argv)
||
find_file
(
mysqld_name
,
basedir
,
MYF
(
0
),
path
,
sizeof
(
path
),
"bin"
,
"libexec"
,
NullS
))
{
my_
strdup
((
gptr
)
basedir
,
MYF
(
0
));
my_
free
((
gptr
)
basedir
,
MYF
(
0
));
basedir
=
(
char
*
)
DEFAULT_MYSQL_HOME
;
}
}
...
...
mysql-test/mysql-test-run.pl
View file @
4efc0f8e
...
...
@@ -219,6 +219,7 @@ our $opt_ndbcluster_port_slave;
our
$opt_ndbconnectstring_slave
;
our
$opt_record
;
our
$opt_report_features
;
our
$opt_check_testcases
;
our
$opt_skip
;
...
...
mysql-test/r/default.result
View file @
4efc0f8e
...
...
@@ -104,3 +104,95 @@ a b c d e f g h i j k l m n o p q r s t u v w x y z a1 b1
1 0000 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
drop table t1;
drop table t2;
create table bug20691 (i int, d datetime NOT NULL, dn datetime not null default '0000-00-00 00:00:00');
insert into bug20691 values (1, DEFAULT, DEFAULT), (1, '1975-07-10 07:10:03', '1978-01-13 14:08:51'), (1, DEFAULT, DEFAULT);
Warnings:
Warning 1364 Field 'd' doesn't have a default value
Warning 1364 Field 'd' doesn't have a default value
insert into bug20691 (i) values (2);
Warnings:
Warning 1364 Field 'd' doesn't have a default value
desc bug20691;
Field Type Null Key Default Extra
i int(11) YES NULL
d datetime NO
dn datetime NO 0000-00-00 00:00:00
insert into bug20691 values (3, DEFAULT, DEFAULT), (3, '1975-07-10 07:10:03', '1978-01-13 14:08:51'), (3, DEFAULT, DEFAULT);
Warnings:
Warning 1364 Field 'd' doesn't have a default value
Warning 1364 Field 'd' doesn't have a default value
insert into bug20691 (i) values (4);
Warnings:
Warning 1364 Field 'd' doesn't have a default value
insert into bug20691 values (5, DEFAULT, DEFAULT), (5, '1975-07-10 07:10:03', '1978-01-13 14:08:51'), (5, DEFAULT, DEFAULT);
Warnings:
Warning 1364 Field 'd' doesn't have a default value
Warning 1364 Field 'd' doesn't have a default value
SET sql_mode = 'ALLOW_INVALID_DATES';
insert into bug20691 values (6, DEFAULT, DEFAULT), (6, '1975-07-10 07:10:03', '1978-01-13 14:08:51'), (6, DEFAULT, DEFAULT);
Warnings:
Warning 1364 Field 'd' doesn't have a default value
Warning 1364 Field 'd' doesn't have a default value
SET sql_mode = 'STRICT_ALL_TABLES';
insert into bug20691 values (7, DEFAULT, DEFAULT), (7, '1975-07-10 07:10:03', '1978-01-13 14:08:51'), (7, DEFAULT, DEFAULT);
ERROR HY000: Field 'd' doesn't have a default value
select * from bug20691 order by i asc;
i d dn
1 0000-00-00 00:00:00 0000-00-00 00:00:00
1 1975-07-10 07:10:03 1978-01-13 14:08:51
1 0000-00-00 00:00:00 0000-00-00 00:00:00
2 0000-00-00 00:00:00 0000-00-00 00:00:00
3 0000-00-00 00:00:00 0000-00-00 00:00:00
3 1975-07-10 07:10:03 1978-01-13 14:08:51
3 0000-00-00 00:00:00 0000-00-00 00:00:00
4 0000-00-00 00:00:00 0000-00-00 00:00:00
5 0000-00-00 00:00:00 0000-00-00 00:00:00
5 1975-07-10 07:10:03 1978-01-13 14:08:51
5 0000-00-00 00:00:00 0000-00-00 00:00:00
6 0000-00-00 00:00:00 0000-00-00 00:00:00
6 1975-07-10 07:10:03 1978-01-13 14:08:51
6 0000-00-00 00:00:00 0000-00-00 00:00:00
drop table bug20691;
SET sql_mode = '';
create table bug20691 (
a set('one', 'two', 'three') not null,
b enum('small', 'medium', 'large', 'enormous', 'ellisonego') not null,
c time not null,
d date not null,
e int not null,
f long not null,
g blob not null,
h datetime not null,
i decimal not null,
x int);
insert into bug20691 values (2, 3, 5, '0007-01-01', 11, 13, 17, '0019-01-01 00:00:00', 23, 1);
insert into bug20691 (x) values (2);
Warnings:
Warning 1364 Field 'a' doesn't have a default value
Warning 1364 Field 'c' doesn't have a default value
Warning 1364 Field 'd' doesn't have a default value
Warning 1364 Field 'e' doesn't have a default value
Warning 1364 Field 'f' doesn't have a default value
Warning 1364 Field 'g' doesn't have a default value
Warning 1364 Field 'h' doesn't have a default value
Warning 1364 Field 'i' doesn't have a default value
insert into bug20691 values (2, 3, 5, '0007-01-01', 11, 13, 17, '0019-01-01 00:00:00', 23, 3);
insert into bug20691 values (DEFAULT, DEFAULT, DEFAULT, DEFAULT, DEFAULT, DEFAULT, DEFAULT, DEFAULT, DEFAULT, 4);
Warnings:
Warning 1364 Field 'a' doesn't have a default value
Warning 1364 Field 'b' doesn't have a default value
Warning 1364 Field 'c' doesn't have a default value
Warning 1364 Field 'd' doesn't have a default value
Warning 1364 Field 'e' doesn't have a default value
Warning 1364 Field 'f' doesn't have a default value
Warning 1364 Field 'g' doesn't have a default value
Warning 1364 Field 'h' doesn't have a default value
Warning 1364 Field 'i' doesn't have a default value
select * from bug20691 order by x asc;
a b c d e f g h i x
two large 00:00:05 0007-01-01 11 13 17 0019-01-01 00:00:00 23 1
small 00:00:00 0000-00-00 0 0000-00-00 00:00:00 0 2
two large 00:00:05 0007-01-01 11 13 17 0019-01-01 00:00:00 23 3
small 00:00:00 0000-00-00 0 0000-00-00 00:00:00 0 4
drop table bug20691;
End of 5.0 tests.
mysql-test/t/default.test
View file @
4efc0f8e
...
...
@@ -82,3 +82,61 @@ SELECT * from t2;
drop
table
t1
;
drop
table
t2
;
#
# Bug#20691: DATETIME col (NOT NULL, NO DEFAULT) may insert garbage when specifying DEFAULT
#
# From the docs:
# If the column can take NULL as a value, the column is defined with an
# explicit DEFAULT NULL clause. This is the same as before 5.0.2.
#
# If the column cannot take NULL as the value, MySQL defines the column with
# no explicit DEFAULT clause. For data entry, if an INSERT or REPLACE
# statement includes no value for the column, MySQL handles the column
# according to the SQL mode in effect at the time:
#
# * If strict SQL mode is not enabled, MySQL sets the column to the
# implicit default value for the column data type.
#
# * If strict mode is enabled, an error occurs for transactional tables and
# the statement is rolled back. For non-transactional tables, an error
# occurs, but if this happens for the second or subsequent row of a
# multiple-row statement, the preceding rows will have been inserted.
#
create
table
bug20691
(
i
int
,
d
datetime
NOT
NULL
,
dn
datetime
not
null
default
'0000-00-00 00:00:00'
);
insert
into
bug20691
values
(
1
,
DEFAULT
,
DEFAULT
),
(
1
,
'1975-07-10 07:10:03'
,
'1978-01-13 14:08:51'
),
(
1
,
DEFAULT
,
DEFAULT
);
insert
into
bug20691
(
i
)
values
(
2
);
desc
bug20691
;
insert
into
bug20691
values
(
3
,
DEFAULT
,
DEFAULT
),
(
3
,
'1975-07-10 07:10:03'
,
'1978-01-13 14:08:51'
),
(
3
,
DEFAULT
,
DEFAULT
);
insert
into
bug20691
(
i
)
values
(
4
);
insert
into
bug20691
values
(
5
,
DEFAULT
,
DEFAULT
),
(
5
,
'1975-07-10 07:10:03'
,
'1978-01-13 14:08:51'
),
(
5
,
DEFAULT
,
DEFAULT
);
SET
sql_mode
=
'ALLOW_INVALID_DATES'
;
insert
into
bug20691
values
(
6
,
DEFAULT
,
DEFAULT
),
(
6
,
'1975-07-10 07:10:03'
,
'1978-01-13 14:08:51'
),
(
6
,
DEFAULT
,
DEFAULT
);
SET
sql_mode
=
'STRICT_ALL_TABLES'
;
--
error
1364
insert
into
bug20691
values
(
7
,
DEFAULT
,
DEFAULT
),
(
7
,
'1975-07-10 07:10:03'
,
'1978-01-13 14:08:51'
),
(
7
,
DEFAULT
,
DEFAULT
);
select
*
from
bug20691
order
by
i
asc
;
drop
table
bug20691
;
SET
sql_mode
=
''
;
create
table
bug20691
(
a
set
(
'one'
,
'two'
,
'three'
)
not
null
,
b
enum
(
'small'
,
'medium'
,
'large'
,
'enormous'
,
'ellisonego'
)
not
null
,
c
time
not
null
,
d
date
not
null
,
e
int
not
null
,
f
long
not
null
,
g
blob
not
null
,
h
datetime
not
null
,
i
decimal
not
null
,
x
int
);
insert
into
bug20691
values
(
2
,
3
,
5
,
'0007-01-01'
,
11
,
13
,
17
,
'0019-01-01 00:00:00'
,
23
,
1
);
insert
into
bug20691
(
x
)
values
(
2
);
insert
into
bug20691
values
(
2
,
3
,
5
,
'0007-01-01'
,
11
,
13
,
17
,
'0019-01-01 00:00:00'
,
23
,
3
);
insert
into
bug20691
values
(
DEFAULT
,
DEFAULT
,
DEFAULT
,
DEFAULT
,
DEFAULT
,
DEFAULT
,
DEFAULT
,
DEFAULT
,
DEFAULT
,
4
);
select
*
from
bug20691
order
by
x
asc
;
drop
table
bug20691
;
###
--
echo
End
of
5.0
tests
.
sql/item.cc
View file @
4efc0f8e
...
...
@@ -5467,6 +5467,7 @@ int Item_default_value::save_in_field(Field *field_arg, bool no_conversions)
ER
(
ER_NO_DEFAULT_FOR_FIELD
),
field_arg
->
field_name
);
}
field_arg
->
set_default
();
return
1
;
}
field_arg
->
set_default
();
...
...
sql/mysqld.cc
View file @
4efc0f8e
...
...
@@ -340,7 +340,7 @@ bool opt_error_log= IF_WIN(1,0);
bool
opt_disable_networking
=
0
,
opt_skip_show_db
=
0
;
my_bool
opt_character_set_client_handshake
=
1
;
bool
server_id_supplied
=
0
;
bool
opt_endinfo
,
using_udf_functions
;
bool
opt_endinfo
,
using_udf_functions
;
my_bool
locked_in_memory
;
bool
opt_using_transactions
,
using_update_log
;
bool
volatile
abort_loop
;
...
...
@@ -2149,6 +2149,17 @@ later when used with nscd), disable LDAP in your nsswitch.conf, or use a\n\
mysqld that is not statically linked.
\n
"
);
#endif
if
(
locked_in_memory
)
{
fprintf
(
stderr
,
"
\n
\
The
\"
--memlock
\"
argument, which was enabled, uses system calls that are
\n
\
unreliable and unstable on some operating systems and operating-system
\n
\
versions (notably, some versions of Linux). This crash could be due to use
\n
\
of those buggy OS calls. You should consider whether you really need the
\n
\
\"
--memlock
\"
parameter and/or consult the OS distributer about
\"
mlockall
\"\n
\
bugs.
\n
"
);
}
if
(
test_flags
&
TEST_CORE_ON_SIGNAL
)
{
fprintf
(
stderr
,
"Writing a core file
\n
"
);
...
...
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