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
9a69ad6e
Commit
9a69ad6e
authored
Jun 21, 2005
by
unknown
Browse files
Options
Browse Files
Download
Plain Diff
Merge mskold@bk-internal.mysql.com:/home/bk/mysql-4.1
into mysql.com:/usr/local/home/marty/MySQL/mysql-4.1
parents
77bc59aa
474362ba
Changes
16
Hide whitespace changes
Inline
Side-by-side
Showing
16 changed files
with
259 additions
and
182 deletions
+259
-182
VC++Files/client/mysqlclient.dsp
VC++Files/client/mysqlclient.dsp
+4
-0
VC++Files/libmysql/libmysql.dsp
VC++Files/libmysql/libmysql.dsp
+4
-0
client/mysql.cc
client/mysql.cc
+2
-1
myisam/ft_boolean_search.c
myisam/ft_boolean_search.c
+1
-1
mysql-test/lib/mtr_cases.pl
mysql-test/lib/mtr_cases.pl
+49
-26
mysql-test/lib/mtr_misc.pl
mysql-test/lib/mtr_misc.pl
+52
-0
mysql-test/lib/mtr_report.pl
mysql-test/lib/mtr_report.pl
+7
-0
mysql-test/mysql-test-run.pl
mysql-test/mysql-test-run.pl
+77
-137
mysql-test/r/fulltext.result
mysql-test/r/fulltext.result
+1
-1
mysql-test/r/group_by.result
mysql-test/r/group_by.result
+19
-0
mysql-test/t/fulltext.test
mysql-test/t/fulltext.test
+2
-2
mysql-test/t/group_by.test
mysql-test/t/group_by.test
+27
-1
sql/Makefile.am
sql/Makefile.am
+3
-10
sql/field.h
sql/field.h
+2
-0
sql/sql_select.cc
sql/sql_select.cc
+8
-3
vio/viosocket.c
vio/viosocket.c
+1
-0
No files found.
VC++Files/client/mysqlclient.dsp
View file @
9a69ad6e
...
@@ -322,6 +322,10 @@ SOURCE=..\mysys\mulalloc.c
...
@@ -322,6 +322,10 @@ SOURCE=..\mysys\mulalloc.c
# End Source File
# End Source File
# Begin Source File
# Begin Source File
SOURCE=..\mysys\my_access.c
# End Source File
# Begin Source File
SOURCE=..\mysys\my_alloc.c
SOURCE=..\mysys\my_alloc.c
# End Source File
# End Source File
# Begin Source File
# Begin Source File
...
...
VC++Files/libmysql/libmysql.dsp
View file @
9a69ad6e
...
@@ -295,6 +295,10 @@ SOURCE=..\mysys\mulalloc.c
...
@@ -295,6 +295,10 @@ SOURCE=..\mysys\mulalloc.c
# End Source File
# End Source File
# Begin Source File
# Begin Source File
SOURCE=..\mysys\my_access.c
# End Source File
# Begin Source File
SOURCE=..\mysys\my_alloc.c
SOURCE=..\mysys\my_alloc.c
# End Source File
# End Source File
# Begin Source File
# Begin Source File
...
...
client/mysql.cc
View file @
9a69ad6e
...
@@ -989,7 +989,8 @@ static int read_lines(bool execute_commands)
...
@@ -989,7 +989,8 @@ static int read_lines(bool execute_commands)
a nil, it still needs the space in the linebuffer for it. This is,
a nil, it still needs the space in the linebuffer for it. This is,
naturally, undocumented.
naturally, undocumented.
*/
*/
}
while
(
linebuffer
[
0
]
<=
linebuffer
[
1
]
+
1
);
}
while
((
unsigned
char
)
linebuffer
[
0
]
<=
(
unsigned
char
)
linebuffer
[
1
]
+
1
);
line
=
buffer
.
c_ptr
();
line
=
buffer
.
c_ptr
();
#endif
/* __NETWARE__ */
#endif
/* __NETWARE__ */
#else
#else
...
...
myisam/ft_boolean_search.c
View file @
9a69ad6e
...
@@ -398,7 +398,7 @@ FT_INFO * ft_init_boolean_search(MI_INFO *info, uint keynr, byte *query,
...
@@ -398,7 +398,7 @@ FT_INFO * ft_init_boolean_search(MI_INFO *info, uint keynr, byte *query,
Hack: instead of init_queue, we'll use reinit queue to be able
Hack: instead of init_queue, we'll use reinit queue to be able
to alloc queue with alloc_root()
to alloc queue with alloc_root()
*/
*/
res
=
ftb
->
queue
.
max_elements
=
1
+
query_len
/
(
min
(
ft_min_word_len
,
2
)
+
1
)
;
res
=
ftb
->
queue
.
max_elements
=
1
+
query_len
/
2
;
if
(
!
(
ftb
->
queue
.
root
=
if
(
!
(
ftb
->
queue
.
root
=
(
byte
**
)
alloc_root
(
&
ftb
->
mem_root
,
(
res
+
1
)
*
sizeof
(
void
*
))))
(
byte
**
)
alloc_root
(
&
ftb
->
mem_root
,
(
res
+
1
)
*
sizeof
(
void
*
))))
goto
err
;
goto
err
;
...
...
mysql-test/lib/mtr_cases.pl
View file @
9a69ad6e
...
@@ -4,6 +4,7 @@
...
@@ -4,6 +4,7 @@
# and is part of the translation of the Bourne shell script with the
# and is part of the translation of the Bourne shell script with the
# same name.
# same name.
use
File::
Basename
;
use
strict
;
use
strict
;
sub
collect_test_cases
($);
sub
collect_test_cases
($);
...
@@ -39,6 +40,7 @@ sub collect_test_cases ($) {
...
@@ -39,6 +40,7 @@ sub collect_test_cases ($) {
if
(
@::opt_cases
)
if
(
@::opt_cases
)
{
{
foreach
my
$tname
(
@::opt_cases
)
{
# Run in specified order, no sort
foreach
my
$tname
(
@::opt_cases
)
{
# Run in specified order, no sort
$tname
=
basename
(
$tname
,
"
.test
");
my
$elem
=
"
$tname
.test
";
my
$elem
=
"
$tname
.test
";
if
(
!
-
f
"
$testdir
/
$elem
")
if
(
!
-
f
"
$testdir
/
$elem
")
{
{
...
@@ -161,52 +163,73 @@ sub collect_one_test_case($$$$$) {
...
@@ -161,52 +163,73 @@ sub collect_one_test_case($$$$$) {
my
$slave_sh
=
"
$testdir
/
$tname
-slave.sh
";
my
$slave_sh
=
"
$testdir
/
$tname
-slave.sh
";
my
$disabled
=
"
$testdir
/
$tname
.disabled
";
my
$disabled
=
"
$testdir
/
$tname
.disabled
";
$tinfo
->
{'
master_opt
'}
=
["
--default-time-zone=+3:00
"
];
$tinfo
->
{'
master_opt
'}
=
$::glob_win32
?
["
--default-time-zone=+3:00
"]
:
[
]
;
$tinfo
->
{'
slave_opt
'}
=
["
--default-time-zone=+3:00
"
];
$tinfo
->
{'
slave_opt
'}
=
$::glob_win32
?
["
--default-time-zone=+3:00
"]
:
[
]
;
$tinfo
->
{'
slave_mi
'}
=
[]
;
$tinfo
->
{'
slave_mi
'}
=
[]
;
if
(
-
f
$master_opt_file
)
if
(
-
f
$master_opt_file
)
{
{
$tinfo
->
{'
master_restart
'}
=
1
;
# We think so for now
$tinfo
->
{'
master_restart
'}
=
1
;
# We think so for now
# This is a dirty hack from old mysql-test-run, we use the opt file
# to flag other things as well, it is not a opt list at all
$tinfo
->
{'
master_opt
'}
=
mtr_get_opts_from_file
(
$master_opt_file
);
foreach
my
$opt
(
@
{
$tinfo
->
{'
master_opt
'}})
MASTER_OPT:
{
{
my
$
value
;
my
$
master_opt
=
mtr_get_opts_from_file
(
$master_opt_file
)
;
$value
=
mtr_match_prefix
(
$opt
,
"
--timezone=
");
foreach
my
$opt
(
@$master_opt
)
if
(
defined
$value
)
{
{
$tinfo
->
{'
timezone
'}
=
$value
;
my
$value
;
$tinfo
->
{'
master_opt
'}
=
[]
;
$tinfo
->
{'
master_restart
'}
=
0
;
last
;
}
$value
=
mtr_match_prefix
(
$opt
,
"
--result-file=
");
# This is a dirty hack from old mysql-test-run, we use the opt
# file to flag other things as well, it is not a opt list at
# all
if
(
defined
$value
)
$value
=
mtr_match_prefix
(
$opt
,
"
--timezone=
");
{
if
(
defined
$value
)
$tinfo
->
{'
result_file
'}
=
"
r/
$value
.result
";
{
if
(
$::opt_result_ext
and
$::opt_record
or
$tinfo
->
{'
timezone
'}
=
$value
;
-
f
"
$tinfo
->{'result_file'}$::opt_result_ext
")
$tinfo
->
{'
skip
'}
=
1
if
$::glob_win32
;
# FIXME server unsets TZ
last
MASTER_OPT
;
}
$value
=
mtr_match_prefix
(
$opt
,
"
--result-file=
");
if
(
defined
$value
)
{
$tinfo
->
{'
result_file
'}
=
"
r/
$value
.result
";
if
(
$::opt_result_ext
and
$::opt_record
or
-
f
"
$tinfo
->{'result_file'}$::opt_result_ext
")
{
$tinfo
->
{'
result_file
'}
.=
$::opt_result_ext
;
}
$tinfo
->
{'
master_restart
'}
=
0
;
last
MASTER_OPT
;
}
# If we set default time zone, remove the one we have
$value
=
mtr_match_prefix
(
$opt
,
"
--default-time-zone=
");
if
(
defined
$value
)
{
{
$tinfo
->
{'
result_file
'}
.=
$::opt_result_ext
;
$tinfo
->
{'
master_opt
'}
=
[]
;
}
}
$tinfo
->
{'
master_opt
'}
=
[]
;
$tinfo
->
{'
master_restart
'}
=
0
;
last
;
}
}
# Ok, this was a real option list, add it
push
(
@
{
$tinfo
->
{'
master_opt
'}},
@$master_opt
);
}
}
}
}
if
(
-
f
$slave_opt_file
)
if
(
-
f
$slave_opt_file
)
{
{
$tinfo
->
{'
slave_opt
'}
=
mtr_get_opts_from_file
(
$slave_opt_file
);
$tinfo
->
{'
slave_restart
'}
=
1
;
$tinfo
->
{'
slave_restart
'}
=
1
;
my
$slave_opt
=
mtr_get_opts_from_file
(
$slave_opt_file
);
foreach
my
$opt
(
@$slave_opt
)
{
# If we set default time zone, remove the one we have
my
$value
=
mtr_match_prefix
(
$opt
,
"
--default-time-zone=
");
$tinfo
->
{'
slave_opt
'}
=
[]
if
defined
$value
;
}
push
(
@
{
$tinfo
->
{'
slave_opt
'}},
@$slave_opt
);
}
}
if
(
-
f
$slave_mi_file
)
if
(
-
f
$slave_mi_file
)
...
...
mysql-test/lib/mtr_misc.pl
View file @
9a69ad6e
...
@@ -9,6 +9,9 @@ use strict;
...
@@ -9,6 +9,9 @@ use strict;
sub
mtr_full_hostname
();
sub
mtr_full_hostname
();
sub
mtr_init_args
($);
sub
mtr_init_args
($);
sub
mtr_add_arg
($$);
sub
mtr_add_arg
($$);
sub
mtr_path_exists
(@);
sub
mtr_script_exists
(@);
sub
mtr_exe_exists
(@);
##############################################################################
##############################################################################
#
#
...
@@ -47,4 +50,53 @@ sub mtr_add_arg ($$) {
...
@@ -47,4 +50,53 @@ sub mtr_add_arg ($$) {
push
(
@$args
,
sprintf
(
$format
,
@fargs
));
push
(
@$args
,
sprintf
(
$format
,
@fargs
));
}
}
##############################################################################
sub
mtr_path_exists
(@)
{
foreach
my
$path
(
@_
)
{
return
$path
if
-
e
$path
;
}
if
(
@_
==
1
)
{
mtr_error
("
Could not find
$_
[0]
");
}
else
{
mtr_error
("
Could not find any of
"
.
join
("
",
@_
));
}
}
sub
mtr_script_exists
(@)
{
foreach
my
$path
(
@_
)
{
return
$path
if
-
x
$path
;
}
if
(
@_
==
1
)
{
mtr_error
("
Could not find
$_
[0]
");
}
else
{
mtr_error
("
Could not find any of
"
.
join
("
",
@_
));
}
}
sub
mtr_exe_exists
(@)
{
foreach
my
$path
(
@_
)
{
$path
.=
"
.exe
"
if
$::opt_win32
;
return
$path
if
-
x
$path
;
}
if
(
@_
==
1
)
{
mtr_error
("
Could not find
$_
[0]
");
}
else
{
mtr_error
("
Could not find any of
"
.
join
("
",
@_
));
}
}
1
;
1
;
mysql-test/lib/mtr_report.pl
View file @
9a69ad6e
...
@@ -38,6 +38,13 @@ sub mtr_show_failed_diff ($) {
...
@@ -38,6 +38,13 @@ sub mtr_show_failed_diff ($) {
my
$result_file
=
"
r/
$tname
.result
";
my
$result_file
=
"
r/
$tname
.result
";
my
$eval_file
=
"
r/
$tname
.eval
";
my
$eval_file
=
"
r/
$tname
.eval
";
if
(
$::opt_suite
ne
"
main
"
)
{
$reject_file
=
"
$::glob_mysql_test_dir/suite/$::opt_suite/
$reject_file
";
$result_file
=
"
$::glob_mysql_test_dir/suite/$::opt_suite/
$result_file
";
$eval_file
=
"
$::glob_mysql_test_dir/suite/$::opt_suite/
$eval_file
";
}
if
(
-
f
$eval_file
)
if
(
-
f
$eval_file
)
{
{
$result_file
=
$eval_file
;
$result_file
=
$eval_file
;
...
...
mysql-test/mysql-test-run.pl
View file @
9a69ad6e
...
@@ -264,6 +264,7 @@ our $opt_warnings;
...
@@ -264,6 +264,7 @@ our $opt_warnings;
our
$opt_udiff
;
our
$opt_udiff
;
our
$opt_skip_ndbcluster
;
our
$opt_with_ndbcluster
;
our
$opt_with_ndbcluster
;
our
$opt_with_openssl
;
our
$opt_with_openssl
;
...
@@ -463,6 +464,7 @@ sub command_line_setup () {
...
@@ -463,6 +464,7 @@ sub command_line_setup () {
# Control what test suites or cases to run
# Control what test suites or cases to run
'
force
'
=>
\
$opt_force
,
'
force
'
=>
\
$opt_force
,
'
with-ndbcluster
'
=>
\
$opt_with_ndbcluster
,
'
with-ndbcluster
'
=>
\
$opt_with_ndbcluster
,
'
skip-ndbcluster|skip-ndb
'
=>
\
$opt_skip_ndbcluster
,
'
do-test=s
'
=>
\
$opt_do_test
,
'
do-test=s
'
=>
\
$opt_do_test
,
'
suite=s
'
=>
\
$opt_suite
,
'
suite=s
'
=>
\
$opt_suite
,
'
skip-rpl
'
=>
\
$opt_skip_rpl
,
'
skip-rpl
'
=>
\
$opt_skip_rpl
,
...
@@ -662,6 +664,11 @@ sub command_line_setup () {
...
@@ -662,6 +664,11 @@ sub command_line_setup () {
$opt_ndbconnectstring
=
"
host=localhost:
$opt_ndbcluster_port
";
$opt_ndbconnectstring
=
"
host=localhost:
$opt_ndbcluster_port
";
}
}
if
(
$opt_skip_ndbcluster
)
{
$opt_with_ndbcluster
=
0
;
}
# FIXME
# FIXME
#if ( $opt_valgrind or $opt_valgrind_all )
#if ( $opt_valgrind or $opt_valgrind_all )
...
@@ -763,146 +770,83 @@ sub executable_setup () {
...
@@ -763,146 +770,83 @@ sub executable_setup () {
if
(
$opt_source_dist
)
if
(
$opt_source_dist
)
{
{
if
(
$glob_
use_embedded_server
)
if
(
$glob_
win32
)
{
{
if
(
-
f
"
$glob_basedir
/libmysqld/examples/mysqltest
"
)
$path_client_bindir
=
mtr_path_exists
("
$glob_basedir
/client_release
");
{
$exe_mysqld
=
mtr_exe_exists
("
$path_client_bindir
/mysqld-nt
");
$exe_mysqltest
=
"
$glob_basedir
/libmysqld/examples/mysqltest
";
$path_language
=
mtr_path_exists
("
$glob_basedir
/share/english/
");
}
$path_charsetsdir
=
mtr_path_exists
("
$glob_basedir
/share/charsets
");
else
{
mtr_error
("
Can't find embedded server 'mysqltest'
");
}
$exe_mysql_client_test
=
"
$glob_basedir
/libmysqld/examples/mysql_client_test_embedded
";
}
}
else
else
{
{
if
(
-
f
"
$glob_basedir
/client/.libs/lt-mysqltest
"
)
$path_client_bindir
=
mtr_path_exists
("
$glob_basedir
/client
");
{
$exe_mysqld
=
mtr_exe_exists
("
$glob_basedir
/sql/mysqld
");
$exe_mysqltest
=
"
$glob_basedir
/client/.libs/lt-mysqltest
";
$path_language
=
mtr_path_exists
("
$glob_basedir
/sql/share/english/
");
}
$path_charsetsdir
=
mtr_path_exists
("
$glob_basedir
/sql/share/charsets
");
elsif
(
-
f
"
$glob_basedir
/client/.libs/mysqltest
"
)
{
$exe_mysqltest
=
"
$glob_basedir
/client/.libs/mysqltest
";
}
else
{
$exe_mysqltest
=
"
$glob_basedir
/client/mysqltest
";
}
$exe_mysql_client_test
=
"
$glob_basedir
/tests/mysql_client_test
";
}
}
if
(
-
f
"
$glob_basedir
/client/.libs/mysqldump
"
)
{
if
(
$glob_use_embedded_server
)
$exe_mysqldump
=
"
$glob_basedir
/client/.libs/mysqldump
";
}
else
{
$exe_mysqldump
=
"
$glob_basedir
/client/mysqldump
";
}
if
(
-
f
"
$glob_basedir
/client/.libs/mysqlshow
"
)
{
$exe_mysqlshow
=
"
$glob_basedir
/client/.libs/mysqlshow
";
}
else
{
$exe_mysqlshow
=
"
$glob_basedir
/client/mysqlshow
";
}
if
(
-
f
"
$glob_basedir
/client/.libs/mysqlbinlog
"
)
{
{
$exe_mysqlbinlog
=
"
$glob_basedir
/client/.libs/mysqlbinlog
";
my
$path_examples
=
"
$glob_basedir
/libmysqld/examples
";
$exe_mysqltest
=
mtr_exe_exists
("
$path_examples
/mysqltest
");
$exe_mysql_client_test
=
mtr_exe_exists
("
$path_examples
/mysql_client_test_embedded
");
}
}
else
else
{
{
$exe_mysqlbinlog
=
"
$glob_basedir
/client/mysqlbinlog
";
$exe_mysqltest
=
mtr_exe_exists
("
$glob_basedir
/client/mysqltest
");
$exe_mysql_client_test
=
mtr_exe_exists
("
$glob_basedir
/tests/mysql_client_test
");
}
}
$exe_mysqldump
=
mtr_exe_exists
("
$path_client_bindir
/mysqldump
");
$path_client_bindir
=
"
$glob_basedir
/client
";
$exe_mysqlshow
=
mtr_exe_exists
("
$path_client_bindir
/mysqlshow
");
$exe_mysqld
=
"
$glob_basedir
/sql/mysqld
";
$exe_mysqlbinlog
=
mtr_exe_exists
("
$path_client_bindir
/mysqlbinlog
");
$exe_mysqladmin
=
"
$path_client_bindir
/mysqladmin
";
$exe_mysqladmin
=
mtr_exe_exists
("
$path_client_bindir
/mysqladmin
");
$exe_mysql
=
"
$path_client_bindir
/mysql
";
$exe_mysql
=
mtr_exe_exists
("
$path_client_bindir
/mysql
");
$exe_mysql_fix_system_tables
=
"
$glob_basedir
/scripts/mysql_fix_privilege_tables
";
$exe_mysql_fix_system_tables
=
$path_language
=
"
$glob_basedir
/sql/share/english/
";
mtr_script_exists
("
$glob_basedir
/scripts/mysql_fix_privilege_tables
");
$path_charsetsdir
=
"
$glob_basedir
/sql/share/charsets
";
$path_ndb_tools_dir
=
mtr_path_exists
("
$glob_basedir
/ndb/tools
");
$exe_ndb_mgm
=
"
$glob_basedir
/ndb/src/mgmclient/ndb_mgm
";
$path_ndb_tools_dir
=
"
$glob_basedir
/ndb/tools
";
$exe_ndb_mgm
=
"
$glob_basedir
/ndb/src/mgmclient/ndb_mgm
";
}
}
else
else
{
{
my
$path_tests_bindir
=
"
$glob_basedir
/tests
";
$path_client_bindir
=
mtr_path_exists
("
$glob_basedir
/bin
");
$exe_mysqltest
=
mtr_exe_exists
("
$path_client_bindir
/mysqltest
");
$path_client_bindir
=
"
$glob_basedir
/bin
";
$exe_mysqldump
=
mtr_exe_exists
("
$path_client_bindir
/mysqldump
");
$exe_mysqltest
=
"
$path_client_bindir
/mysqltest
";
$exe_mysqlshow
=
mtr_exe_exists
("
$path_client_bindir
/mysqlshow
");
$exe_mysqldump
=
"
$path_client_bindir
/mysqldump
";
$exe_mysqlbinlog
=
mtr_exe_exists
("
$path_client_bindir
/mysqlbinlog
");
$exe_mysqlshow
=
"
$path_client_bindir
/mysqlshow
";
$exe_mysqladmin
=
mtr_exe_exists
("
$path_client_bindir
/mysqladmin
");
$exe_mysqlbinlog
=
"
$path_client_bindir
/mysqlbinlog
";
$exe_mysql
=
mtr_exe_exists
("
$path_client_bindir
/mysql
");
$exe_mysqladmin
=
"
$path_client_bindir
/mysqladmin
";
$exe_mysql_fix_system_tables
=
$exe_mysql
=
"
$path_client_bindir
/mysql
";
mtr_script_exists
("
$path_client_bindir
/mysql_fix_privilege_tables
");
$exe_mysql_fix_system_tables
=
"
$path_client_bindir
/mysql_fix_privilege_tables
";
$path_language
=
mtr_path_exists
("
$glob_basedir
/share/mysql/english/
",
if
(
-
d
"
$glob_basedir
/share/mysql/english
"
)
"
$glob_basedir
/share/english/
");
{
$path_charsetsdir
=
mtr_path_exists
("
$glob_basedir
/share/mysql/charsets
",
$path_language
=
"
$glob_basedir
/share/mysql/english/
";
"
$glob_basedir
/share/charsets
");
$path_charsetsdir
=
"
$glob_basedir
/share/mysql/charsets
";
$exe_mysqld
=
mtr_exe_exists
("
$glob_basedir
/libexec/mysqld
",
}
"
$glob_basedir
/bin/mysqld
");
else
{
$path_language
=
"
$glob_basedir
/share/english/
";
$path_charsetsdir
=
"
$glob_basedir
/share/charsets
";
}
if
(
-
x
"
$glob_basedir
/libexec/mysqld
"
)
{
$exe_mysqld
=
"
$glob_basedir
/libexec/mysqld
";
}
else
{
$exe_mysqld
=
"
$glob_basedir
/bin/mysqld
";
}
if
(
$glob_use_embedded_server
)
if
(
$glob_use_embedded_server
)
{
{
if
(
-
f
"
$path_client_bindir
/mysqltest_embedded
"
)
$exe_mysqltest
=
mtr_exe_exists
("
$path_client_bindir
/mysqltest_embedded
");
{
$exe_mysql_client_test
=
# FIXME valgrind?
mtr_exe_exists
("
$glob_basedir
/tests/mysql_client_test_embedded
",
$exe_mysqltest
=
"
$path_client_bindir
/mysqltest_embedded
";
"
$path_client_bindir
/mysql_client_test_embedded
");
}
else
{
mtr_error
("
Cannot find embedded server 'mysqltest_embedded'
");
}
if
(
-
d
"
$path_tests_bindir
/mysql_client_test_embedded
"
)
{
$exe_mysql_client_test
=
"
$path_tests_bindir
/mysql_client_test_embedded
";
}
else
{
$exe_mysql_client_test
=
"
$path_client_bindir
/mysql_client_test_embedded
";
}
}
}
else
else
{
{
$exe_mysqltest
=
"
$path_client_bindir
/mysqltest
";
$exe_mysqltest
=
mtr_exe_exists
("
$path_client_bindir
/mysqltest
");
$exe_mysql_client_test
=
"
$path_client_bindir
/mysql_client_test
";
$exe_mysql_client_test
=
mtr_exe_exists
("
$path_client_bindir
/mysql_client_test
");
}
}
$path_ndb_tools_dir
=
"
$glob_basedir
/bin
";
$path_ndb_tools_dir
=
"
$glob_basedir
/bin
";
$exe_ndb_mgm
=
"
$glob_basedir
/bin/ndb_mgm
";
$exe_ndb_mgm
=
"
$glob_basedir
/bin/ndb_mgm
";
}
}
if
(
!
$exe_master_mysqld
)
$exe_master_mysqld
=
$exe_master_mysqld
||
$exe_mysqld
;
{
$exe_slave_mysqld
=
$exe_slave_mysqld
||
$exe_mysqld
;
$exe_master_mysqld
=
$exe_mysqld
;
}
if
(
!
$exe_slave_mysqld
)
{
$exe_slave_mysqld
=
$exe_mysqld
;
}
$path_ndb_backup_dir
=
$path_ndb_backup_dir
=
"
$opt_vardir
/ndbcluster-
$opt_ndbcluster_port
";
"
$opt_vardir
/ndbcluster-
$opt_ndbcluster_port
";
...
@@ -921,15 +865,19 @@ sub executable_setup () {
...
@@ -921,15 +865,19 @@ sub executable_setup () {
sub
environment_setup
()
{
sub
environment_setup
()
{
# --------------------------------------------------------------------------
# --------------------------------------------------------------------------
# Set LD_LIBRARY_PATH if we are using shared libraries
# We might not use a standard installation directory, like /usr/lib.
# Set LD_LIBRARY_PATH to make sure we find our installed libraries.
# --------------------------------------------------------------------------
# --------------------------------------------------------------------------
$ENV
{'
LD_LIBRARY_PATH
'}
=
unless
(
$opt_source_dist
)
"
$glob_basedir
/lib:
$glob_basedir
/libmysql/.libs
"
.
{
(
$ENV
{'
LD_LIBRARY_PATH
'}
?
"
:
$ENV
{'LD_LIBRARY_PATH'}
"
:
"");
$ENV
{'
LD_LIBRARY_PATH
'}
=
$ENV
{'
DYLD_LIBRARY_PATH
'}
=
"
$glob_basedir
/lib
"
.
"
$glob_basedir
/lib:
$glob_basedir
/libmysql/.libs
"
.
(
$ENV
{'
LD_LIBRARY_PATH
'}
?
"
:
$ENV
{'LD_LIBRARY_PATH'}
"
:
"");
(
$ENV
{'
DYLD_LIBRARY_PATH
'}
?
"
:
$ENV
{'DYLD_LIBRARY_PATH'}
"
:
"");
$ENV
{'
DYLD_LIBRARY_PATH
'}
=
"
$glob_basedir
/lib
"
.
(
$ENV
{'
DYLD_LIBRARY_PATH
'}
?
"
:
$ENV
{'DYLD_LIBRARY_PATH'}
"
:
"");
}
# --------------------------------------------------------------------------
# --------------------------------------------------------------------------
# Also command lines in .opt files may contain env vars
# Also command lines in .opt files may contain env vars
...
@@ -1020,11 +968,6 @@ sub kill_and_cleanup () {
...
@@ -1020,11 +968,6 @@ sub kill_and_cleanup () {
mtr_report
("
Removing Stale Files
");
mtr_report
("
Removing Stale Files
");
if
(
-
l
$opt_vardir
and
!
unlink
(
$opt_vardir
)
)
{
mtr_error
("
Can't remove soft link
\"
$opt_vardir
\"
");
}
rmtree
("
$opt_vardir
/log
");
rmtree
("
$opt_vardir
/log
");
rmtree
("
$opt_vardir
/ndbcluster-
$opt_ndbcluster_port
");
rmtree
("
$opt_vardir
/ndbcluster-
$opt_ndbcluster_port
");
rmtree
("
$opt_vardir
/run
");
rmtree
("
$opt_vardir
/run
");
...
@@ -1722,6 +1665,11 @@ sub mysqld_arguments ($$$$$) {
...
@@ -1722,6 +1665,11 @@ sub mysqld_arguments ($$$$$) {
mtr_add_arg
(
$args
,
"
%s--local-infile
",
$prefix
);
mtr_add_arg
(
$args
,
"
%s--local-infile
",
$prefix
);
mtr_add_arg
(
$args
,
"
%s--datadir=%s
",
$prefix
,
mtr_add_arg
(
$args
,
"
%s--datadir=%s
",
$prefix
,
$master
->
[
$idx
]
->
{'
path_myddir
'});
$master
->
[
$idx
]
->
{'
path_myddir
'});
if
(
$opt_skip_ndbcluster
)
{
mtr_add_arg
(
$args
,
"
%s--skip-ndbcluster
",
$prefix
);
}
}
}
if
(
$type
eq
'
slave
'
)
if
(
$type
eq
'
slave
'
)
...
@@ -1862,19 +1810,11 @@ sub mysqld_arguments ($$$$$) {
...
@@ -1862,19 +1810,11 @@ sub mysqld_arguments ($$$$$) {
mtr_add_arg
(
$args
,
"
%s--rpl-recovery-rank=1
",
$prefix
);
mtr_add_arg
(
$args
,
"
%s--rpl-recovery-rank=1
",
$prefix
);
mtr_add_arg
(
$args
,
"
%s--init-rpl-role=master
",
$prefix
);
mtr_add_arg
(
$args
,
"
%s--init-rpl-role=master
",
$prefix
);
}
}
els
e
els
if
(
$type
eq
'
master
'
)
{
{
mtr_add_arg
(
$args
,
"
%s--exit-info=256
",
$prefix
);
mtr_add_arg
(
$args
,
"
%s--exit-info=256
",
$prefix
);
mtr_add_arg
(
$args
,
"
%s--open-files-limit=1024
",
$prefix
);
mtr_add_arg
(
$args
,
"
%s--open-files-limit=1024
",
$prefix
);
mtr_add_arg
(
$args
,
"
%s--log=%s
",
$prefix
,
$master
->
[
0
]
->
{'
path_mylog
'});
if
(
$type
eq
'
master
'
)
{
mtr_add_arg
(
$args
,
"
%s--log=%s
",
$prefix
,
$master
->
[
0
]
->
{'
path_mylog
'});
}
if
(
$type
eq
'
slave
'
)
{
mtr_add_arg
(
$args
,
"
%s--log=%s
",
$prefix
,
$slave
->
[
0
]
->
{'
path_mylog
'});
}
}
}
return
$args
;
return
$args
;
...
...
mysql-test/r/fulltext.result
View file @
9a69ad6e
...
@@ -338,7 +338,7 @@ insert into t2 values (3, 1, 'xxbuz');
...
@@ -338,7 +338,7 @@ insert into t2 values (3, 1, 'xxbuz');
select * from t1 join t2 using(`t1_id`) where match (t1.name, t2.name) against('xxfoo' in boolean mode);
select * from t1 join t2 using(`t1_id`) where match (t1.name, t2.name) against('xxfoo' in boolean mode);
t1_id name t2_id t1_id name
t1_id name t2_id t1_id name
1 data1 1 1 xxfoo
1 data1 1 1 xxfoo
select * from t2 where match name against ('
a* b* c* d* e*
f*' in boolean mode);
select * from t2 where match name against ('
*a*b*c*d*e*
f*' in boolean mode);
t2_id t1_id name
t2_id t1_id name
drop table t1,t2;
drop table t1,t2;
create table t1 (a text, fulltext key (a));
create table t1 (a text, fulltext key (a));
...
...
mysql-test/r/group_by.result
View file @
9a69ad6e
...
@@ -722,3 +722,22 @@ WHERE hostname LIKE '%aol%'
...
@@ -722,3 +722,22 @@ WHERE hostname LIKE '%aol%'
GROUP BY hostname;
GROUP BY hostname;
hostname no
hostname no
cache-dtc-af05.proxy.aol.com 1
cache-dtc-af05.proxy.aol.com 1
DROP TABLE t1;
CREATE TABLE t1 (a int, b int);
INSERT INTO t1 VALUES (1,2), (1,3);
SELECT a, b FROM t1 GROUP BY 'const';
a b
1 2
SELECT DISTINCT a, b FROM t1 GROUP BY 'const';
a b
1 2
DROP TABLE t1;
CREATE TABLE t1 (id INT, dt DATETIME);
INSERT INTO t1 VALUES ( 1, '2005-05-01 12:30:00' );
INSERT INTO t1 VALUES ( 1, '2005-05-01 12:30:00' );
INSERT INTO t1 VALUES ( 1, '2005-05-01 12:30:00' );
INSERT INTO t1 VALUES ( 1, '2005-05-01 12:30:00' );
SELECT dt DIV 1 AS f, id FROM t1 GROUP BY f;
f id
20050501123000 1
DROP TABLE t1;
mysql-test/t/fulltext.test
View file @
9a69ad6e
...
@@ -253,9 +253,9 @@ insert into t2 values (3, 1, 'xxbuz');
...
@@ -253,9 +253,9 @@ insert into t2 values (3, 1, 'xxbuz');
select
*
from
t1
join
t2
using
(
`t1_id`
)
where
match
(
t1
.
name
,
t2
.
name
)
against
(
'xxfoo'
in
boolean
mode
);
select
*
from
t1
join
t2
using
(
`t1_id`
)
where
match
(
t1
.
name
,
t2
.
name
)
against
(
'xxfoo'
in
boolean
mode
);
#
#
# bug with many short (< ft_min_word_len) words in boolean search
#
Bug #7858:
bug with many short (< ft_min_word_len) words in boolean search
#
#
select
*
from
t2
where
match
name
against
(
'
a* b* c* d* e*
f*'
in
boolean
mode
);
select
*
from
t2
where
match
name
against
(
'
*a*b*c*d*e*
f*'
in
boolean
mode
);
drop
table
t1
,
t2
;
drop
table
t1
,
t2
;
#
#
...
...
mysql-test/t/group_by.test
View file @
9a69ad6e
# Initialise
# Initialise
--
disable_warnings
--
disable_warnings
drop
table
if
exists
t1
,
t2
,
t3
;
drop
table
if
exists
t1
,
t2
,
t3
;
...
@@ -524,7 +525,7 @@ select min(b) from t1;
...
@@ -524,7 +525,7 @@ select min(b) from t1;
drop
table
t1
;
drop
table
t1
;
#
#
# Test for bug #11088: GROUP BY a BLOB col
i
mn with COUNT(DISTINCT column1)
# Test for bug #11088: GROUP BY a BLOB col
u
mn with COUNT(DISTINCT column1)
#
#
CREATE
TABLE
t1
(
id
int
PRIMARY
KEY
,
user_id
int
,
hostname
longtext
);
CREATE
TABLE
t1
(
id
int
PRIMARY
KEY
,
user_id
int
,
hostname
longtext
);
...
@@ -539,3 +540,28 @@ SELECT hostname, COUNT(DISTINCT user_id) as no FROM t1
...
@@ -539,3 +540,28 @@ SELECT hostname, COUNT(DISTINCT user_id) as no FROM t1
WHERE
hostname
LIKE
'%aol%'
WHERE
hostname
LIKE
'%aol%'
GROUP
BY
hostname
;
GROUP
BY
hostname
;
DROP
TABLE
t1
;
#
# Test for bug #8614: GROUP BY 'const' with DISTINCT
#
CREATE
TABLE
t1
(
a
int
,
b
int
);
INSERT
INTO
t1
VALUES
(
1
,
2
),
(
1
,
3
);
SELECT
a
,
b
FROM
t1
GROUP
BY
'const'
;
SELECT
DISTINCT
a
,
b
FROM
t1
GROUP
BY
'const'
;
DROP
TABLE
t1
;
#
# Test for bug #11385: GROUP BY for datetime converted to decimals
#
CREATE
TABLE
t1
(
id
INT
,
dt
DATETIME
);
INSERT
INTO
t1
VALUES
(
1
,
'2005-05-01 12:30:00'
);
INSERT
INTO
t1
VALUES
(
1
,
'2005-05-01 12:30:00'
);
INSERT
INTO
t1
VALUES
(
1
,
'2005-05-01 12:30:00'
);
INSERT
INTO
t1
VALUES
(
1
,
'2005-05-01 12:30:00'
);
SELECT
dt
DIV
1
AS
f
,
id
FROM
t1
GROUP
BY
f
;
DROP
TABLE
t1
;
sql/Makefile.am
View file @
9a69ad6e
...
@@ -104,8 +104,8 @@ DEFS = -DMYSQL_SERVER \
...
@@ -104,8 +104,8 @@ DEFS = -DMYSQL_SERVER \
-DDATADIR
=
"
\"
$(MYSQLDATAdir)
\"
"
\
-DDATADIR
=
"
\"
$(MYSQLDATAdir)
\"
"
\
-DSHAREDIR
=
"
\"
$(MYSQLSHAREdir)
\"
"
\
-DSHAREDIR
=
"
\"
$(MYSQLSHAREdir)
\"
"
\
@DEFS@
@DEFS@
# Don't put lex_hash.h in BUILT_SOURCES as this will give infinite recursion
BUILT_SOURCES
=
sql_yacc.cc sql_yacc.h
BUILT_SOURCES
=
sql_yacc.cc sql_yacc.h
lex_hash.h
EXTRA_DIST
=
udf_example.cc
$(BUILT_SOURCES)
EXTRA_DIST
=
udf_example.cc
$(BUILT_SOURCES)
AM_YFLAGS
=
-d
AM_YFLAGS
=
-d
...
@@ -123,9 +123,6 @@ link_sources: mysql_tzinfo_to_sql.cc
...
@@ -123,9 +123,6 @@ link_sources: mysql_tzinfo_to_sql.cc
rm
-f
my_time.c
rm
-f
my_time.c
@
LN_CP_F@ ../sql-common/my_time.c my_time.c
@
LN_CP_F@ ../sql-common/my_time.c my_time.c
gen_lex_hash.o
:
gen_lex_hash.cc lex.h
$(CXXCOMPILE)
-c
$(INCLUDES)
$<
mysql_tzinfo_to_sql.o
:
$(mysql_tzinfo_to_sql_SOURCES)
mysql_tzinfo_to_sql.o
:
$(mysql_tzinfo_to_sql_SOURCES)
$(CXXCOMPILE)
-c
$(INCLUDES)
-DTZINFO2SQL
$<
$(CXXCOMPILE)
-c
$(INCLUDES)
-DTZINFO2SQL
$<
...
@@ -140,13 +137,9 @@ sql_yacc.o: sql_yacc.cc sql_yacc.h $(HEADERS)
...
@@ -140,13 +137,9 @@ sql_yacc.o: sql_yacc.cc sql_yacc.h $(HEADERS)
@
echo
"If it fails, re-run configure with --with-low-memory"
@
echo
"If it fails, re-run configure with --with-low-memory"
$(CXXCOMPILE)
$(LM_CFLAGS)
-c
$<
$(CXXCOMPILE)
$(LM_CFLAGS)
-c
$<
lex_hash.h
:
lex.h gen_lex_hash.cc sql_yacc.h
lex_hash.h
:
gen_lex_hash$(EXEEXT)
$(MAKE)
gen_lex_hash
$(EXEEXT)
./gen_lex_hash
$(EXEEXT)
>
$@
./gen_lex_hash
$(EXEEXT)
>
$@
# Hack to ensure that lex_hash.h is built early
sql_lex.o
:
lex_hash.h
# For testing of udf_example.so; Works on platforms with gcc
# For testing of udf_example.so; Works on platforms with gcc
# (This is not part of our build process but only provided as an example)
# (This is not part of our build process but only provided as an example)
udf_example.so
:
udf_example.cc
udf_example.so
:
udf_example.cc
...
...
sql/field.h
View file @
9a69ad6e
...
@@ -25,6 +25,7 @@
...
@@ -25,6 +25,7 @@
#endif
#endif
#define NOT_FIXED_DEC 31
#define NOT_FIXED_DEC 31
#define DATETIME_DEC 6
class
Send_field
;
class
Send_field
;
class
Protocol
;
class
Protocol
;
...
@@ -861,6 +862,7 @@ class Field_datetime :public Field_str {
...
@@ -861,6 +862,7 @@ class Field_datetime :public Field_str {
enum
ha_base_keytype
key_type
()
const
{
return
HA_KEYTYPE_ULONGLONG
;
}
enum
ha_base_keytype
key_type
()
const
{
return
HA_KEYTYPE_ULONGLONG
;
}
#endif
#endif
enum
Item_result
cmp_type
()
const
{
return
INT_RESULT
;
}
enum
Item_result
cmp_type
()
const
{
return
INT_RESULT
;
}
uint
decimals
()
const
{
return
DATETIME_DEC
;
}
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
);
...
...
sql/sql_select.cc
View file @
9a69ad6e
...
@@ -678,9 +678,14 @@ JOIN::optimize()
...
@@ -678,9 +678,14 @@ JOIN::optimize()
DBUG_RETURN
(
1
);
DBUG_RETURN
(
1
);
}
}
simple_group
=
0
;
simple_group
=
0
;
group_list
=
remove_const
(
this
,
group_list
,
conds
,
{
rollup
.
state
==
ROLLUP
::
STATE_NONE
,
ORDER
*
old_group_list
;
&
simple_group
);
group_list
=
remove_const
(
this
,
(
old_group_list
=
group_list
),
conds
,
rollup
.
state
==
ROLLUP
::
STATE_NONE
,
&
simple_group
);
if
(
old_group_list
&&
!
group_list
)
select_distinct
=
0
;
}
if
(
!
group_list
&&
group
)
if
(
!
group_list
&&
group
)
{
{
order
=
0
;
// The output has only one row
order
=
0
;
// The output has only one row
...
...
vio/viosocket.c
View file @
9a69ad6e
...
@@ -379,6 +379,7 @@ int vio_close_pipe(Vio * vio)
...
@@ -379,6 +379,7 @@ int vio_close_pipe(Vio * vio)
void
vio_ignore_timeout
(
Vio
*
vio
__attribute__
((
unused
)),
void
vio_ignore_timeout
(
Vio
*
vio
__attribute__
((
unused
)),
uint
which
__attribute__
((
unused
)),
uint
timeout
__attribute__
((
unused
)))
uint
timeout
__attribute__
((
unused
)))
{
{
}
}
...
...
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