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
55616971
Commit
55616971
authored
Oct 25, 2005
by
kent@mysql.com
Browse files
Options
Browse Files
Download
Plain Diff
Merge kboortz@bk-internal.mysql.com:/home/bk/mysql-4.1
into mysql.com:/Users/kent/mysql/bk/mysql-4.1
parents
6a5a451c
a01cd746
Changes
11
Hide whitespace changes
Inline
Side-by-side
Showing
11 changed files
with
85 additions
and
10 deletions
+85
-10
myisam/mi_check.c
myisam/mi_check.c
+4
-3
myisam/mi_delete.c
myisam/mi_delete.c
+4
-2
mysql-test/r/date_formats.result
mysql-test/r/date_formats.result
+8
-0
mysql-test/r/insert_select.result
mysql-test/r/insert_select.result
+8
-0
mysql-test/t/date_formats.test
mysql-test/t/date_formats.test
+8
-0
mysql-test/t/insert_select.test
mysql-test/t/insert_select.test
+12
-0
mysql-test/t/mysql_client_test.test
mysql-test/t/mysql_client_test.test
+2
-2
mysys/my_getopt.c
mysys/my_getopt.c
+3
-3
sql/item.cc
sql/item.cc
+7
-0
sql/item_timefunc.cc
sql/item_timefunc.cc
+10
-0
tests/mysql_client_test.c
tests/mysql_client_test.c
+19
-0
No files found.
myisam/mi_check.c
View file @
55616971
...
@@ -1838,9 +1838,10 @@ static int sort_one_index(MI_CHECK *param, MI_INFO *info, MI_KEYDEF *keyinfo,
...
@@ -1838,9 +1838,10 @@ static int sort_one_index(MI_CHECK *param, MI_INFO *info, MI_KEYDEF *keyinfo,
_mi_kpointer
(
info
,
keypos
-
nod_flag
,
param
->
new_file_pos
);
/* Save new pos */
_mi_kpointer
(
info
,
keypos
-
nod_flag
,
param
->
new_file_pos
);
/* Save new pos */
if
(
sort_one_index
(
param
,
info
,
keyinfo
,
next_page
,
new_file
))
if
(
sort_one_index
(
param
,
info
,
keyinfo
,
next_page
,
new_file
))
{
{
DBUG_PRINT
(
"error"
,(
"From page: %ld, keyoffset: %d used_length: %d"
,
DBUG_PRINT
(
"error"
,
(
ulong
)
pagepos
,
(
int
)
(
keypos
-
buff
),
(
"From page: %ld, keyoffset: 0x%lx used_length: %d"
,
(
int
)
used_length
));
(
ulong
)
pagepos
,
(
ulong
)
(
keypos
-
buff
),
(
int
)
used_length
));
DBUG_DUMP
(
"buff"
,(
byte
*
)
buff
,
used_length
);
DBUG_DUMP
(
"buff"
,(
byte
*
)
buff
,
used_length
);
goto
err
;
goto
err
;
}
}
...
...
myisam/mi_delete.c
View file @
55616971
...
@@ -390,7 +390,8 @@ static int del(register MI_INFO *info, register MI_KEYDEF *keyinfo, uchar *key,
...
@@ -390,7 +390,8 @@ static int del(register MI_INFO *info, register MI_KEYDEF *keyinfo, uchar *key,
MYISAM_SHARE
*
share
=
info
->
s
;
MYISAM_SHARE
*
share
=
info
->
s
;
MI_KEY_PARAM
s_temp
;
MI_KEY_PARAM
s_temp
;
DBUG_ENTER
(
"del"
);
DBUG_ENTER
(
"del"
);
DBUG_PRINT
(
"enter"
,(
"leaf_page: %ld keypos: %lx"
,
leaf_page
,
keypos
));
DBUG_PRINT
(
"enter"
,(
"leaf_page: %ld keypos: 0x%lx"
,
leaf_page
,
(
ulong
)
keypos
));
DBUG_DUMP
(
"leaf_buff"
,(
byte
*
)
leaf_buff
,
mi_getint
(
leaf_buff
));
DBUG_DUMP
(
"leaf_buff"
,(
byte
*
)
leaf_buff
,
mi_getint
(
leaf_buff
));
endpos
=
leaf_buff
+
mi_getint
(
leaf_buff
);
endpos
=
leaf_buff
+
mi_getint
(
leaf_buff
);
...
@@ -495,7 +496,8 @@ static int underflow(register MI_INFO *info, register MI_KEYDEF *keyinfo,
...
@@ -495,7 +496,8 @@ static int underflow(register MI_INFO *info, register MI_KEYDEF *keyinfo,
MI_KEY_PARAM
s_temp
;
MI_KEY_PARAM
s_temp
;
MYISAM_SHARE
*
share
=
info
->
s
;
MYISAM_SHARE
*
share
=
info
->
s
;
DBUG_ENTER
(
"underflow"
);
DBUG_ENTER
(
"underflow"
);
DBUG_PRINT
(
"enter"
,(
"leaf_page: %ld keypos: %lx"
,(
long
)
leaf_page
,
keypos
));
DBUG_PRINT
(
"enter"
,(
"leaf_page: %ld keypos: 0x%lx"
,(
long
)
leaf_page
,
(
ulong
)
keypos
));
DBUG_DUMP
(
"anc_buff"
,(
byte
*
)
anc_buff
,
mi_getint
(
anc_buff
));
DBUG_DUMP
(
"anc_buff"
,(
byte
*
)
anc_buff
,
mi_getint
(
anc_buff
));
DBUG_DUMP
(
"leaf_buff"
,(
byte
*
)
leaf_buff
,
mi_getint
(
leaf_buff
));
DBUG_DUMP
(
"leaf_buff"
,(
byte
*
)
leaf_buff
,
mi_getint
(
leaf_buff
));
...
...
mysql-test/r/date_formats.result
View file @
55616971
...
@@ -456,3 +456,11 @@ f1 f2
...
@@ -456,3 +456,11 @@ f1 f2
Warnings:
Warnings:
Warning 1292 Truncated incorrect date value: '2003-04-05 g'
Warning 1292 Truncated incorrect date value: '2003-04-05 g'
Warning 1292 Truncated incorrect datetime value: '2003-04-05 10:11:12.101010234567'
Warning 1292 Truncated incorrect datetime value: '2003-04-05 10:11:12.101010234567'
create table t1 (f1 datetime);
insert into t1 (f1) values ("2005-01-01");
insert into t1 (f1) values ("2005-02-01");
select date_format(f1, "%m") as d1, date_format(f1, "%M") as d2 from t1 order by date_format(f1, "%M");
d1 d2
02 February
01 January
drop table t1;
mysql-test/r/insert_select.result
View file @
55616971
...
@@ -678,3 +678,11 @@ f1
...
@@ -678,3 +678,11 @@ f1
2001
2001
2002
2002
drop table t1;
drop table t1;
create table t1(x int, y int);
create table t2(x int, z int);
insert into t1(x,y) select x,z from t2 on duplicate key update x=values(x);
insert into t1(x,y) select x,z from t2 on duplicate key update x=values(z);
ERROR 42S22: Unknown column 'z' in 'field list'
insert into t1(x,y) select x,z from t2 on duplicate key update x=values(t2.x);
ERROR 42S02: Unknown table 't2' in field list
drop table t1,t2;
mysql-test/t/date_formats.test
View file @
55616971
...
@@ -260,4 +260,12 @@ select str_to_date("2003-04-05 g", "%Y-%m-%d") as f1,
...
@@ -260,4 +260,12 @@ select str_to_date("2003-04-05 g", "%Y-%m-%d") as f1,
str_to_date
(
"2003-04-05 10:11:12.101010234567"
,
"%Y-%m-%d %H:%i:%S.%f"
)
as
f2
;
str_to_date
(
"2003-04-05 10:11:12.101010234567"
,
"%Y-%m-%d %H:%i:%S.%f"
)
as
f2
;
--
enable_ps_protocol
--
enable_ps_protocol
#
# Bug #14016
#
create
table
t1
(
f1
datetime
);
insert
into
t1
(
f1
)
values
(
"2005-01-01"
);
insert
into
t1
(
f1
)
values
(
"2005-02-01"
);
select
date_format
(
f1
,
"%m"
)
as
d1
,
date_format
(
f1
,
"%M"
)
as
d2
from
t1
order
by
date_format
(
f1
,
"%M"
);
drop
table
t1
;
# End of 4.1 tests
# End of 4.1 tests
mysql-test/t/insert_select.test
View file @
55616971
...
@@ -214,4 +214,16 @@ insert into t1(f1) select if(max(f1) is null, '2000',max(f1)+1) from t1;
...
@@ -214,4 +214,16 @@ insert into t1(f1) select if(max(f1) is null, '2000',max(f1)+1) from t1;
select
*
from
t1
;
select
*
from
t1
;
drop
table
t1
;
drop
table
t1
;
#
# Bug #13392 values() fails with 'ambiguous' or returns NULL
# with ON DUPLICATE and SELECT
create
table
t1
(
x
int
,
y
int
);
create
table
t2
(
x
int
,
z
int
);
insert
into
t1
(
x
,
y
)
select
x
,
z
from
t2
on
duplicate
key
update
x
=
values
(
x
);
--
error
1054
insert
into
t1
(
x
,
y
)
select
x
,
z
from
t2
on
duplicate
key
update
x
=
values
(
z
);
--
error
1109
insert
into
t1
(
x
,
y
)
select
x
,
z
from
t2
on
duplicate
key
update
x
=
values
(
t2
.
x
);
drop
table
t1
,
t2
;
# End of 4.1 tests
# End of 4.1 tests
mysql-test/t/mysql_client_test.test
View file @
55616971
...
@@ -6,7 +6,7 @@
...
@@ -6,7 +6,7 @@
# var/log/mysql_client_test.trace
# var/log/mysql_client_test.trace
--
disable_result_log
--
disable_result_log
--
exec
echo
$MYSQL_CLIENT_TEST
--
exec
echo
$MYSQL_CLIENT_TEST
--
getopt
-
ll
-
test
=
25600
M
--
exec
$MYSQL_CLIENT_TEST
--
exec
$MYSQL_CLIENT_TEST
--
getopt
-
ll
-
test
=
25600
M
# End of 4.1 tests
# End of 4.1 tests
mysys/my_getopt.c
View file @
55616971
...
@@ -689,10 +689,10 @@ static longlong getopt_ll(char *arg, const struct my_option *optp, int *err)
...
@@ -689,10 +689,10 @@ static longlong getopt_ll(char *arg, const struct my_option *optp, int *err)
ulonglong
block_size
=
(
optp
->
block_size
?
(
ulonglong
)
optp
->
block_size
:
1L
);
ulonglong
block_size
=
(
optp
->
block_size
?
(
ulonglong
)
optp
->
block_size
:
1L
);
num
=
eval_num_suffix
(
arg
,
err
,
(
char
*
)
optp
->
name
);
num
=
eval_num_suffix
(
arg
,
err
,
(
char
*
)
optp
->
name
);
if
(
num
>
0
&&
(
ulonglong
)
num
>
(
ulonglong
)
(
ulong
)
optp
->
max_value
&&
if
(
num
>
0
&&
(
ulonglong
)
num
>
(
ulonglong
)
optp
->
max_value
&&
optp
->
max_value
)
/* if max value is not set -> no upper limit */
optp
->
max_value
)
/* if max value is not set -> no upper limit */
num
=
(
longlong
)
(
u
long
)
optp
->
max_value
;
num
=
(
ulong
long
)
optp
->
max_value
;
num
=
((
num
-
(
longlong
)
optp
->
sub_size
)
/
block_size
);
num
=
((
num
-
optp
->
sub_size
)
/
block_size
);
num
=
(
longlong
)
(
num
*
block_size
);
num
=
(
longlong
)
(
num
*
block_size
);
return
max
(
num
,
optp
->
min_value
);
return
max
(
num
,
optp
->
min_value
);
}
}
...
...
sql/item.cc
View file @
55616971
...
@@ -2796,8 +2796,14 @@ bool Item_insert_value::fix_fields(THD *thd,
...
@@ -2796,8 +2796,14 @@ bool Item_insert_value::fix_fields(THD *thd,
Item
**
items
)
Item
**
items
)
{
{
DBUG_ASSERT
(
fixed
==
0
);
DBUG_ASSERT
(
fixed
==
0
);
st_table_list
*
orig_next_table
=
table_list
->
next
;
table_list
->
next
=
0
;
if
(
!
arg
->
fixed
&&
arg
->
fix_fields
(
thd
,
table_list
,
&
arg
))
if
(
!
arg
->
fixed
&&
arg
->
fix_fields
(
thd
,
table_list
,
&
arg
))
{
table_list
->
next
=
orig_next_table
;
return
1
;
return
1
;
}
table_list
->
next
=
orig_next_table
;
if
(
arg
->
type
()
==
REF_ITEM
)
if
(
arg
->
type
()
==
REF_ITEM
)
{
{
...
@@ -2809,6 +2815,7 @@ bool Item_insert_value::fix_fields(THD *thd,
...
@@ -2809,6 +2815,7 @@ bool Item_insert_value::fix_fields(THD *thd,
arg
=
ref
->
ref
[
0
];
arg
=
ref
->
ref
[
0
];
}
}
Item_field
*
field_arg
=
(
Item_field
*
)
arg
;
Item_field
*
field_arg
=
(
Item_field
*
)
arg
;
if
(
field_arg
->
field
->
table
->
insert_values
)
if
(
field_arg
->
field
->
table
->
insert_values
)
{
{
Field
*
def_field
=
(
Field
*
)
sql_alloc
(
field_arg
->
field
->
size_of
());
Field
*
def_field
=
(
Field
*
)
sql_alloc
(
field_arg
->
field
->
size_of
());
...
...
sql/item_timefunc.cc
View file @
55616971
...
@@ -1528,6 +1528,16 @@ void Item_func_date_format::fix_length_and_dec()
...
@@ -1528,6 +1528,16 @@ void Item_func_date_format::fix_length_and_dec()
if
(
args
[
1
]
->
type
()
==
STRING_ITEM
)
if
(
args
[
1
]
->
type
()
==
STRING_ITEM
)
{
// Optimize the normal case
{
// Optimize the normal case
fixed_length
=
1
;
fixed_length
=
1
;
/*
Force case sensitive collation on format string.
This needed because format modifiers with different case,
for example %m and %M, have different meaning. Thus eq()
will distinguish them.
*/
args
[
1
]
->
collation
.
set
(
get_charset_by_csname
(
args
[
1
]
->
collation
.
collation
->
csname
,
MY_CS_BINSORT
,
MYF
(
0
)),
DERIVATION_COERCIBLE
);
/*
/*
The result is a binary string (no reason to use collation->mbmaxlen
The result is a binary string (no reason to use collation->mbmaxlen
This is becasue make_date_time() only returns binary strings
This is becasue make_date_time() only returns binary strings
...
...
tests/mysql_client_test.c
View file @
55616971
...
@@ -51,6 +51,8 @@ static unsigned int iter_count= 0;
...
@@ -51,6 +51,8 @@ static unsigned int iter_count= 0;
static
const
char
*
opt_basedir
=
"./"
;
static
const
char
*
opt_basedir
=
"./"
;
static
longlong
opt_getopt_ll_test
=
0
;
static
int
embedded_server_arg_count
=
0
;
static
int
embedded_server_arg_count
=
0
;
static
char
*
embedded_server_args
[
MAX_SERVER_ARGS
];
static
char
*
embedded_server_args
[
MAX_SERVER_ARGS
];
...
@@ -11738,6 +11740,19 @@ static void test_bug11718()
...
@@ -11738,6 +11740,19 @@ static void test_bug11718()
rc
=
mysql_query
(
mysql
,
"drop table t1, t2"
);
rc
=
mysql_query
(
mysql
,
"drop table t1, t2"
);
myquery
(
rc
);
myquery
(
rc
);
}
}
/*
Bug #12925: Bad handling of maximum values in getopt
*/
static
void
test_bug12925
()
{
myheader
(
"test_bug12925"
);
if
(
opt_getopt_ll_test
)
DIE_UNLESS
(
opt_getopt_ll_test
==
LL
(
25600
*
1024
*
1024
));
}
/*
/*
Read and parse arguments and MySQL options from my.cnf
Read and parse arguments and MySQL options from my.cnf
*/
*/
...
@@ -11780,6 +11795,9 @@ static struct my_option client_test_long_options[] =
...
@@ -11780,6 +11795,9 @@ static struct my_option client_test_long_options[] =
{
"user"
,
'u'
,
"User for login if not current user"
,
(
char
**
)
&
opt_user
,
{
"user"
,
'u'
,
"User for login if not current user"
,
(
char
**
)
&
opt_user
,
(
char
**
)
&
opt_user
,
0
,
GET_STR
,
REQUIRED_ARG
,
0
,
0
,
0
,
0
,
0
,
0
},
(
char
**
)
&
opt_user
,
0
,
GET_STR
,
REQUIRED_ARG
,
0
,
0
,
0
,
0
,
0
,
0
},
#endif
#endif
{
"getopt-ll-test"
,
'g'
,
"Option for testing bug in getopt library"
,
(
char
**
)
&
opt_getopt_ll_test
,
(
char
**
)
&
opt_getopt_ll_test
,
0
,
GET_LL
,
REQUIRED_ARG
,
0
,
0
,
LONGLONG_MAX
,
0
,
0
,
0
},
{
0
,
0
,
0
,
0
,
0
,
0
,
GET_NO_ARG
,
NO_ARG
,
0
,
0
,
0
,
0
,
0
,
0
}
{
0
,
0
,
0
,
0
,
0
,
0
,
GET_NO_ARG
,
NO_ARG
,
0
,
0
,
0
,
0
,
0
,
0
}
};
};
...
@@ -11955,6 +11973,7 @@ static struct my_tests_st my_tests[]= {
...
@@ -11955,6 +11973,7 @@ static struct my_tests_st my_tests[]= {
{
"test_bug11183"
,
test_bug11183
},
{
"test_bug11183"
,
test_bug11183
},
{
"test_bug12001"
,
test_bug12001
},
{
"test_bug12001"
,
test_bug12001
},
{
"test_bug11718"
,
test_bug11718
},
{
"test_bug11718"
,
test_bug11718
},
{
"test_bug12925"
,
test_bug12925
},
{
0
,
0
}
{
0
,
0
}
};
};
...
...
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