Automatic merge with 5.1
This commit is contained in:
commit
056cebe61a
@ -1,25 +1,20 @@
|
|||||||
|
MariaDB and MySQL have identical install methods. In this document we
|
||||||
|
describe how to install MariaDB; However all documentation at www.mysql.com
|
||||||
|
also applies.
|
||||||
|
|
||||||
2.9. Installing MySQL from tar.gz Packages on Other Unix-Like Systems
|
|
||||||
|
|
||||||
This section covers the installation of MySQL binary distributions
|
2.9. Installing MariaDB from tar.gz Packages on Other Unix-Like Systems
|
||||||
|
|
||||||
|
This section covers the installation of MariaDB binary distributions
|
||||||
that are provided for various platforms in the form of compressed
|
that are provided for various platforms in the form of compressed
|
||||||
tar files (files with a .tar.gz extension). See Section 2.1.2.4,
|
tar files (files with a .tar.gz extension).
|
||||||
"MySQL Binaries Compiled by Sun Microsystems, Inc.," for a
|
|
||||||
detailed list.
|
|
||||||
|
|
||||||
To obtain MySQL, see Section 2.1.3, "How to Get MySQL."
|
MariaDB tar file binary distributions have names of the form
|
||||||
|
mariadb-VERSION-OS.tar.gz, where VERSION is a number (for example,
|
||||||
MySQL tar file binary distributions have names of the form
|
|
||||||
mysql-VERSION-OS.tar.gz, where VERSION is a number (for example,
|
|
||||||
5.1.39), and OS indicates the type of operating system for which
|
5.1.39), and OS indicates the type of operating system for which
|
||||||
the distribution is intended (for example, pc-linux-i686).
|
the distribution is intended (for example, pc-linux-i686).
|
||||||
|
|
||||||
In addition to these generic packages, we also offer binaries in
|
You need the following tools to install a MariaDB tar file binary
|
||||||
platform-specific package formats for selected platforms. See
|
|
||||||
Section 2.2, "Standard MySQL Installation Using a Binary
|
|
||||||
Distribution," for more information on how to install these.
|
|
||||||
|
|
||||||
You need the following tools to install a MySQL tar file binary
|
|
||||||
distribution:
|
distribution:
|
||||||
|
|
||||||
* GNU gunzip to uncompress the distribution.
|
* GNU gunzip to uncompress the distribution.
|
||||||
@ -33,11 +28,14 @@
|
|||||||
program. On other systems with a deficient tar, you should
|
program. On other systems with a deficient tar, you should
|
||||||
install GNU tar first.
|
install GNU tar first.
|
||||||
|
|
||||||
If you run into problems and need to file a bug report, please use
|
If you run into problems and need to file a bug report,
|
||||||
the instructions in Section 1.6, "How to Report Bugs or Problems."
|
please report them to: http://bugs.launchpad.net/maria
|
||||||
|
|
||||||
|
See the instructions in Section 1.6, "How to Report Bugs or Problems."
|
||||||
|
|
||||||
The basic commands that you must execute to install and use a
|
The basic commands that you must execute to install and use a
|
||||||
MySQL binary distribution are:
|
MariaDB binary distribution are:
|
||||||
|
|
||||||
shell> groupadd mysql
|
shell> groupadd mysql
|
||||||
shell> useradd -g mysql mysql
|
shell> useradd -g mysql mysql
|
||||||
shell> cd /usr/local
|
shell> cd /usr/local
|
||||||
@ -53,7 +51,7 @@ shell> bin/mysqld_safe --user=mysql &
|
|||||||
|
|
||||||
Note
|
Note
|
||||||
|
|
||||||
This procedure does not set up any passwords for MySQL accounts.
|
This procedure does not set up any passwords for MariaDB accounts.
|
||||||
After following the procedure, proceed to Section 2.11,
|
After following the procedure, proceed to Section 2.11,
|
||||||
"Post-Installation Setup and Testing."
|
"Post-Installation Setup and Testing."
|
||||||
|
|
||||||
@ -80,8 +78,8 @@ shell> useradd -g mysql mysql
|
|||||||
shell> cd /usr/local
|
shell> cd /usr/local
|
||||||
|
|
||||||
3. Obtain a distribution file using the instructions in Section
|
3. Obtain a distribution file using the instructions in Section
|
||||||
2.1.3, "How to Get MySQL." For a given release, binary
|
2.1.3, "How to Get MariaDB." For a given release, binary
|
||||||
distributions for all platforms are built from the same MySQL
|
distributions for all platforms are built from the same MariaDB
|
||||||
source distribution.
|
source distribution.
|
||||||
|
|
||||||
4. Unpack the distribution, which creates the installation
|
4. Unpack the distribution, which creates the installation
|
||||||
@ -106,7 +104,7 @@ shell> cd mysql
|
|||||||
+ The bin directory contains client programs and the
|
+ The bin directory contains client programs and the
|
||||||
server. You should add the full path name of this
|
server. You should add the full path name of this
|
||||||
directory to your PATH environment variable so that your
|
directory to your PATH environment variable so that your
|
||||||
shell finds the MySQL programs properly. See Section
|
shell finds the MariaDB programs properly. See Section
|
||||||
2.14, "Environment Variables."
|
2.14, "Environment Variables."
|
||||||
|
|
||||||
+ The scripts directory contains the mysql_install_db
|
+ The scripts directory contains the mysql_install_db
|
||||||
@ -126,8 +124,8 @@ shell> chgrp -R mysql .
|
|||||||
the mysql user. The second changes the group attribute to the
|
the mysql user. The second changes the group attribute to the
|
||||||
mysql group.
|
mysql group.
|
||||||
|
|
||||||
7. If you have not installed MySQL before, you must create the
|
7. If you have not installed MariaDB before, you must create the
|
||||||
MySQL data directory and initialize the grant tables:
|
MariaDB data directory and initialize the grant tables:
|
||||||
shell> scripts/mysql_install_db --user=mysql
|
shell> scripts/mysql_install_db --user=mysql
|
||||||
If you run the command as root, include the --user option as
|
If you run the command as root, include the --user option as
|
||||||
shown. If you run the command while logged in as that user,
|
shown. If you run the command while logged in as that user,
|
||||||
@ -137,25 +135,26 @@ shell> scripts/mysql_install_db --user=mysql
|
|||||||
After creating or updating the grant tables, you need to
|
After creating or updating the grant tables, you need to
|
||||||
restart the server manually.
|
restart the server manually.
|
||||||
|
|
||||||
8. Most of the MySQL installation can be owned by root if you
|
8. Most of the MariaDB installation can be owned by root if you
|
||||||
like. The exception is that the data directory must be owned
|
like. The exception is that the data directory must be owned
|
||||||
by mysql. To accomplish this, run the following commands as
|
by mysql. To accomplish this, run the following commands as
|
||||||
root in the installation directory:
|
root in the installation directory:
|
||||||
|
|
||||||
shell> chown -R root .
|
shell> chown -R root .
|
||||||
shell> chown -R mysql data
|
shell> chown -R mysql data
|
||||||
|
|
||||||
9. If you want MySQL to start automatically when you boot your
|
9. If you want MariaDB to start automatically when you boot your
|
||||||
machine, you can copy support-files/mysql.server to the
|
machine, you can copy support-files/mysql.server to the
|
||||||
location where your system has its startup files. More
|
location where your system has its startup files. More
|
||||||
information can be found in the support-files/mysql.server
|
information can be found in the support-files/mysql.server
|
||||||
script itself and in Section 2.11.2.2, "Starting and Stopping
|
script itself and in Section 2.11.2.2, "Starting and Stopping
|
||||||
MySQL Automatically."
|
MariaDB Automatically."
|
||||||
10. You can set up new accounts using the bin/mysql_setpermission
|
10. You can set up new accounts using the bin/mysql_setpermission
|
||||||
script if you install the DBI and DBD::mysql Perl modules. See
|
script if you install the DBI and DBD::mysql Perl modules. See
|
||||||
Section 4.6.14, "mysql_setpermission --- Interactively Set
|
Section 4.6.14, "mysql_setpermission --- Interactively Set
|
||||||
Permissions in Grant Tables." For Perl module installation
|
Permissions in Grant Tables." For Perl module installation
|
||||||
instructions, see Section 2.15, "Perl Installation Notes."
|
instructions, see Section 2.15, "Perl Installation Notes."
|
||||||
11. If you would like to use mysqlaccess and have the MySQL
|
11. If you would like to use mysqlaccess and have the MariaDB
|
||||||
distribution in some nonstandard location, you must change the
|
distribution in some nonstandard location, you must change the
|
||||||
location where mysqlaccess expects to find the mysql client.
|
location where mysqlaccess expects to find the mysql client.
|
||||||
Edit the bin/mysqlaccess script at approximately line 18.
|
Edit the bin/mysqlaccess script at approximately line 18.
|
||||||
@ -166,7 +165,7 @@ $MYSQL = '/usr/local/bin/mysql'; # path to mysql executable
|
|||||||
error will occur when you run mysqlaccess.
|
error will occur when you run mysqlaccess.
|
||||||
|
|
||||||
After everything has been unpacked and installed, you should test
|
After everything has been unpacked and installed, you should test
|
||||||
your distribution. To start the MySQL server, use the following
|
your distribution. To start the MariaDB server, use the following
|
||||||
command:
|
command:
|
||||||
shell> bin/mysqld_safe --user=mysql &
|
shell> bin/mysqld_safe --user=mysql &
|
||||||
|
|
||||||
@ -185,7 +184,7 @@ shell> bin/mysqld_safe --user=mysql &
|
|||||||
|
|
||||||
Note
|
Note
|
||||||
|
|
||||||
The accounts that are listed in the MySQL grant tables initially
|
The accounts that are listed in the MariaDB grant tables initially
|
||||||
have no passwords. After starting the server, you should set up
|
have no passwords. After starting the server, you should set up
|
||||||
passwords for them using the instructions in Section 2.11,
|
passwords for them using the instructions in Section 2.11,
|
||||||
"Post-Installation Setup and Testing."
|
"Post-Installation Setup and Testing."
|
||||||
|
@ -868,7 +868,7 @@ Space compression makes the index file smaller if the string column has a lot of
|
|||||||
Prefix compression helps if there are many strings with an identical prefix.
|
Prefix compression helps if there are many strings with an identical prefix.
|
||||||
|
|
||||||
In memory table characteristics
|
In memory table characteristics
|
||||||
HEAP tables only exists in memory so they are lost if `mysqld' is taken down or crashes. But since they are *very* fast they are usefull as anyway.
|
HEAP tables only exists in memory so they are lost if `mysqld' is taken down or crashes. But since they are *very* fast they are useful as anyway.
|
||||||
|
|
||||||
The *MySQL* internal HEAP tables uses 100% dynamic hashing without overflow areas and don't have problems with delete.
|
The *MySQL* internal HEAP tables uses 100% dynamic hashing without overflow areas and don't have problems with delete.
|
||||||
|
|
||||||
|
@ -1,3 +1,10 @@
|
|||||||
|
MariaDB is in most aspects identical to MySQL.
|
||||||
|
|
||||||
|
Differences between MySQL and MariaDB can be found at:
|
||||||
|
http://askmonty.org/wiki/index.php/MariaDB_versus_MySQL
|
||||||
|
|
||||||
|
The MariaDB references manual can be found at:
|
||||||
|
http://askmonty.org/wiki/index.php/Manual
|
||||||
|
|
||||||
The MySQL Reference Manual is available in various formats on
|
The MySQL Reference Manual is available in various formats on
|
||||||
http://dev.mysql.com/doc; if you're interested in the DocBook XML
|
http://dev.mysql.com/doc; if you're interested in the DocBook XML
|
||||||
|
1
README
1
README
@ -1,5 +1,4 @@
|
|||||||
This is a release of MariaDB, a branch of MySQL.
|
This is a release of MariaDB, a branch of MySQL.
|
||||||
MySQL is brought to you by the MySQL team at Sun Microsystems, Inc.
|
|
||||||
|
|
||||||
MariaDB is a drop-in replacement of MySQL, with more features, less
|
MariaDB is a drop-in replacement of MySQL, with more features, less
|
||||||
bugs and better performance.
|
bugs and better performance.
|
||||||
|
@ -3812,8 +3812,9 @@ static int
|
|||||||
com_edit(String *buffer,char *line __attribute__((unused)))
|
com_edit(String *buffer,char *line __attribute__((unused)))
|
||||||
{
|
{
|
||||||
char filename[FN_REFLEN],buff[160];
|
char filename[FN_REFLEN],buff[160];
|
||||||
int fd,tmp;
|
int fd,tmp,error;
|
||||||
const char *editor;
|
const char *editor;
|
||||||
|
MY_STAT stat_arg;
|
||||||
|
|
||||||
if ((fd=create_temp_file(filename,NullS,"sql", O_CREAT | O_WRONLY,
|
if ((fd=create_temp_file(filename,NullS,"sql", O_CREAT | O_WRONLY,
|
||||||
MYF(MY_WME))) < 0)
|
MYF(MY_WME))) < 0)
|
||||||
@ -3829,9 +3830,13 @@ com_edit(String *buffer,char *line __attribute__((unused)))
|
|||||||
!(editor = (char *)getenv("VISUAL")))
|
!(editor = (char *)getenv("VISUAL")))
|
||||||
editor = "vi";
|
editor = "vi";
|
||||||
strxmov(buff,editor," ",filename,NullS);
|
strxmov(buff,editor," ",filename,NullS);
|
||||||
(void) system(buff);
|
if ((error= system(buff)))
|
||||||
|
{
|
||||||
|
char errmsg[100];
|
||||||
|
sprintf(errmsg, "Command '%.40s' failed", buff);
|
||||||
|
put_info(errmsg, INFO_ERROR, 0, NullS);
|
||||||
|
}
|
||||||
|
|
||||||
MY_STAT stat_arg;
|
|
||||||
if (!my_stat(filename,&stat_arg,MYF(MY_WME)))
|
if (!my_stat(filename,&stat_arg,MYF(MY_WME)))
|
||||||
goto err;
|
goto err;
|
||||||
if ((fd = my_open(filename,O_RDONLY, MYF(MY_WME))) < 0)
|
if ((fd = my_open(filename,O_RDONLY, MYF(MY_WME))) < 0)
|
||||||
|
@ -559,12 +559,11 @@ static int upgrade_already_done(void)
|
|||||||
if (!(in= my_fopen(upgrade_info_file, O_RDONLY, MYF(0))))
|
if (!(in= my_fopen(upgrade_info_file, O_RDONLY, MYF(0))))
|
||||||
return 0; /* Could not open file => not sure */
|
return 0; /* Could not open file => not sure */
|
||||||
|
|
||||||
/*
|
|
||||||
Read from file, don't care if it fails since it
|
|
||||||
will be detected by the strncmp
|
|
||||||
*/
|
|
||||||
bzero(buf, sizeof(buf));
|
bzero(buf, sizeof(buf));
|
||||||
fgets(buf, sizeof(buf), in);
|
if (!fgets(buf, sizeof(buf), in))
|
||||||
|
{
|
||||||
|
/* Ignore, will be detected by strncmp() below */
|
||||||
|
}
|
||||||
|
|
||||||
my_fclose(in, MYF(0));
|
my_fclose(in, MYF(0));
|
||||||
|
|
||||||
|
@ -1136,8 +1136,8 @@ static int drop_db(MYSQL *mysql, const char *db)
|
|||||||
puts("Any data stored in the database will be destroyed.\n");
|
puts("Any data stored in the database will be destroyed.\n");
|
||||||
printf("Do you really want to drop the '%s' database [y/N] ",db);
|
printf("Do you really want to drop the '%s' database [y/N] ",db);
|
||||||
fflush(stdout);
|
fflush(stdout);
|
||||||
VOID(fgets(buf,sizeof(buf)-1,stdin));
|
if (fgets(buf,sizeof(buf)-1,stdin) == 0 ||
|
||||||
if ((*buf != 'y') && (*buf != 'Y'))
|
(*buf != 'y') && (*buf != 'Y'))
|
||||||
{
|
{
|
||||||
puts("\nOK, aborting database drop!");
|
puts("\nOK, aborting database drop!");
|
||||||
return -1;
|
return -1;
|
||||||
|
@ -472,7 +472,7 @@ void concurrency_loop(MYSQL *mysql, uint current, option_string *eptr)
|
|||||||
run_query(mysql, "SET AUTOCOMMIT=0", strlen("SET AUTOCOMMIT=0"));
|
run_query(mysql, "SET AUTOCOMMIT=0", strlen("SET AUTOCOMMIT=0"));
|
||||||
|
|
||||||
if (pre_system)
|
if (pre_system)
|
||||||
system(pre_system);
|
if (system(pre_system)) { /* Ignore for now */ }
|
||||||
|
|
||||||
/*
|
/*
|
||||||
Pre statements are always run after all other logic so they can
|
Pre statements are always run after all other logic so they can
|
||||||
@ -487,7 +487,7 @@ void concurrency_loop(MYSQL *mysql, uint current, option_string *eptr)
|
|||||||
run_statements(mysql, post_statements);
|
run_statements(mysql, post_statements);
|
||||||
|
|
||||||
if (post_system)
|
if (post_system)
|
||||||
system(post_system);
|
if (system(post_system)) { /* Ignore for now */ }
|
||||||
|
|
||||||
/* We are finished with this run */
|
/* We are finished with this run */
|
||||||
if (auto_generate_sql_autoincrement || auto_generate_sql_guid_primary)
|
if (auto_generate_sql_autoincrement || auto_generate_sql_guid_primary)
|
||||||
|
14
configure.in
14
configure.in
@ -15,7 +15,7 @@ AC_CANONICAL_SYSTEM
|
|||||||
# MySQL version number.
|
# MySQL version number.
|
||||||
#
|
#
|
||||||
# Note: the following line must be parseable by win/configure.js:GetVersion()
|
# Note: the following line must be parseable by win/configure.js:GetVersion()
|
||||||
AM_INIT_AUTOMAKE(mysql, 5.2.0-alpha)
|
AM_INIT_AUTOMAKE(mysql, 5.2.0-MariaDB-alpha)
|
||||||
AM_CONFIG_HEADER([include/config.h:config.h.in])
|
AM_CONFIG_HEADER([include/config.h:config.h.in])
|
||||||
|
|
||||||
PROTOCOL_VERSION=10
|
PROTOCOL_VERSION=10
|
||||||
@ -2858,7 +2858,7 @@ do
|
|||||||
done
|
done
|
||||||
AC_SUBST(sql_union_dirs)
|
AC_SUBST(sql_union_dirs)
|
||||||
|
|
||||||
# Some usefull subst
|
# Some useful subst
|
||||||
AC_SUBST(CC)
|
AC_SUBST(CC)
|
||||||
AC_SUBST(GXX)
|
AC_SUBST(GXX)
|
||||||
|
|
||||||
@ -2908,13 +2908,11 @@ AC_CONFIG_COMMANDS_POST(ac_configure_args="$ac_configure_args CFLAGS='$CFLAGS' C
|
|||||||
AC_OUTPUT
|
AC_OUTPUT
|
||||||
|
|
||||||
echo
|
echo
|
||||||
echo "MySQL has a Web site at http://www.mysql.com/ which carries details on the"
|
echo "You can find information about MariaDB at"
|
||||||
echo "latest release, upcoming features, and other information to make your"
|
echo http://askmonty.org/wiki/index.php/MariaDB
|
||||||
echo "work or play with MySQL more productive. There you can also find"
|
|
||||||
echo "information about mailing lists for MySQL discussion."
|
|
||||||
echo
|
echo
|
||||||
echo "Remember to check the platform specific part of the reference manual for"
|
echo "Remember to check the platform specific part of the reference manual for"
|
||||||
echo "hints about installing MySQL on your platform. Also have a look at the"
|
echo "hints about installing MariaDB on your platform. Also have a look at the"
|
||||||
echo "files in the Docs directory."
|
echo "files in the Docs directory."
|
||||||
echo
|
echo
|
||||||
|
|
||||||
@ -2933,5 +2931,5 @@ echo "---"
|
|||||||
|
|
||||||
# The following text is checked in ./Do-compile to verify that configure
|
# The following text is checked in ./Do-compile to verify that configure
|
||||||
# ended sucessfully - don't remove it.
|
# ended sucessfully - don't remove it.
|
||||||
echo "Thank you for choosing MySQL!"
|
echo "Thank you for choosing MariaDB!"
|
||||||
echo
|
echo
|
||||||
|
@ -953,7 +953,11 @@ x509* PemToDer(FILE* file, CertType type, EncryptedInfo* info)
|
|||||||
info->set = true;
|
info->set = true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
fgets(line,sizeof(line), file); // get blank line
|
// get blank line
|
||||||
|
if (fgets(line,sizeof(line), file) == 0)
|
||||||
|
{
|
||||||
|
/* Impossible case */
|
||||||
|
}
|
||||||
begin = ftell(file);
|
begin = ftell(file);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -52,6 +52,7 @@ void AES::Process(byte* out, const byte* in, word32 sz)
|
|||||||
in += BLOCK_SIZE;
|
in += BLOCK_SIZE;
|
||||||
}
|
}
|
||||||
else if (mode_ == CBC)
|
else if (mode_ == CBC)
|
||||||
|
{
|
||||||
if (dir_ == ENCRYPTION)
|
if (dir_ == ENCRYPTION)
|
||||||
while (blocks--) {
|
while (blocks--) {
|
||||||
r_[0] ^= *(word32*)in;
|
r_[0] ^= *(word32*)in;
|
||||||
@ -78,6 +79,7 @@ void AES::Process(byte* out, const byte* in, word32 sz)
|
|||||||
out += BLOCK_SIZE;
|
out += BLOCK_SIZE;
|
||||||
in += BLOCK_SIZE;
|
in += BLOCK_SIZE;
|
||||||
}
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif // DO_AES_ASM
|
#endif // DO_AES_ASM
|
||||||
|
@ -54,6 +54,7 @@ void Blowfish::Process(byte* out, const byte* in, word32 sz)
|
|||||||
in += BLOCK_SIZE;
|
in += BLOCK_SIZE;
|
||||||
}
|
}
|
||||||
else if (mode_ == CBC)
|
else if (mode_ == CBC)
|
||||||
|
{
|
||||||
if (dir_ == ENCRYPTION)
|
if (dir_ == ENCRYPTION)
|
||||||
while (blocks--) {
|
while (blocks--) {
|
||||||
r_[0] ^= *(word32*)in;
|
r_[0] ^= *(word32*)in;
|
||||||
@ -78,6 +79,7 @@ void Blowfish::Process(byte* out, const byte* in, word32 sz)
|
|||||||
out += BLOCK_SIZE;
|
out += BLOCK_SIZE;
|
||||||
in += BLOCK_SIZE;
|
in += BLOCK_SIZE;
|
||||||
}
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif // DO_BLOWFISH_ASM
|
#endif // DO_BLOWFISH_ASM
|
||||||
|
@ -166,6 +166,7 @@ word Crop(word value, unsigned int size)
|
|||||||
|
|
||||||
#ifdef TAOCRYPT_X86ASM_AVAILABLE
|
#ifdef TAOCRYPT_X86ASM_AVAILABLE
|
||||||
|
|
||||||
|
#ifdef NOT_USED
|
||||||
#ifndef _MSC_VER
|
#ifndef _MSC_VER
|
||||||
static jmp_buf s_env;
|
static jmp_buf s_env;
|
||||||
static void SigIllHandler(int)
|
static void SigIllHandler(int)
|
||||||
@ -173,6 +174,7 @@ word Crop(word value, unsigned int size)
|
|||||||
longjmp(s_env, 1);
|
longjmp(s_env, 1);
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
bool HaveCpuId()
|
bool HaveCpuId()
|
||||||
|
@ -63,7 +63,8 @@ extern const char * NEAR globerrs[]; /* my_error_messages is here */
|
|||||||
#define EE_FILENOTFOUND 29
|
#define EE_FILENOTFOUND 29
|
||||||
#define EE_FILE_NOT_CLOSED 30
|
#define EE_FILE_NOT_CLOSED 30
|
||||||
#define EE_CANT_CHMOD 31
|
#define EE_CANT_CHMOD 31
|
||||||
#define EE_ERROR_LAST 31 /* Copy last error nr */
|
#define EE_CANT_COPY_OWNERSHIP 32
|
||||||
|
#define EE_ERROR_LAST 32 /* Copy last error nr */
|
||||||
/* Add error numbers before EE_ERROR_LAST and change it accordingly. */
|
/* Add error numbers before EE_ERROR_LAST and change it accordingly. */
|
||||||
|
|
||||||
/* exit codes for all MySQL programs */
|
/* exit codes for all MySQL programs */
|
||||||
|
@ -1432,7 +1432,8 @@ mysql_get_server_info(MYSQL *mysql)
|
|||||||
|
|
||||||
my_bool STDCALL mariadb_connection(MYSQL *mysql)
|
my_bool STDCALL mariadb_connection(MYSQL *mysql)
|
||||||
{
|
{
|
||||||
return strinstr(mysql->server_version, "MariaDB") != 0;
|
return (strinstr(mysql->server_version, "MariaDB") != 0 ||
|
||||||
|
strinstr(mysql->server_version, "-maria-") != 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
const char * STDCALL
|
const char * STDCALL
|
||||||
|
@ -1100,7 +1100,7 @@ mysql-stress-test.pl --stress-basedir=<dir> --stress-suite-basedir=<dir> --serve
|
|||||||
they specified in the list file.
|
they specified in the list file.
|
||||||
|
|
||||||
--sleep-time=<time in seconds>
|
--sleep-time=<time in seconds>
|
||||||
Delay between test execution. Could be usefull in continued testsing
|
Delay between test execution. Could be useful in continued testsing
|
||||||
when one of instance of stress script perform periodical cleanup or
|
when one of instance of stress script perform periodical cleanup or
|
||||||
recreating of some database objects
|
recreating of some database objects
|
||||||
|
|
||||||
@ -1109,7 +1109,7 @@ mysql-stress-test.pl --stress-basedir=<dir> --stress-suite-basedir=<dir> --serve
|
|||||||
|
|
||||||
--check-tests-file
|
--check-tests-file
|
||||||
Check file with list of tests. If file was modified it will force to
|
Check file with list of tests. If file was modified it will force to
|
||||||
reread list of tests. Could be usefull in continued testing for
|
reread list of tests. Could be useful in continued testing for
|
||||||
adding/removing tests without script interruption
|
adding/removing tests without script interruption
|
||||||
|
|
||||||
--mysqltest=/path/to/mysqltest binary
|
--mysqltest=/path/to/mysqltest binary
|
||||||
|
@ -2402,7 +2402,7 @@ sub check_ndbcluster_support ($) {
|
|||||||
|
|
||||||
if ( ! $mysqld_variables{'ndb-connectstring'} )
|
if ( ! $mysqld_variables{'ndb-connectstring'} )
|
||||||
{
|
{
|
||||||
mtr_report(" - skipping ndbcluster, mysqld not compiled with ndbcluster");
|
#mtr_report(" - skipping ndbcluster, mysqld not compiled with ndbcluster");
|
||||||
$opt_skip_ndbcluster= 2;
|
$opt_skip_ndbcluster= 2;
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
1921
mysql-test/suite/funcs_1/r/is_tables_is_embedded.result
Normal file
1921
mysql-test/suite/funcs_1/r/is_tables_is_embedded.result
Normal file
File diff suppressed because it is too large
Load Diff
@ -22,9 +22,9 @@ TABLE_CATALOG NULL
|
|||||||
TABLE_SCHEMA test1
|
TABLE_SCHEMA test1
|
||||||
TABLE_NAME t1
|
TABLE_NAME t1
|
||||||
TABLE_TYPE BASE TABLE
|
TABLE_TYPE BASE TABLE
|
||||||
ENGINE MyISAM
|
ENGINE MYISAM_OR_MARIA
|
||||||
VERSION 10
|
VERSION 10
|
||||||
ROW_FORMAT Dynamic
|
ROW_FORMAT DYNAMIC_OR_PAGE
|
||||||
TABLE_ROWS #TBLR#
|
TABLE_ROWS #TBLR#
|
||||||
AVG_ROW_LENGTH #ARL#
|
AVG_ROW_LENGTH #ARL#
|
||||||
DATA_LENGTH #DL#
|
DATA_LENGTH #DL#
|
||||||
@ -45,9 +45,9 @@ TABLE_CATALOG NULL
|
|||||||
TABLE_SCHEMA test1
|
TABLE_SCHEMA test1
|
||||||
TABLE_NAME t2
|
TABLE_NAME t2
|
||||||
TABLE_TYPE BASE TABLE
|
TABLE_TYPE BASE TABLE
|
||||||
ENGINE MyISAM
|
ENGINE MYISAM_OR_MARIA
|
||||||
VERSION 10
|
VERSION 10
|
||||||
ROW_FORMAT Dynamic
|
ROW_FORMAT DYNAMIC_OR_PAGE
|
||||||
TABLE_ROWS #TBLR#
|
TABLE_ROWS #TBLR#
|
||||||
AVG_ROW_LENGTH #ARL#
|
AVG_ROW_LENGTH #ARL#
|
||||||
DATA_LENGTH #DL#
|
DATA_LENGTH #DL#
|
||||||
@ -68,9 +68,9 @@ TABLE_CATALOG NULL
|
|||||||
TABLE_SCHEMA test2
|
TABLE_SCHEMA test2
|
||||||
TABLE_NAME t1
|
TABLE_NAME t1
|
||||||
TABLE_TYPE BASE TABLE
|
TABLE_TYPE BASE TABLE
|
||||||
ENGINE MyISAM
|
ENGINE MYISAM_OR_MARIA
|
||||||
VERSION 10
|
VERSION 10
|
||||||
ROW_FORMAT Dynamic
|
ROW_FORMAT DYNAMIC_OR_PAGE
|
||||||
TABLE_ROWS #TBLR#
|
TABLE_ROWS #TBLR#
|
||||||
AVG_ROW_LENGTH #ARL#
|
AVG_ROW_LENGTH #ARL#
|
||||||
DATA_LENGTH #DL#
|
DATA_LENGTH #DL#
|
||||||
@ -114,9 +114,9 @@ TABLE_CATALOG NULL
|
|||||||
TABLE_SCHEMA test1
|
TABLE_SCHEMA test1
|
||||||
TABLE_NAME t1
|
TABLE_NAME t1
|
||||||
TABLE_TYPE BASE TABLE
|
TABLE_TYPE BASE TABLE
|
||||||
ENGINE MyISAM
|
ENGINE MYISAM_OR_MARIA
|
||||||
VERSION 10
|
VERSION 10
|
||||||
ROW_FORMAT Dynamic
|
ROW_FORMAT DYNAMIC_OR_PAGE
|
||||||
TABLE_ROWS #TBLR#
|
TABLE_ROWS #TBLR#
|
||||||
AVG_ROW_LENGTH #ARL#
|
AVG_ROW_LENGTH #ARL#
|
||||||
DATA_LENGTH #DL#
|
DATA_LENGTH #DL#
|
||||||
@ -137,9 +137,9 @@ TABLE_CATALOG NULL
|
|||||||
TABLE_SCHEMA test1
|
TABLE_SCHEMA test1
|
||||||
TABLE_NAME t2
|
TABLE_NAME t2
|
||||||
TABLE_TYPE BASE TABLE
|
TABLE_TYPE BASE TABLE
|
||||||
ENGINE MyISAM
|
ENGINE MYISAM_OR_MARIA
|
||||||
VERSION 10
|
VERSION 10
|
||||||
ROW_FORMAT Dynamic
|
ROW_FORMAT DYNAMIC_OR_PAGE
|
||||||
TABLE_ROWS #TBLR#
|
TABLE_ROWS #TBLR#
|
||||||
AVG_ROW_LENGTH #ARL#
|
AVG_ROW_LENGTH #ARL#
|
||||||
DATA_LENGTH #DL#
|
DATA_LENGTH #DL#
|
||||||
@ -160,9 +160,9 @@ TABLE_CATALOG NULL
|
|||||||
TABLE_SCHEMA test2
|
TABLE_SCHEMA test2
|
||||||
TABLE_NAME t1
|
TABLE_NAME t1
|
||||||
TABLE_TYPE BASE TABLE
|
TABLE_TYPE BASE TABLE
|
||||||
ENGINE MyISAM
|
ENGINE MYISAM_OR_MARIA
|
||||||
VERSION 10
|
VERSION 10
|
||||||
ROW_FORMAT Dynamic
|
ROW_FORMAT DYNAMIC_OR_PAGE
|
||||||
TABLE_ROWS #TBLR#
|
TABLE_ROWS #TBLR#
|
||||||
AVG_ROW_LENGTH #ARL#
|
AVG_ROW_LENGTH #ARL#
|
||||||
DATA_LENGTH #DL#
|
DATA_LENGTH #DL#
|
||||||
|
@ -16,7 +16,7 @@ TABLE_CATALOG NULL
|
|||||||
TABLE_SCHEMA mysql
|
TABLE_SCHEMA mysql
|
||||||
TABLE_NAME columns_priv
|
TABLE_NAME columns_priv
|
||||||
TABLE_TYPE BASE TABLE
|
TABLE_TYPE BASE TABLE
|
||||||
ENGINE MyISAM
|
ENGINE MYISAM_OR_MARIA
|
||||||
VERSION 10
|
VERSION 10
|
||||||
ROW_FORMAT Fixed
|
ROW_FORMAT Fixed
|
||||||
TABLE_ROWS #TBLR#
|
TABLE_ROWS #TBLR#
|
||||||
@ -39,7 +39,7 @@ TABLE_CATALOG NULL
|
|||||||
TABLE_SCHEMA mysql
|
TABLE_SCHEMA mysql
|
||||||
TABLE_NAME db
|
TABLE_NAME db
|
||||||
TABLE_TYPE BASE TABLE
|
TABLE_TYPE BASE TABLE
|
||||||
ENGINE MyISAM
|
ENGINE MYISAM_OR_MARIA
|
||||||
VERSION 10
|
VERSION 10
|
||||||
ROW_FORMAT Fixed
|
ROW_FORMAT Fixed
|
||||||
TABLE_ROWS #TBLR#
|
TABLE_ROWS #TBLR#
|
||||||
@ -62,9 +62,9 @@ TABLE_CATALOG NULL
|
|||||||
TABLE_SCHEMA mysql
|
TABLE_SCHEMA mysql
|
||||||
TABLE_NAME event
|
TABLE_NAME event
|
||||||
TABLE_TYPE BASE TABLE
|
TABLE_TYPE BASE TABLE
|
||||||
ENGINE MyISAM
|
ENGINE MYISAM_OR_MARIA
|
||||||
VERSION 10
|
VERSION 10
|
||||||
ROW_FORMAT Dynamic
|
ROW_FORMAT DYNAMIC_OR_PAGE
|
||||||
TABLE_ROWS #TBLR#
|
TABLE_ROWS #TBLR#
|
||||||
AVG_ROW_LENGTH #ARL#
|
AVG_ROW_LENGTH #ARL#
|
||||||
DATA_LENGTH #DL#
|
DATA_LENGTH #DL#
|
||||||
@ -85,7 +85,7 @@ TABLE_CATALOG NULL
|
|||||||
TABLE_SCHEMA mysql
|
TABLE_SCHEMA mysql
|
||||||
TABLE_NAME func
|
TABLE_NAME func
|
||||||
TABLE_TYPE BASE TABLE
|
TABLE_TYPE BASE TABLE
|
||||||
ENGINE MyISAM
|
ENGINE MYISAM_OR_MARIA
|
||||||
VERSION 10
|
VERSION 10
|
||||||
ROW_FORMAT Fixed
|
ROW_FORMAT Fixed
|
||||||
TABLE_ROWS #TBLR#
|
TABLE_ROWS #TBLR#
|
||||||
@ -110,7 +110,7 @@ TABLE_NAME general_log
|
|||||||
TABLE_TYPE BASE TABLE
|
TABLE_TYPE BASE TABLE
|
||||||
ENGINE CSV
|
ENGINE CSV
|
||||||
VERSION 10
|
VERSION 10
|
||||||
ROW_FORMAT Dynamic
|
ROW_FORMAT DYNAMIC_OR_PAGE
|
||||||
TABLE_ROWS #TBLR#
|
TABLE_ROWS #TBLR#
|
||||||
AVG_ROW_LENGTH #ARL#
|
AVG_ROW_LENGTH #ARL#
|
||||||
DATA_LENGTH #DL#
|
DATA_LENGTH #DL#
|
||||||
@ -131,7 +131,7 @@ TABLE_CATALOG NULL
|
|||||||
TABLE_SCHEMA mysql
|
TABLE_SCHEMA mysql
|
||||||
TABLE_NAME help_category
|
TABLE_NAME help_category
|
||||||
TABLE_TYPE BASE TABLE
|
TABLE_TYPE BASE TABLE
|
||||||
ENGINE MyISAM
|
ENGINE MYISAM_OR_MARIA
|
||||||
VERSION 10
|
VERSION 10
|
||||||
ROW_FORMAT Fixed
|
ROW_FORMAT Fixed
|
||||||
TABLE_ROWS #TBLR#
|
TABLE_ROWS #TBLR#
|
||||||
@ -154,7 +154,7 @@ TABLE_CATALOG NULL
|
|||||||
TABLE_SCHEMA mysql
|
TABLE_SCHEMA mysql
|
||||||
TABLE_NAME help_keyword
|
TABLE_NAME help_keyword
|
||||||
TABLE_TYPE BASE TABLE
|
TABLE_TYPE BASE TABLE
|
||||||
ENGINE MyISAM
|
ENGINE MYISAM_OR_MARIA
|
||||||
VERSION 10
|
VERSION 10
|
||||||
ROW_FORMAT Fixed
|
ROW_FORMAT Fixed
|
||||||
TABLE_ROWS #TBLR#
|
TABLE_ROWS #TBLR#
|
||||||
@ -177,7 +177,7 @@ TABLE_CATALOG NULL
|
|||||||
TABLE_SCHEMA mysql
|
TABLE_SCHEMA mysql
|
||||||
TABLE_NAME help_relation
|
TABLE_NAME help_relation
|
||||||
TABLE_TYPE BASE TABLE
|
TABLE_TYPE BASE TABLE
|
||||||
ENGINE MyISAM
|
ENGINE MYISAM_OR_MARIA
|
||||||
VERSION 10
|
VERSION 10
|
||||||
ROW_FORMAT Fixed
|
ROW_FORMAT Fixed
|
||||||
TABLE_ROWS #TBLR#
|
TABLE_ROWS #TBLR#
|
||||||
@ -200,9 +200,9 @@ TABLE_CATALOG NULL
|
|||||||
TABLE_SCHEMA mysql
|
TABLE_SCHEMA mysql
|
||||||
TABLE_NAME help_topic
|
TABLE_NAME help_topic
|
||||||
TABLE_TYPE BASE TABLE
|
TABLE_TYPE BASE TABLE
|
||||||
ENGINE MyISAM
|
ENGINE MYISAM_OR_MARIA
|
||||||
VERSION 10
|
VERSION 10
|
||||||
ROW_FORMAT Dynamic
|
ROW_FORMAT DYNAMIC_OR_PAGE
|
||||||
TABLE_ROWS #TBLR#
|
TABLE_ROWS #TBLR#
|
||||||
AVG_ROW_LENGTH #ARL#
|
AVG_ROW_LENGTH #ARL#
|
||||||
DATA_LENGTH #DL#
|
DATA_LENGTH #DL#
|
||||||
@ -223,7 +223,7 @@ TABLE_CATALOG NULL
|
|||||||
TABLE_SCHEMA mysql
|
TABLE_SCHEMA mysql
|
||||||
TABLE_NAME host
|
TABLE_NAME host
|
||||||
TABLE_TYPE BASE TABLE
|
TABLE_TYPE BASE TABLE
|
||||||
ENGINE MyISAM
|
ENGINE MYISAM_OR_MARIA
|
||||||
VERSION 10
|
VERSION 10
|
||||||
ROW_FORMAT Fixed
|
ROW_FORMAT Fixed
|
||||||
TABLE_ROWS #TBLR#
|
TABLE_ROWS #TBLR#
|
||||||
@ -246,9 +246,9 @@ TABLE_CATALOG NULL
|
|||||||
TABLE_SCHEMA mysql
|
TABLE_SCHEMA mysql
|
||||||
TABLE_NAME ndb_binlog_index
|
TABLE_NAME ndb_binlog_index
|
||||||
TABLE_TYPE BASE TABLE
|
TABLE_TYPE BASE TABLE
|
||||||
ENGINE MyISAM
|
ENGINE MYISAM_OR_MARIA
|
||||||
VERSION 10
|
VERSION 10
|
||||||
ROW_FORMAT Dynamic
|
ROW_FORMAT DYNAMIC_OR_PAGE
|
||||||
TABLE_ROWS #TBLR#
|
TABLE_ROWS #TBLR#
|
||||||
AVG_ROW_LENGTH #ARL#
|
AVG_ROW_LENGTH #ARL#
|
||||||
DATA_LENGTH #DL#
|
DATA_LENGTH #DL#
|
||||||
@ -269,7 +269,7 @@ TABLE_CATALOG NULL
|
|||||||
TABLE_SCHEMA mysql
|
TABLE_SCHEMA mysql
|
||||||
TABLE_NAME plugin
|
TABLE_NAME plugin
|
||||||
TABLE_TYPE BASE TABLE
|
TABLE_TYPE BASE TABLE
|
||||||
ENGINE MyISAM
|
ENGINE MYISAM_OR_MARIA
|
||||||
VERSION 10
|
VERSION 10
|
||||||
ROW_FORMAT Fixed
|
ROW_FORMAT Fixed
|
||||||
TABLE_ROWS #TBLR#
|
TABLE_ROWS #TBLR#
|
||||||
@ -292,9 +292,9 @@ TABLE_CATALOG NULL
|
|||||||
TABLE_SCHEMA mysql
|
TABLE_SCHEMA mysql
|
||||||
TABLE_NAME proc
|
TABLE_NAME proc
|
||||||
TABLE_TYPE BASE TABLE
|
TABLE_TYPE BASE TABLE
|
||||||
ENGINE MyISAM
|
ENGINE MYISAM_OR_MARIA
|
||||||
VERSION 10
|
VERSION 10
|
||||||
ROW_FORMAT Dynamic
|
ROW_FORMAT DYNAMIC_OR_PAGE
|
||||||
TABLE_ROWS #TBLR#
|
TABLE_ROWS #TBLR#
|
||||||
AVG_ROW_LENGTH #ARL#
|
AVG_ROW_LENGTH #ARL#
|
||||||
DATA_LENGTH #DL#
|
DATA_LENGTH #DL#
|
||||||
@ -315,7 +315,7 @@ TABLE_CATALOG NULL
|
|||||||
TABLE_SCHEMA mysql
|
TABLE_SCHEMA mysql
|
||||||
TABLE_NAME procs_priv
|
TABLE_NAME procs_priv
|
||||||
TABLE_TYPE BASE TABLE
|
TABLE_TYPE BASE TABLE
|
||||||
ENGINE MyISAM
|
ENGINE MYISAM_OR_MARIA
|
||||||
VERSION 10
|
VERSION 10
|
||||||
ROW_FORMAT Fixed
|
ROW_FORMAT Fixed
|
||||||
TABLE_ROWS #TBLR#
|
TABLE_ROWS #TBLR#
|
||||||
@ -338,7 +338,7 @@ TABLE_CATALOG NULL
|
|||||||
TABLE_SCHEMA mysql
|
TABLE_SCHEMA mysql
|
||||||
TABLE_NAME servers
|
TABLE_NAME servers
|
||||||
TABLE_TYPE BASE TABLE
|
TABLE_TYPE BASE TABLE
|
||||||
ENGINE MyISAM
|
ENGINE MYISAM_OR_MARIA
|
||||||
VERSION 10
|
VERSION 10
|
||||||
ROW_FORMAT Fixed
|
ROW_FORMAT Fixed
|
||||||
TABLE_ROWS #TBLR#
|
TABLE_ROWS #TBLR#
|
||||||
@ -363,7 +363,7 @@ TABLE_NAME slow_log
|
|||||||
TABLE_TYPE BASE TABLE
|
TABLE_TYPE BASE TABLE
|
||||||
ENGINE CSV
|
ENGINE CSV
|
||||||
VERSION 10
|
VERSION 10
|
||||||
ROW_FORMAT Dynamic
|
ROW_FORMAT DYNAMIC_OR_PAGE
|
||||||
TABLE_ROWS #TBLR#
|
TABLE_ROWS #TBLR#
|
||||||
AVG_ROW_LENGTH #ARL#
|
AVG_ROW_LENGTH #ARL#
|
||||||
DATA_LENGTH #DL#
|
DATA_LENGTH #DL#
|
||||||
@ -384,7 +384,7 @@ TABLE_CATALOG NULL
|
|||||||
TABLE_SCHEMA mysql
|
TABLE_SCHEMA mysql
|
||||||
TABLE_NAME tables_priv
|
TABLE_NAME tables_priv
|
||||||
TABLE_TYPE BASE TABLE
|
TABLE_TYPE BASE TABLE
|
||||||
ENGINE MyISAM
|
ENGINE MYISAM_OR_MARIA
|
||||||
VERSION 10
|
VERSION 10
|
||||||
ROW_FORMAT Fixed
|
ROW_FORMAT Fixed
|
||||||
TABLE_ROWS #TBLR#
|
TABLE_ROWS #TBLR#
|
||||||
@ -407,7 +407,7 @@ TABLE_CATALOG NULL
|
|||||||
TABLE_SCHEMA mysql
|
TABLE_SCHEMA mysql
|
||||||
TABLE_NAME time_zone
|
TABLE_NAME time_zone
|
||||||
TABLE_TYPE BASE TABLE
|
TABLE_TYPE BASE TABLE
|
||||||
ENGINE MyISAM
|
ENGINE MYISAM_OR_MARIA
|
||||||
VERSION 10
|
VERSION 10
|
||||||
ROW_FORMAT Fixed
|
ROW_FORMAT Fixed
|
||||||
TABLE_ROWS #TBLR#
|
TABLE_ROWS #TBLR#
|
||||||
@ -430,7 +430,7 @@ TABLE_CATALOG NULL
|
|||||||
TABLE_SCHEMA mysql
|
TABLE_SCHEMA mysql
|
||||||
TABLE_NAME time_zone_leap_second
|
TABLE_NAME time_zone_leap_second
|
||||||
TABLE_TYPE BASE TABLE
|
TABLE_TYPE BASE TABLE
|
||||||
ENGINE MyISAM
|
ENGINE MYISAM_OR_MARIA
|
||||||
VERSION 10
|
VERSION 10
|
||||||
ROW_FORMAT Fixed
|
ROW_FORMAT Fixed
|
||||||
TABLE_ROWS #TBLR#
|
TABLE_ROWS #TBLR#
|
||||||
@ -453,7 +453,7 @@ TABLE_CATALOG NULL
|
|||||||
TABLE_SCHEMA mysql
|
TABLE_SCHEMA mysql
|
||||||
TABLE_NAME time_zone_name
|
TABLE_NAME time_zone_name
|
||||||
TABLE_TYPE BASE TABLE
|
TABLE_TYPE BASE TABLE
|
||||||
ENGINE MyISAM
|
ENGINE MYISAM_OR_MARIA
|
||||||
VERSION 10
|
VERSION 10
|
||||||
ROW_FORMAT Fixed
|
ROW_FORMAT Fixed
|
||||||
TABLE_ROWS #TBLR#
|
TABLE_ROWS #TBLR#
|
||||||
@ -476,7 +476,7 @@ TABLE_CATALOG NULL
|
|||||||
TABLE_SCHEMA mysql
|
TABLE_SCHEMA mysql
|
||||||
TABLE_NAME time_zone_transition
|
TABLE_NAME time_zone_transition
|
||||||
TABLE_TYPE BASE TABLE
|
TABLE_TYPE BASE TABLE
|
||||||
ENGINE MyISAM
|
ENGINE MYISAM_OR_MARIA
|
||||||
VERSION 10
|
VERSION 10
|
||||||
ROW_FORMAT Fixed
|
ROW_FORMAT Fixed
|
||||||
TABLE_ROWS #TBLR#
|
TABLE_ROWS #TBLR#
|
||||||
@ -499,7 +499,7 @@ TABLE_CATALOG NULL
|
|||||||
TABLE_SCHEMA mysql
|
TABLE_SCHEMA mysql
|
||||||
TABLE_NAME time_zone_transition_type
|
TABLE_NAME time_zone_transition_type
|
||||||
TABLE_TYPE BASE TABLE
|
TABLE_TYPE BASE TABLE
|
||||||
ENGINE MyISAM
|
ENGINE MYISAM_OR_MARIA
|
||||||
VERSION 10
|
VERSION 10
|
||||||
ROW_FORMAT Fixed
|
ROW_FORMAT Fixed
|
||||||
TABLE_ROWS #TBLR#
|
TABLE_ROWS #TBLR#
|
||||||
@ -522,9 +522,9 @@ TABLE_CATALOG NULL
|
|||||||
TABLE_SCHEMA mysql
|
TABLE_SCHEMA mysql
|
||||||
TABLE_NAME user
|
TABLE_NAME user
|
||||||
TABLE_TYPE BASE TABLE
|
TABLE_TYPE BASE TABLE
|
||||||
ENGINE MyISAM
|
ENGINE MYISAM_OR_MARIA
|
||||||
VERSION 10
|
VERSION 10
|
||||||
ROW_FORMAT Dynamic
|
ROW_FORMAT DYNAMIC_OR_PAGE
|
||||||
TABLE_ROWS #TBLR#
|
TABLE_ROWS #TBLR#
|
||||||
AVG_ROW_LENGTH #ARL#
|
AVG_ROW_LENGTH #ARL#
|
||||||
DATA_LENGTH #DL#
|
DATA_LENGTH #DL#
|
||||||
@ -561,7 +561,7 @@ TABLE_CATALOG NULL
|
|||||||
TABLE_SCHEMA mysql
|
TABLE_SCHEMA mysql
|
||||||
TABLE_NAME columns_priv
|
TABLE_NAME columns_priv
|
||||||
TABLE_TYPE BASE TABLE
|
TABLE_TYPE BASE TABLE
|
||||||
ENGINE MyISAM
|
ENGINE MYISAM_OR_MARIA
|
||||||
VERSION 10
|
VERSION 10
|
||||||
ROW_FORMAT Fixed
|
ROW_FORMAT Fixed
|
||||||
TABLE_ROWS #TBLR#
|
TABLE_ROWS #TBLR#
|
||||||
@ -584,7 +584,7 @@ TABLE_CATALOG NULL
|
|||||||
TABLE_SCHEMA mysql
|
TABLE_SCHEMA mysql
|
||||||
TABLE_NAME db
|
TABLE_NAME db
|
||||||
TABLE_TYPE BASE TABLE
|
TABLE_TYPE BASE TABLE
|
||||||
ENGINE MyISAM
|
ENGINE MYISAM_OR_MARIA
|
||||||
VERSION 10
|
VERSION 10
|
||||||
ROW_FORMAT Fixed
|
ROW_FORMAT Fixed
|
||||||
TABLE_ROWS #TBLR#
|
TABLE_ROWS #TBLR#
|
||||||
@ -607,9 +607,9 @@ TABLE_CATALOG NULL
|
|||||||
TABLE_SCHEMA mysql
|
TABLE_SCHEMA mysql
|
||||||
TABLE_NAME event
|
TABLE_NAME event
|
||||||
TABLE_TYPE BASE TABLE
|
TABLE_TYPE BASE TABLE
|
||||||
ENGINE MyISAM
|
ENGINE MYISAM_OR_MARIA
|
||||||
VERSION 10
|
VERSION 10
|
||||||
ROW_FORMAT Dynamic
|
ROW_FORMAT DYNAMIC_OR_PAGE
|
||||||
TABLE_ROWS #TBLR#
|
TABLE_ROWS #TBLR#
|
||||||
AVG_ROW_LENGTH #ARL#
|
AVG_ROW_LENGTH #ARL#
|
||||||
DATA_LENGTH #DL#
|
DATA_LENGTH #DL#
|
||||||
@ -630,7 +630,7 @@ TABLE_CATALOG NULL
|
|||||||
TABLE_SCHEMA mysql
|
TABLE_SCHEMA mysql
|
||||||
TABLE_NAME func
|
TABLE_NAME func
|
||||||
TABLE_TYPE BASE TABLE
|
TABLE_TYPE BASE TABLE
|
||||||
ENGINE MyISAM
|
ENGINE MYISAM_OR_MARIA
|
||||||
VERSION 10
|
VERSION 10
|
||||||
ROW_FORMAT Fixed
|
ROW_FORMAT Fixed
|
||||||
TABLE_ROWS #TBLR#
|
TABLE_ROWS #TBLR#
|
||||||
@ -655,7 +655,7 @@ TABLE_NAME general_log
|
|||||||
TABLE_TYPE BASE TABLE
|
TABLE_TYPE BASE TABLE
|
||||||
ENGINE CSV
|
ENGINE CSV
|
||||||
VERSION 10
|
VERSION 10
|
||||||
ROW_FORMAT Dynamic
|
ROW_FORMAT DYNAMIC_OR_PAGE
|
||||||
TABLE_ROWS #TBLR#
|
TABLE_ROWS #TBLR#
|
||||||
AVG_ROW_LENGTH #ARL#
|
AVG_ROW_LENGTH #ARL#
|
||||||
DATA_LENGTH #DL#
|
DATA_LENGTH #DL#
|
||||||
@ -676,7 +676,7 @@ TABLE_CATALOG NULL
|
|||||||
TABLE_SCHEMA mysql
|
TABLE_SCHEMA mysql
|
||||||
TABLE_NAME help_category
|
TABLE_NAME help_category
|
||||||
TABLE_TYPE BASE TABLE
|
TABLE_TYPE BASE TABLE
|
||||||
ENGINE MyISAM
|
ENGINE MYISAM_OR_MARIA
|
||||||
VERSION 10
|
VERSION 10
|
||||||
ROW_FORMAT Fixed
|
ROW_FORMAT Fixed
|
||||||
TABLE_ROWS #TBLR#
|
TABLE_ROWS #TBLR#
|
||||||
@ -699,7 +699,7 @@ TABLE_CATALOG NULL
|
|||||||
TABLE_SCHEMA mysql
|
TABLE_SCHEMA mysql
|
||||||
TABLE_NAME help_keyword
|
TABLE_NAME help_keyword
|
||||||
TABLE_TYPE BASE TABLE
|
TABLE_TYPE BASE TABLE
|
||||||
ENGINE MyISAM
|
ENGINE MYISAM_OR_MARIA
|
||||||
VERSION 10
|
VERSION 10
|
||||||
ROW_FORMAT Fixed
|
ROW_FORMAT Fixed
|
||||||
TABLE_ROWS #TBLR#
|
TABLE_ROWS #TBLR#
|
||||||
@ -722,7 +722,7 @@ TABLE_CATALOG NULL
|
|||||||
TABLE_SCHEMA mysql
|
TABLE_SCHEMA mysql
|
||||||
TABLE_NAME help_relation
|
TABLE_NAME help_relation
|
||||||
TABLE_TYPE BASE TABLE
|
TABLE_TYPE BASE TABLE
|
||||||
ENGINE MyISAM
|
ENGINE MYISAM_OR_MARIA
|
||||||
VERSION 10
|
VERSION 10
|
||||||
ROW_FORMAT Fixed
|
ROW_FORMAT Fixed
|
||||||
TABLE_ROWS #TBLR#
|
TABLE_ROWS #TBLR#
|
||||||
@ -745,9 +745,9 @@ TABLE_CATALOG NULL
|
|||||||
TABLE_SCHEMA mysql
|
TABLE_SCHEMA mysql
|
||||||
TABLE_NAME help_topic
|
TABLE_NAME help_topic
|
||||||
TABLE_TYPE BASE TABLE
|
TABLE_TYPE BASE TABLE
|
||||||
ENGINE MyISAM
|
ENGINE MYISAM_OR_MARIA
|
||||||
VERSION 10
|
VERSION 10
|
||||||
ROW_FORMAT Dynamic
|
ROW_FORMAT DYNAMIC_OR_PAGE
|
||||||
TABLE_ROWS #TBLR#
|
TABLE_ROWS #TBLR#
|
||||||
AVG_ROW_LENGTH #ARL#
|
AVG_ROW_LENGTH #ARL#
|
||||||
DATA_LENGTH #DL#
|
DATA_LENGTH #DL#
|
||||||
@ -768,7 +768,7 @@ TABLE_CATALOG NULL
|
|||||||
TABLE_SCHEMA mysql
|
TABLE_SCHEMA mysql
|
||||||
TABLE_NAME host
|
TABLE_NAME host
|
||||||
TABLE_TYPE BASE TABLE
|
TABLE_TYPE BASE TABLE
|
||||||
ENGINE MyISAM
|
ENGINE MYISAM_OR_MARIA
|
||||||
VERSION 10
|
VERSION 10
|
||||||
ROW_FORMAT Fixed
|
ROW_FORMAT Fixed
|
||||||
TABLE_ROWS #TBLR#
|
TABLE_ROWS #TBLR#
|
||||||
@ -791,9 +791,9 @@ TABLE_CATALOG NULL
|
|||||||
TABLE_SCHEMA mysql
|
TABLE_SCHEMA mysql
|
||||||
TABLE_NAME ndb_binlog_index
|
TABLE_NAME ndb_binlog_index
|
||||||
TABLE_TYPE BASE TABLE
|
TABLE_TYPE BASE TABLE
|
||||||
ENGINE MyISAM
|
ENGINE MYISAM_OR_MARIA
|
||||||
VERSION 10
|
VERSION 10
|
||||||
ROW_FORMAT Dynamic
|
ROW_FORMAT DYNAMIC_OR_PAGE
|
||||||
TABLE_ROWS #TBLR#
|
TABLE_ROWS #TBLR#
|
||||||
AVG_ROW_LENGTH #ARL#
|
AVG_ROW_LENGTH #ARL#
|
||||||
DATA_LENGTH #DL#
|
DATA_LENGTH #DL#
|
||||||
@ -814,7 +814,7 @@ TABLE_CATALOG NULL
|
|||||||
TABLE_SCHEMA mysql
|
TABLE_SCHEMA mysql
|
||||||
TABLE_NAME plugin
|
TABLE_NAME plugin
|
||||||
TABLE_TYPE BASE TABLE
|
TABLE_TYPE BASE TABLE
|
||||||
ENGINE MyISAM
|
ENGINE MYISAM_OR_MARIA
|
||||||
VERSION 10
|
VERSION 10
|
||||||
ROW_FORMAT Fixed
|
ROW_FORMAT Fixed
|
||||||
TABLE_ROWS #TBLR#
|
TABLE_ROWS #TBLR#
|
||||||
@ -837,9 +837,9 @@ TABLE_CATALOG NULL
|
|||||||
TABLE_SCHEMA mysql
|
TABLE_SCHEMA mysql
|
||||||
TABLE_NAME proc
|
TABLE_NAME proc
|
||||||
TABLE_TYPE BASE TABLE
|
TABLE_TYPE BASE TABLE
|
||||||
ENGINE MyISAM
|
ENGINE MYISAM_OR_MARIA
|
||||||
VERSION 10
|
VERSION 10
|
||||||
ROW_FORMAT Dynamic
|
ROW_FORMAT DYNAMIC_OR_PAGE
|
||||||
TABLE_ROWS #TBLR#
|
TABLE_ROWS #TBLR#
|
||||||
AVG_ROW_LENGTH #ARL#
|
AVG_ROW_LENGTH #ARL#
|
||||||
DATA_LENGTH #DL#
|
DATA_LENGTH #DL#
|
||||||
@ -860,7 +860,7 @@ TABLE_CATALOG NULL
|
|||||||
TABLE_SCHEMA mysql
|
TABLE_SCHEMA mysql
|
||||||
TABLE_NAME procs_priv
|
TABLE_NAME procs_priv
|
||||||
TABLE_TYPE BASE TABLE
|
TABLE_TYPE BASE TABLE
|
||||||
ENGINE MyISAM
|
ENGINE MYISAM_OR_MARIA
|
||||||
VERSION 10
|
VERSION 10
|
||||||
ROW_FORMAT Fixed
|
ROW_FORMAT Fixed
|
||||||
TABLE_ROWS #TBLR#
|
TABLE_ROWS #TBLR#
|
||||||
@ -883,7 +883,7 @@ TABLE_CATALOG NULL
|
|||||||
TABLE_SCHEMA mysql
|
TABLE_SCHEMA mysql
|
||||||
TABLE_NAME servers
|
TABLE_NAME servers
|
||||||
TABLE_TYPE BASE TABLE
|
TABLE_TYPE BASE TABLE
|
||||||
ENGINE MyISAM
|
ENGINE MYISAM_OR_MARIA
|
||||||
VERSION 10
|
VERSION 10
|
||||||
ROW_FORMAT Fixed
|
ROW_FORMAT Fixed
|
||||||
TABLE_ROWS #TBLR#
|
TABLE_ROWS #TBLR#
|
||||||
@ -908,7 +908,7 @@ TABLE_NAME slow_log
|
|||||||
TABLE_TYPE BASE TABLE
|
TABLE_TYPE BASE TABLE
|
||||||
ENGINE CSV
|
ENGINE CSV
|
||||||
VERSION 10
|
VERSION 10
|
||||||
ROW_FORMAT Dynamic
|
ROW_FORMAT DYNAMIC_OR_PAGE
|
||||||
TABLE_ROWS #TBLR#
|
TABLE_ROWS #TBLR#
|
||||||
AVG_ROW_LENGTH #ARL#
|
AVG_ROW_LENGTH #ARL#
|
||||||
DATA_LENGTH #DL#
|
DATA_LENGTH #DL#
|
||||||
@ -929,7 +929,7 @@ TABLE_CATALOG NULL
|
|||||||
TABLE_SCHEMA mysql
|
TABLE_SCHEMA mysql
|
||||||
TABLE_NAME tables_priv
|
TABLE_NAME tables_priv
|
||||||
TABLE_TYPE BASE TABLE
|
TABLE_TYPE BASE TABLE
|
||||||
ENGINE MyISAM
|
ENGINE MYISAM_OR_MARIA
|
||||||
VERSION 10
|
VERSION 10
|
||||||
ROW_FORMAT Fixed
|
ROW_FORMAT Fixed
|
||||||
TABLE_ROWS #TBLR#
|
TABLE_ROWS #TBLR#
|
||||||
@ -952,7 +952,7 @@ TABLE_CATALOG NULL
|
|||||||
TABLE_SCHEMA mysql
|
TABLE_SCHEMA mysql
|
||||||
TABLE_NAME time_zone
|
TABLE_NAME time_zone
|
||||||
TABLE_TYPE BASE TABLE
|
TABLE_TYPE BASE TABLE
|
||||||
ENGINE MyISAM
|
ENGINE MYISAM_OR_MARIA
|
||||||
VERSION 10
|
VERSION 10
|
||||||
ROW_FORMAT Fixed
|
ROW_FORMAT Fixed
|
||||||
TABLE_ROWS #TBLR#
|
TABLE_ROWS #TBLR#
|
||||||
@ -975,7 +975,7 @@ TABLE_CATALOG NULL
|
|||||||
TABLE_SCHEMA mysql
|
TABLE_SCHEMA mysql
|
||||||
TABLE_NAME time_zone_leap_second
|
TABLE_NAME time_zone_leap_second
|
||||||
TABLE_TYPE BASE TABLE
|
TABLE_TYPE BASE TABLE
|
||||||
ENGINE MyISAM
|
ENGINE MYISAM_OR_MARIA
|
||||||
VERSION 10
|
VERSION 10
|
||||||
ROW_FORMAT Fixed
|
ROW_FORMAT Fixed
|
||||||
TABLE_ROWS #TBLR#
|
TABLE_ROWS #TBLR#
|
||||||
@ -998,7 +998,7 @@ TABLE_CATALOG NULL
|
|||||||
TABLE_SCHEMA mysql
|
TABLE_SCHEMA mysql
|
||||||
TABLE_NAME time_zone_name
|
TABLE_NAME time_zone_name
|
||||||
TABLE_TYPE BASE TABLE
|
TABLE_TYPE BASE TABLE
|
||||||
ENGINE MyISAM
|
ENGINE MYISAM_OR_MARIA
|
||||||
VERSION 10
|
VERSION 10
|
||||||
ROW_FORMAT Fixed
|
ROW_FORMAT Fixed
|
||||||
TABLE_ROWS #TBLR#
|
TABLE_ROWS #TBLR#
|
||||||
@ -1021,7 +1021,7 @@ TABLE_CATALOG NULL
|
|||||||
TABLE_SCHEMA mysql
|
TABLE_SCHEMA mysql
|
||||||
TABLE_NAME time_zone_transition
|
TABLE_NAME time_zone_transition
|
||||||
TABLE_TYPE BASE TABLE
|
TABLE_TYPE BASE TABLE
|
||||||
ENGINE MyISAM
|
ENGINE MYISAM_OR_MARIA
|
||||||
VERSION 10
|
VERSION 10
|
||||||
ROW_FORMAT Fixed
|
ROW_FORMAT Fixed
|
||||||
TABLE_ROWS #TBLR#
|
TABLE_ROWS #TBLR#
|
||||||
@ -1044,7 +1044,7 @@ TABLE_CATALOG NULL
|
|||||||
TABLE_SCHEMA mysql
|
TABLE_SCHEMA mysql
|
||||||
TABLE_NAME time_zone_transition_type
|
TABLE_NAME time_zone_transition_type
|
||||||
TABLE_TYPE BASE TABLE
|
TABLE_TYPE BASE TABLE
|
||||||
ENGINE MyISAM
|
ENGINE MYISAM_OR_MARIA
|
||||||
VERSION 10
|
VERSION 10
|
||||||
ROW_FORMAT Fixed
|
ROW_FORMAT Fixed
|
||||||
TABLE_ROWS #TBLR#
|
TABLE_ROWS #TBLR#
|
||||||
@ -1067,9 +1067,9 @@ TABLE_CATALOG NULL
|
|||||||
TABLE_SCHEMA mysql
|
TABLE_SCHEMA mysql
|
||||||
TABLE_NAME user
|
TABLE_NAME user
|
||||||
TABLE_TYPE BASE TABLE
|
TABLE_TYPE BASE TABLE
|
||||||
ENGINE MyISAM
|
ENGINE MYISAM_OR_MARIA
|
||||||
VERSION 10
|
VERSION 10
|
||||||
ROW_FORMAT Dynamic
|
ROW_FORMAT DYNAMIC_OR_PAGE
|
||||||
TABLE_ROWS #TBLR#
|
TABLE_ROWS #TBLR#
|
||||||
AVG_ROW_LENGTH #ARL#
|
AVG_ROW_LENGTH #ARL#
|
||||||
DATA_LENGTH #DL#
|
DATA_LENGTH #DL#
|
||||||
|
22
mysql-test/suite/funcs_1/t/is_tables_is_embedded.test
Normal file
22
mysql-test/suite/funcs_1/t/is_tables_is_embedded.test
Normal file
@ -0,0 +1,22 @@
|
|||||||
|
# suite/funcs_1/t/is_tables_is_embedded.test
|
||||||
|
#
|
||||||
|
# Check the layout of information_schema.tables and the impact of
|
||||||
|
# CREATE/ALTER/DROP TABLE/VIEW/SCHEMA ... on it.
|
||||||
|
# Variant for the embedded server
|
||||||
|
# The expected results must equal is_tables except that all users
|
||||||
|
# have all privileges (affects some result sets).
|
||||||
|
#
|
||||||
|
# There is detailed information about this test within
|
||||||
|
# suite/funcs_1/datadict/is_tables.inc
|
||||||
|
#
|
||||||
|
# Author:
|
||||||
|
# 2008-06-06 mleich Create this this variant for the embedded server.
|
||||||
|
#
|
||||||
|
|
||||||
|
if (`SELECT VERSION() NOT LIKE '%embedded%'`)
|
||||||
|
{
|
||||||
|
--skip Test requires: embedded server
|
||||||
|
}
|
||||||
|
let $my_where = WHERE table_schema = 'information_schema'
|
||||||
|
AND table_name <> 'profiling';
|
||||||
|
--source suite/funcs_1/datadict/tables1.inc
|
9
mysql-test/suite/pbxt/my.cnf
Normal file
9
mysql-test/suite/pbxt/my.cnf
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
# Use default setting for mysqld processes
|
||||||
|
!include include/default_mysqld.cnf
|
||||||
|
|
||||||
|
[mysqld.1]
|
||||||
|
default-storage-engine=pbxt
|
||||||
|
|
||||||
|
[ENV]
|
||||||
|
MASTER_MYSOCK= @mysqld.1.socket
|
||||||
|
MASTER_MYPORT= @mysqld.1.port
|
@ -11,6 +11,7 @@ CREATE TABLE t1 (id INTEGER, grp TINYINT, id_rev INTEGER);
|
|||||||
|
|
||||||
--disable_query_log
|
--disable_query_log
|
||||||
SET @rnd_max= 2147483647;
|
SET @rnd_max= 2147483647;
|
||||||
|
begin;
|
||||||
let $1 = 1000;
|
let $1 = 1000;
|
||||||
while ($1)
|
while ($1)
|
||||||
{
|
{
|
||||||
@ -21,6 +22,7 @@ while ($1)
|
|||||||
INSERT INTO t1 (id, grp, id_rev) VALUES (@id, @grp, @id_rev);
|
INSERT INTO t1 (id, grp, id_rev) VALUES (@id, @grp, @id_rev);
|
||||||
dec $1;
|
dec $1;
|
||||||
}
|
}
|
||||||
|
commit;
|
||||||
set @@read_buffer_size=2*1024*1024;
|
set @@read_buffer_size=2*1024*1024;
|
||||||
CREATE TABLE t2 SELECT * FROM t1;
|
CREATE TABLE t2 SELECT * FROM t1;
|
||||||
INSERT INTO t1 (id, grp, id_rev) SELECT id, grp, id_rev FROM t2;
|
INSERT INTO t1 (id, grp, id_rev) SELECT id, grp, id_rev FROM t2;
|
||||||
|
@ -20,6 +20,7 @@ create table t1(id1 int not null auto_increment primary key, t char(12));
|
|||||||
create table t2(id2 int not null, t char(12));
|
create table t2(id2 int not null, t char(12));
|
||||||
create table t3(id3 int not null, t char(12), index(id3));
|
create table t3(id3 int not null, t char(12), index(id3));
|
||||||
disable_query_log;
|
disable_query_log;
|
||||||
|
begin;
|
||||||
let $1 = 100;
|
let $1 = 100;
|
||||||
while ($1)
|
while ($1)
|
||||||
{
|
{
|
||||||
@ -38,6 +39,7 @@ while ($1)
|
|||||||
}
|
}
|
||||||
dec $1;
|
dec $1;
|
||||||
}
|
}
|
||||||
|
commit;
|
||||||
enable_query_log;
|
enable_query_log;
|
||||||
|
|
||||||
select count(*) from t1 where id1 > 95;
|
select count(*) from t1 where id1 > 95;
|
||||||
@ -75,6 +77,7 @@ drop table t1,t2,t3;
|
|||||||
create table t1(id1 int not null primary key, t varchar(100)) pack_keys = 1;
|
create table t1(id1 int not null primary key, t varchar(100)) pack_keys = 1;
|
||||||
create table t2(id2 int not null, t varchar(100), index(id2)) pack_keys = 1;
|
create table t2(id2 int not null, t varchar(100), index(id2)) pack_keys = 1;
|
||||||
disable_query_log;
|
disable_query_log;
|
||||||
|
begin;
|
||||||
let $1 = 1000;
|
let $1 = 1000;
|
||||||
while ($1)
|
while ($1)
|
||||||
{
|
{
|
||||||
@ -87,6 +90,7 @@ while ($1)
|
|||||||
}
|
}
|
||||||
dec $1;
|
dec $1;
|
||||||
}
|
}
|
||||||
|
commit;
|
||||||
enable_query_log;
|
enable_query_log;
|
||||||
delete t1 from t1,t2 where t1.id1 = t2.id2 and t1.id1 > 500;
|
delete t1 from t1,t2 where t1.id1 = t2.id2 and t1.id1 > 500;
|
||||||
drop table t1,t2;
|
drop table t1,t2;
|
||||||
@ -328,6 +332,7 @@ drop table t1,t2;
|
|||||||
|
|
||||||
create table t1 ( a int not null, b int not null) ;
|
create table t1 ( a int not null, b int not null) ;
|
||||||
--disable_query_log
|
--disable_query_log
|
||||||
|
begin;
|
||||||
insert into t1 values (1,1),(2,2),(3,3),(4,4);
|
insert into t1 values (1,1),(2,2),(3,3),(4,4);
|
||||||
let $1=19;
|
let $1=19;
|
||||||
set @d=4;
|
set @d=4;
|
||||||
@ -337,7 +342,7 @@ while ($1)
|
|||||||
eval set @d=@d*2;
|
eval set @d=@d*2;
|
||||||
dec $1;
|
dec $1;
|
||||||
}
|
}
|
||||||
|
commit;
|
||||||
--enable_query_log
|
--enable_query_log
|
||||||
alter table t1 add index i1(a);
|
alter table t1 add index i1(a);
|
||||||
delete from t1 where a > 2000000;
|
delete from t1 where a > 2000000;
|
||||||
|
@ -814,12 +814,14 @@ create table t3 (a int, b int, index a (a));
|
|||||||
insert into t1 values (1,10), (2,20), (3,30), (4,40);
|
insert into t1 values (1,10), (2,20), (3,30), (4,40);
|
||||||
disable_query_log;
|
disable_query_log;
|
||||||
# making table large enough
|
# making table large enough
|
||||||
|
begin;
|
||||||
let $1 = 10000;
|
let $1 = 10000;
|
||||||
while ($1)
|
while ($1)
|
||||||
{
|
{
|
||||||
eval insert into t1 values (rand()*100000+200,rand()*100000);
|
eval insert into t1 values (rand()*100000+200,rand()*100000);
|
||||||
dec $1;
|
dec $1;
|
||||||
}
|
}
|
||||||
|
commit;
|
||||||
enable_query_log;
|
enable_query_log;
|
||||||
insert into t2 values (2), (3), (4), (5);
|
insert into t2 values (2), (3), (4), (5);
|
||||||
insert into t3 values (10,3), (20,4), (30,5);
|
insert into t3 values (10,3), (20,4), (30,5);
|
||||||
@ -2557,6 +2559,7 @@ CREATE TABLE t2 (x int auto_increment, y int, z int,
|
|||||||
PRIMARY KEY (x), FOREIGN KEY (y) REFERENCES t1 (b));
|
PRIMARY KEY (x), FOREIGN KEY (y) REFERENCES t1 (b));
|
||||||
|
|
||||||
disable_query_log;
|
disable_query_log;
|
||||||
|
begin;
|
||||||
let $1=3000;
|
let $1=3000;
|
||||||
while ($1)
|
while ($1)
|
||||||
{
|
{
|
||||||
@ -2570,6 +2573,7 @@ while ($1)
|
|||||||
}
|
}
|
||||||
dec $1;
|
dec $1;
|
||||||
}
|
}
|
||||||
|
commit;
|
||||||
enable_query_log;
|
enable_query_log;
|
||||||
|
|
||||||
SET SESSION sort_buffer_size = 32 * 1024;
|
SET SESSION sort_buffer_size = 32 * 1024;
|
||||||
@ -3156,11 +3160,13 @@ insert into t1 values(1,1),(2,2), (3, 3);
|
|||||||
let $i=10000;
|
let $i=10000;
|
||||||
--disable_query_log
|
--disable_query_log
|
||||||
--disable_warnings
|
--disable_warnings
|
||||||
|
begin;
|
||||||
while ($i)
|
while ($i)
|
||||||
{
|
{
|
||||||
eval insert into t2 values (-1 , $i/5000 + 1, '$i');
|
eval insert into t2 values (-1 , $i/5000 + 1, '$i');
|
||||||
dec $i;
|
dec $i;
|
||||||
}
|
}
|
||||||
|
commit;
|
||||||
--enable_warnings
|
--enable_warnings
|
||||||
--enable_query_log
|
--enable_query_log
|
||||||
set session sort_buffer_size= 33*1024;
|
set session sort_buffer_size= 33*1024;
|
||||||
|
@ -50,7 +50,8 @@ const char * NEAR globerrs[GLOBERRS]=
|
|||||||
"Collation '%s' is not a compiled collation and is not specified in the '%s' file",
|
"Collation '%s' is not a compiled collation and is not specified in the '%s' file",
|
||||||
"File '%s' not found (Errcode: %d)",
|
"File '%s' not found (Errcode: %d)",
|
||||||
"File '%s' (fileno: %d) was not closed",
|
"File '%s' (fileno: %d) was not closed",
|
||||||
"Can't change mode for file '%s' to 0x%lx (Error: %d)"
|
"Can't change mode for file '%s' to 0x%lx (Error: %d)",
|
||||||
|
"Warning: Can't copy ownership for file '%s' (Error: %d)"
|
||||||
};
|
};
|
||||||
|
|
||||||
void init_glob_errs(void)
|
void init_glob_errs(void)
|
||||||
@ -92,6 +93,7 @@ void init_glob_errs()
|
|||||||
EE(EE_FILENOTFOUND) = "File '%s' not found (Errcode: %d)";
|
EE(EE_FILENOTFOUND) = "File '%s' not found (Errcode: %d)";
|
||||||
EE(EE_FILE_NOT_CLOSED) = "File '%s' (fileno: %d) was not closed";
|
EE(EE_FILE_NOT_CLOSED) = "File '%s' (fileno: %d) was not closed";
|
||||||
EE(EE_CANT_CHMOD) = "Can't change mode for file '%s' to 0x%lx (Error: %d)";
|
EE(EE_CANT_CHMOD) = "Can't change mode for file '%s' to 0x%lx (Error: %d)";
|
||||||
|
EE(EE_CANT_COPY_OWNERSHIP)= "Warning: Can't copy ownership for file '%s' (Error: %d)";
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
@ -14,6 +14,7 @@
|
|||||||
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */
|
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */
|
||||||
|
|
||||||
#include "mysys_priv.h"
|
#include "mysys_priv.h"
|
||||||
|
#include "mysys_err.h"
|
||||||
#include <my_dir.h> /* for stat */
|
#include <my_dir.h> /* for stat */
|
||||||
#include <m_string.h>
|
#include <m_string.h>
|
||||||
#if defined(HAVE_UTIME_H)
|
#if defined(HAVE_UTIME_H)
|
||||||
@ -96,7 +97,10 @@ int my_copy(const char *from, const char *to, myf MyFlags)
|
|||||||
DBUG_RETURN(0); /* File copyed but not stat */
|
DBUG_RETURN(0); /* File copyed but not stat */
|
||||||
VOID(chmod(to, stat_buff.st_mode & 07777)); /* Copy modes */
|
VOID(chmod(to, stat_buff.st_mode & 07777)); /* Copy modes */
|
||||||
#if !defined(__WIN__) && !defined(__NETWARE__)
|
#if !defined(__WIN__) && !defined(__NETWARE__)
|
||||||
VOID(chown(to, stat_buff.st_uid,stat_buff.st_gid)); /* Copy ownership */
|
if (chown(to, stat_buff.st_uid,stat_buff.st_gid))
|
||||||
|
{
|
||||||
|
my_error(EE_CANT_COPY_OWNERSHIP, MYF(ME_JUST_WARNING), to);
|
||||||
|
}
|
||||||
#endif
|
#endif
|
||||||
#if !defined(VMS) && !defined(__ZTC__)
|
#if !defined(VMS) && !defined(__ZTC__)
|
||||||
if (MyFlags & MY_COPYTIME)
|
if (MyFlags & MY_COPYTIME)
|
||||||
|
@ -42,7 +42,8 @@ static void netware_init();
|
|||||||
|
|
||||||
my_bool my_init_done= 0;
|
my_bool my_init_done= 0;
|
||||||
uint mysys_usage_id= 0; /* Incremented for each my_init() */
|
uint mysys_usage_id= 0; /* Incremented for each my_init() */
|
||||||
ulong my_thread_stack_size= 65536;
|
|
||||||
|
ulong my_thread_stack_size= (sizeof(void*) <= 4)? 65536: ((256-16)*1024);
|
||||||
|
|
||||||
static ulong atoi_octal(const char *str)
|
static ulong atoi_octal(const char *str)
|
||||||
{
|
{
|
||||||
|
@ -14,6 +14,7 @@
|
|||||||
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */
|
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */
|
||||||
|
|
||||||
#include "mysys_priv.h"
|
#include "mysys_priv.h"
|
||||||
|
#include "mysys_err.h"
|
||||||
#include <my_dir.h>
|
#include <my_dir.h>
|
||||||
#include <m_string.h>
|
#include <m_string.h>
|
||||||
#include "mysys_err.h"
|
#include "mysys_err.h"
|
||||||
@ -94,7 +95,10 @@ int my_copystat(const char *from, const char *to, int MyFlags)
|
|||||||
if (MyFlags & MY_LINK_WARNING)
|
if (MyFlags & MY_LINK_WARNING)
|
||||||
my_error(EE_LINK_WARNING,MYF(ME_BELL+ME_WAITTANG),from,statbuf.st_nlink);
|
my_error(EE_LINK_WARNING,MYF(ME_BELL+ME_WAITTANG),from,statbuf.st_nlink);
|
||||||
}
|
}
|
||||||
VOID(chown(to, statbuf.st_uid, statbuf.st_gid)); /* Copy ownership */
|
if (chown(to, statbuf.st_uid, statbuf.st_gid))
|
||||||
|
{
|
||||||
|
my_error(EE_CANT_COPY_OWNERSHIP, MYF(ME_JUST_WARNING), to);
|
||||||
|
}
|
||||||
#endif /* !__WIN__ && !__NETWARE__ */
|
#endif /* !__WIN__ && !__NETWARE__ */
|
||||||
|
|
||||||
#ifndef VMS
|
#ifndef VMS
|
||||||
|
@ -158,7 +158,7 @@ void *_mymalloc(size_t size, const char *filename, uint lineno, myf MyFlags)
|
|||||||
my_message(EE_OUTOFMEMORY, buff, MYF(ME_BELL+ME_WAITTANG+ME_NOREFRESH));
|
my_message(EE_OUTOFMEMORY, buff, MYF(ME_BELL+ME_WAITTANG+ME_NOREFRESH));
|
||||||
}
|
}
|
||||||
DBUG_PRINT("error",("Out of memory, in use: %ld at line %d, '%s'",
|
DBUG_PRINT("error",("Out of memory, in use: %ld at line %d, '%s'",
|
||||||
sf_malloc_max_memory,lineno, filename));
|
(ulong) sf_malloc_max_memory,lineno, filename));
|
||||||
if (MyFlags & MY_FAE)
|
if (MyFlags & MY_FAE)
|
||||||
exit(1);
|
exit(1);
|
||||||
DBUG_RETURN ((void*) 0);
|
DBUG_RETURN ((void*) 0);
|
||||||
@ -436,7 +436,7 @@ void TERMINATE(FILE *file, uint flag)
|
|||||||
/*
|
/*
|
||||||
Report where a piece of memory was allocated
|
Report where a piece of memory was allocated
|
||||||
|
|
||||||
This is usefull to call from withing a debugger
|
This is useful to call from withing a debugger
|
||||||
*/
|
*/
|
||||||
|
|
||||||
void sf_malloc_report_allocated(void *memory)
|
void sf_malloc_report_allocated(void *memory)
|
||||||
|
@ -171,9 +171,9 @@ case $VERSION_NAME in
|
|||||||
*-ndb-* ) VERSION_NAME=`echo $VERSION_NAME | sed -e 's/[.0-9]*-ndb-//'` ;;
|
*-ndb-* ) VERSION_NAME=`echo $VERSION_NAME | sed -e 's/[.0-9]*-ndb-//'` ;;
|
||||||
esac
|
esac
|
||||||
if [ x"$SHORT_PRODUCT_TAG" != x"" ] ; then
|
if [ x"$SHORT_PRODUCT_TAG" != x"" ] ; then
|
||||||
NEW_NAME=mysql-$SHORT_PRODUCT_TAG-$VERSION_NAME-$PLATFORM$SUFFIX
|
NEW_NAME=mariadb-$SHORT_PRODUCT_TAG-$VERSION_NAME-$PLATFORM$SUFFIX
|
||||||
else
|
else
|
||||||
NEW_NAME=mysql@MYSQL_SERVER_SUFFIX@-$VERSION_NAME-$PLATFORM$SUFFIX
|
NEW_NAME=mariadb@MYSQL_SERVER_SUFFIX@-$VERSION_NAME-$PLATFORM$SUFFIX
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# ----------------------------------------------------------------------
|
# ----------------------------------------------------------------------
|
||||||
@ -239,8 +239,8 @@ if [ x"$BASE_SYSTEM" != x"netware" ] ; then
|
|||||||
# ----------------------------------------------------------------------
|
# ----------------------------------------------------------------------
|
||||||
|
|
||||||
cd scripts
|
cd scripts
|
||||||
rm -f mysql_install_db
|
rm -f mysql_install_db mysqld_safe mysql_fix_privilege_tables
|
||||||
@MAKE@ mysql_install_db \
|
@MAKE@ mysql_install_db mysqld_safe mysql_fix_privilege_tables \
|
||||||
prefix=. \
|
prefix=. \
|
||||||
bindir=./bin \
|
bindir=./bin \
|
||||||
sbindir=./bin \
|
sbindir=./bin \
|
||||||
@ -257,7 +257,7 @@ if [ x"$BASE_SYSTEM" != x"netware" ] ; then
|
|||||||
sbindir=./bin \
|
sbindir=./bin \
|
||||||
scriptdir=./bin \
|
scriptdir=./bin \
|
||||||
libexecdir=./bin \
|
libexecdir=./bin \
|
||||||
pkgdatadir=@pkgdatadir@
|
pkgdatadir=./share
|
||||||
cd ..
|
cd ..
|
||||||
|
|
||||||
# ----------------------------------------------------------------------
|
# ----------------------------------------------------------------------
|
||||||
@ -320,6 +320,33 @@ if [ x"$BASE_SYSTEM" != x"netware" ] ; then
|
|||||||
mkdir $DEST/data $DEST/data/mysql $DEST/data/test
|
mkdir $DEST/data $DEST/data/mysql $DEST/data/test
|
||||||
chmod o-rwx $DEST/data $DEST/data/mysql $DEST/data/test
|
chmod o-rwx $DEST/data $DEST/data/mysql $DEST/data/test
|
||||||
|
|
||||||
|
# Remove not needed files
|
||||||
|
rm $DEST/share/mysql/errmsg.txt
|
||||||
|
|
||||||
|
# Remove NDB files
|
||||||
|
rm -f $DEST/share/mysql/ndb-config-2-node.ini \
|
||||||
|
$DEST/share/mysql/config*
|
||||||
|
|
||||||
|
#
|
||||||
|
# Move things to make them easier to find in tar installation
|
||||||
|
#
|
||||||
|
mv $DEST/libexec/* $DEST/bin
|
||||||
|
mv $DEST/share/man $DEST
|
||||||
|
mv $DEST/share/mysql/binary-configure $DEST/configure
|
||||||
|
mv $DEST/share/mysql/*.sql $DEST/share
|
||||||
|
mv $DEST/share/mysql/*.cnf $DEST/share/mysql/*.server $DEST/share/mysql/mysql-log-rotate $DEST/support-files
|
||||||
|
rmdir $DEST/libexec
|
||||||
|
|
||||||
|
#
|
||||||
|
# Move some scripts that are only run once to 'scripts' directory
|
||||||
|
# but add symbolic links instead to old place for compatibility
|
||||||
|
#
|
||||||
|
for i in mysql_secure_installation mysql_fix_extensions mysql_fix_privilege_tables
|
||||||
|
do
|
||||||
|
mv $DEST/bin/$i $DEST/scripts
|
||||||
|
ln -s "../scripts/$i" $DEST/bin/$i
|
||||||
|
done
|
||||||
|
|
||||||
# ----------------------------------------------------------------------
|
# ----------------------------------------------------------------------
|
||||||
# Create the result tar file
|
# Create the result tar file
|
||||||
# ----------------------------------------------------------------------
|
# ----------------------------------------------------------------------
|
||||||
@ -389,6 +416,9 @@ BIN_FILES="extra/comp_err$BS extra/replace$BS extra/perror$BS \
|
|||||||
extra/resolve_stack_dump$BS extra/mysql_waitpid$BS \
|
extra/resolve_stack_dump$BS extra/mysql_waitpid$BS \
|
||||||
storage/myisam/myisamchk$BS storage/myisam/myisampack$BS \
|
storage/myisam/myisamchk$BS storage/myisam/myisampack$BS \
|
||||||
storage/myisam/myisamlog$BS storage/myisam/myisam_ftdump$BS \
|
storage/myisam/myisamlog$BS storage/myisam/myisam_ftdump$BS \
|
||||||
|
storage/maria/maria_chk$BS storage/maria/maria_pack$BS \
|
||||||
|
storage/maria/maria_ftdump$BS storage/maria/maria_read_log$BS \
|
||||||
|
storage/maria/maria_dump_log$BS \
|
||||||
sql/mysqld$BS sql/mysqld-debug$BS \
|
sql/mysqld$BS sql/mysqld-debug$BS \
|
||||||
sql/mysql_tzinfo_to_sql$BS \
|
sql/mysql_tzinfo_to_sql$BS \
|
||||||
server-tools/instance-manager/mysqlmanager$BS \
|
server-tools/instance-manager/mysqlmanager$BS \
|
||||||
@ -493,12 +523,21 @@ rm -f $BASE/bin/Makefile* $BASE/bin/*.in $BASE/bin/*.sh \
|
|||||||
$BASE/bin/mysql_install_db $BASE/bin/make_binary_distribution \
|
$BASE/bin/mysql_install_db $BASE/bin/make_binary_distribution \
|
||||||
$BASE/bin/make_win_* \
|
$BASE/bin/make_win_* \
|
||||||
$BASE/bin/setsomevars $BASE/support-files/Makefile* \
|
$BASE/bin/setsomevars $BASE/support-files/Makefile* \
|
||||||
$BASE/support-files/*.sh
|
$BASE/support-files/*.sh \
|
||||||
|
$BASE/share/mysql/errmsg.txt
|
||||||
|
|
||||||
|
# Remove NDB files
|
||||||
|
rm -f $BASE/share/ndb-config-2-node.ini \
|
||||||
|
$BASE/share/mysql/config*
|
||||||
|
|
||||||
#
|
#
|
||||||
# Copy system dependent files
|
# Move things to make things easier to find in tar installation
|
||||||
#
|
#
|
||||||
./scripts/fill_help_tables < ./Docs/manual.texi >> ./netware/init_db.sql
|
|
||||||
|
mv $BASE/share/man $BASE
|
||||||
|
mv $BASE/share/mysql/binary-configure $BASE/configure
|
||||||
|
mv $BASE/share/mysql/*.sql $BASE/share
|
||||||
|
mv $BASE/share/mysql/*.cnf $BASE/share/mysql/*.server $BASE/share/mysql/mysql-log-rotate $BASE/support-files
|
||||||
|
|
||||||
#
|
#
|
||||||
# Remove system dependent files
|
# Remove system dependent files
|
||||||
@ -512,12 +551,6 @@ rm -f $BASE/support-files/magic \
|
|||||||
$BASE/support-files/MySQL-shared-compat.spec \
|
$BASE/support-files/MySQL-shared-compat.spec \
|
||||||
$BASE/INSTALL-BINARY
|
$BASE/INSTALL-BINARY
|
||||||
|
|
||||||
# Clean up if we did this from a bk tree
|
|
||||||
if [ -d $BASE/sql-bench/SCCS ] ; then
|
|
||||||
find $BASE/share -name SCCS -print | xargs rm -rf
|
|
||||||
find $BASE/sql-bench -name SCCS -print | xargs rm -rf
|
|
||||||
fi
|
|
||||||
|
|
||||||
BASE2=$TMP/$NEW_NAME
|
BASE2=$TMP/$NEW_NAME
|
||||||
rm -rf $BASE2
|
rm -rf $BASE2
|
||||||
mv $BASE $BASE2
|
mv $BASE $BASE2
|
||||||
|
@ -23,6 +23,157 @@ trap "interrupt" 2
|
|||||||
rootpass=""
|
rootpass=""
|
||||||
echo_n=
|
echo_n=
|
||||||
echo_c=
|
echo_c=
|
||||||
|
basedir=
|
||||||
|
bindir=
|
||||||
|
|
||||||
|
parse_arg()
|
||||||
|
{
|
||||||
|
echo "$1" | sed -e 's/^[^=]*=//'
|
||||||
|
}
|
||||||
|
|
||||||
|
parse_arguments()
|
||||||
|
{
|
||||||
|
# We only need to pass arguments through to the server if we don't
|
||||||
|
# handle them here. So, we collect unrecognized options (passed on
|
||||||
|
# the command line) into the args variable.
|
||||||
|
pick_args=
|
||||||
|
if test "$1" = PICK-ARGS-FROM-ARGV
|
||||||
|
then
|
||||||
|
pick_args=1
|
||||||
|
shift
|
||||||
|
fi
|
||||||
|
|
||||||
|
for arg
|
||||||
|
do
|
||||||
|
case "$arg" in
|
||||||
|
--basedir=*) basedir=`parse_arg "$arg"` ;;
|
||||||
|
--no-defaults|--defaults-file=*|--defaults-extra-file=*)
|
||||||
|
defaults="$arg" ;;
|
||||||
|
*)
|
||||||
|
if test -n "$pick_args"
|
||||||
|
then
|
||||||
|
# This sed command makes sure that any special chars are quoted,
|
||||||
|
# so the arg gets passed exactly to the server.
|
||||||
|
# XXX: This is broken; true fix requires using eval and proper
|
||||||
|
# quoting of every single arg ($basedir, $ldata, etc.)
|
||||||
|
#args="$args "`echo "$arg" | sed -e 's,\([^a-zA-Z0-9_.-]\),\\\\\1,g'`
|
||||||
|
args="$args $arg"
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
done
|
||||||
|
}
|
||||||
|
|
||||||
|
# Try to find a specific file within --basedir which can either be a binary
|
||||||
|
# release or installed source directory and return the path.
|
||||||
|
find_in_basedir()
|
||||||
|
{
|
||||||
|
return_dir=
|
||||||
|
case "$1" in
|
||||||
|
--dir)
|
||||||
|
return_dir=1; shift
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
file=$1; shift
|
||||||
|
|
||||||
|
for dir in "$@"
|
||||||
|
do
|
||||||
|
if test -f "$basedir/$dir/$file"
|
||||||
|
then
|
||||||
|
if test -n "$return_dir"
|
||||||
|
then
|
||||||
|
echo "$basedir/$dir"
|
||||||
|
else
|
||||||
|
echo "$basedir/$dir/$file"
|
||||||
|
fi
|
||||||
|
break
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
}
|
||||||
|
|
||||||
|
cannot_find_file()
|
||||||
|
{
|
||||||
|
echo
|
||||||
|
echo "FATAL ERROR: Could not find $1"
|
||||||
|
|
||||||
|
shift
|
||||||
|
if test $# -ne 0
|
||||||
|
then
|
||||||
|
echo
|
||||||
|
echo "The following directories were searched:"
|
||||||
|
echo
|
||||||
|
for dir in "$@"
|
||||||
|
do
|
||||||
|
echo " $dir"
|
||||||
|
done
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo
|
||||||
|
echo "If you compiled from source, you need to run 'make install' to"
|
||||||
|
echo "copy the software into the correct location ready for operation."
|
||||||
|
echo
|
||||||
|
echo "If you are using a binary release, you must either be at the top"
|
||||||
|
echo "level of the extracted archive, or pass the --basedir option"
|
||||||
|
echo "pointing to that location."
|
||||||
|
echo
|
||||||
|
}
|
||||||
|
|
||||||
|
# Ok, let's go. We first need to parse arguments which are required by
|
||||||
|
# my_print_defaults so that we can execute it first, then later re-parse
|
||||||
|
# the command line to add any extra bits that we need.
|
||||||
|
parse_arguments PICK-ARGS-FROM-ARGV "$@"
|
||||||
|
|
||||||
|
#
|
||||||
|
# We can now find my_print_defaults. This script supports:
|
||||||
|
#
|
||||||
|
# --srcdir=path pointing to compiled source tree
|
||||||
|
# --basedir=path pointing to installed binary location
|
||||||
|
#
|
||||||
|
# or default to compiled-in locations.
|
||||||
|
#
|
||||||
|
|
||||||
|
if test -n "$basedir"
|
||||||
|
then
|
||||||
|
print_defaults=`find_in_basedir my_print_defaults bin extra`
|
||||||
|
echo "print: $print_defaults"
|
||||||
|
if test -z "$print_defaults"
|
||||||
|
then
|
||||||
|
cannot_find_file my_print_defaults $basedir/bin $basedir/extra
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
print_defaults="@bindir@/my_print_defaults"
|
||||||
|
fi
|
||||||
|
|
||||||
|
if test ! -x "$print_defaults"
|
||||||
|
then
|
||||||
|
cannot_find_file "$print_defaults"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Now we can get arguments from the group [client]
|
||||||
|
# in the my.cfg file, then re-run to merge with command line arguments.
|
||||||
|
parse_arguments `$print_defaults $defaults client`
|
||||||
|
parse_arguments PICK-ARGS-FROM-ARGV "$@"
|
||||||
|
|
||||||
|
# Configure paths to support files
|
||||||
|
if test -n "$basedir"
|
||||||
|
then
|
||||||
|
bindir="$basedir/bin"
|
||||||
|
elif test -f "./bin/mysql"
|
||||||
|
then
|
||||||
|
bindir="./bin"
|
||||||
|
else
|
||||||
|
bindir="@bindir@"
|
||||||
|
fi
|
||||||
|
|
||||||
|
mysql_command=`find_in_basedir mysql $bindir`
|
||||||
|
if test -z "$print_defaults"
|
||||||
|
then
|
||||||
|
cannot_find_file mysql $bindir
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
set_echo_compat() {
|
set_echo_compat() {
|
||||||
case `echo "testing\c"`,`echo -n testing` in
|
case `echo "testing\c"`,`echo -n testing` in
|
||||||
@ -39,7 +190,7 @@ prepare() {
|
|||||||
|
|
||||||
do_query() {
|
do_query() {
|
||||||
echo $1 >$command
|
echo $1 >$command
|
||||||
mysql --defaults-file=$config <$command
|
$bindir/mysql --defaults-file=$config <$command
|
||||||
return $?
|
return $?
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -184,15 +335,10 @@ cleanup() {
|
|||||||
prepare
|
prepare
|
||||||
set_echo_compat
|
set_echo_compat
|
||||||
|
|
||||||
echo
|
|
||||||
echo
|
|
||||||
echo
|
|
||||||
echo
|
echo
|
||||||
echo "NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MySQL"
|
echo "NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MySQL"
|
||||||
echo " SERVERS IN PRODUCTION USE! PLEASE READ EACH STEP CAREFULLY!"
|
echo " SERVERS IN PRODUCTION USE! PLEASE READ EACH STEP CAREFULLY!"
|
||||||
echo
|
echo
|
||||||
echo
|
|
||||||
|
|
||||||
echo "In order to log into MySQL to secure it, we'll need the current"
|
echo "In order to log into MySQL to secure it, we'll need the current"
|
||||||
echo "password for the root user. If you've just installed MySQL, and"
|
echo "password for the root user. If you've just installed MySQL, and"
|
||||||
echo "you haven't set the root password yet, the password will be blank,"
|
echo "you haven't set the root password yet, the password will be blank,"
|
||||||
@ -309,14 +455,9 @@ echo
|
|||||||
|
|
||||||
cleanup
|
cleanup
|
||||||
|
|
||||||
echo
|
|
||||||
echo
|
|
||||||
echo
|
echo
|
||||||
echo "All done! If you've completed all of the above steps, your MySQL"
|
echo "All done! If you've completed all of the above steps, your MySQL"
|
||||||
echo "installation should now be secure."
|
echo "installation should now be secure."
|
||||||
echo
|
echo
|
||||||
echo "Thanks for using MySQL!"
|
echo "Thanks for using MySQL!"
|
||||||
echo
|
|
||||||
echo
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -999,7 +999,7 @@ static bool print_admin_msg(THD* thd, const char* msg_type,
|
|||||||
|
|
||||||
if (!thd->vio_ok())
|
if (!thd->vio_ok())
|
||||||
{
|
{
|
||||||
sql_print_error(msgbuf);
|
sql_print_error(fmt, args);
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -4868,7 +4868,8 @@ bool flush_error_log()
|
|||||||
size_t bytes;
|
size_t bytes;
|
||||||
uchar buf[IO_SIZE];
|
uchar buf[IO_SIZE];
|
||||||
|
|
||||||
freopen(err_temp,"a+",stderr);
|
if (!freopen(err_temp,"a+",stderr))
|
||||||
|
sql_print_error("Couldn't reopen stderr");
|
||||||
setbuf(stderr, NULL);
|
setbuf(stderr, NULL);
|
||||||
(void) my_delete(err_renamed, MYF(0));
|
(void) my_delete(err_renamed, MYF(0));
|
||||||
my_rename(log_error_file,err_renamed,MYF(0));
|
my_rename(log_error_file,err_renamed,MYF(0));
|
||||||
|
@ -2131,8 +2131,8 @@ void win_install_sigabrt_handler(void)
|
|||||||
#ifdef DEBUG_UNHANDLED_EXCEPTION_FILTER
|
#ifdef DEBUG_UNHANDLED_EXCEPTION_FILTER
|
||||||
#define DEBUGGER_ATTACH_TIMEOUT 120
|
#define DEBUGGER_ATTACH_TIMEOUT 120
|
||||||
/*
|
/*
|
||||||
Wait for debugger to attach and break into debugger. If debugger is not attached,
|
Wait for debugger to attach and break into debugger. If debugger is
|
||||||
resume after timeout.
|
not attached, resume after timeout.
|
||||||
*/
|
*/
|
||||||
static void wait_for_debugger(int timeout_sec)
|
static void wait_for_debugger(int timeout_sec)
|
||||||
{
|
{
|
||||||
@ -3879,7 +3879,8 @@ static int init_server_components()
|
|||||||
if (freopen(log_error_file, "a+", stdout))
|
if (freopen(log_error_file, "a+", stdout))
|
||||||
#endif
|
#endif
|
||||||
{
|
{
|
||||||
freopen(log_error_file, "a+", stderr);
|
if (!(freopen(log_error_file, "a+", stderr)))
|
||||||
|
sql_print_warning("Couldn't reopen stderr");
|
||||||
setbuf(stderr, NULL);
|
setbuf(stderr, NULL);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -4518,8 +4519,11 @@ we force server id to 2, but this MySQL server will not act as a slave.");
|
|||||||
#ifdef __WIN__
|
#ifdef __WIN__
|
||||||
if (!opt_console)
|
if (!opt_console)
|
||||||
{
|
{
|
||||||
freopen(log_error_file,"a+",stdout);
|
if (!freopen(log_error_file,"a+",stdout) ||
|
||||||
freopen(log_error_file,"a+",stderr);
|
!freopen(log_error_file,"a+",stderr))
|
||||||
|
{
|
||||||
|
sql_print_warning("Couldn't reopen stdout or stderr");
|
||||||
|
}
|
||||||
setbuf(stderr, NULL);
|
setbuf(stderr, NULL);
|
||||||
FreeConsole(); // Remove window
|
FreeConsole(); // Remove window
|
||||||
}
|
}
|
||||||
@ -4589,7 +4593,13 @@ we force server id to 2, but this MySQL server will not act as a slave.");
|
|||||||
{
|
{
|
||||||
select_thread_in_use= 0; // Allow 'kill' to work
|
select_thread_in_use= 0; // Allow 'kill' to work
|
||||||
bootstrap(stdin);
|
bootstrap(stdin);
|
||||||
unireg_abort(bootstrap_error ? 1 : 0);
|
if (!kill_in_progress)
|
||||||
|
unireg_abort(bootstrap_error ? 1 : 0);
|
||||||
|
else
|
||||||
|
{
|
||||||
|
sleep(2); // Wait for kill
|
||||||
|
exit(0);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
if (opt_init_file)
|
if (opt_init_file)
|
||||||
{
|
{
|
||||||
@ -4741,7 +4751,7 @@ default_service_handling(char **argv,
|
|||||||
if (opt_delim= strchr(extra_opt, '='))
|
if (opt_delim= strchr(extra_opt, '='))
|
||||||
{
|
{
|
||||||
size_t length= ++opt_delim - extra_opt;
|
size_t length= ++opt_delim - extra_opt;
|
||||||
strnmov(pos, extra_opt, length);
|
pos= strnmov(pos, extra_opt, length);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
opt_delim= extra_opt;
|
opt_delim= extra_opt;
|
||||||
@ -5772,7 +5782,7 @@ enum options_mysqld
|
|||||||
OPT_RECORD_RND_BUFFER, OPT_DIV_PRECINCREMENT, OPT_RELAY_LOG_SPACE_LIMIT,
|
OPT_RECORD_RND_BUFFER, OPT_DIV_PRECINCREMENT, OPT_RELAY_LOG_SPACE_LIMIT,
|
||||||
OPT_RELAY_LOG_PURGE,
|
OPT_RELAY_LOG_PURGE,
|
||||||
OPT_SLAVE_NET_TIMEOUT, OPT_SLAVE_COMPRESSED_PROTOCOL, OPT_SLOW_LAUNCH_TIME,
|
OPT_SLAVE_NET_TIMEOUT, OPT_SLAVE_COMPRESSED_PROTOCOL, OPT_SLOW_LAUNCH_TIME,
|
||||||
OPT_SLAVE_TRANS_RETRIES, OPT_READONLY, OPT_DEBUGGING,
|
OPT_SLAVE_TRANS_RETRIES, OPT_READONLY, OPT_DEBUGGING, OPT_DEBUG_FLUSH,
|
||||||
OPT_SORT_BUFFER, OPT_TABLE_OPEN_CACHE, OPT_TABLE_DEF_CACHE,
|
OPT_SORT_BUFFER, OPT_TABLE_OPEN_CACHE, OPT_TABLE_DEF_CACHE,
|
||||||
OPT_THREAD_CONCURRENCY, OPT_THREAD_CACHE_SIZE,
|
OPT_THREAD_CONCURRENCY, OPT_THREAD_CACHE_SIZE,
|
||||||
OPT_TMP_TABLE_SIZE, OPT_THREAD_STACK,
|
OPT_TMP_TABLE_SIZE, OPT_THREAD_STACK,
|
||||||
@ -5993,6 +6003,8 @@ struct my_option my_long_options[] =
|
|||||||
"Call my_debug_put_break_here() if crc matches this number (for debug).",
|
"Call my_debug_put_break_here() if crc matches this number (for debug).",
|
||||||
(uchar**) &opt_my_crc_dbug_check, (uchar**) &opt_my_crc_dbug_check,
|
(uchar**) &opt_my_crc_dbug_check, (uchar**) &opt_my_crc_dbug_check,
|
||||||
0, GET_ULONG, REQUIRED_ARG, 0, 0, ~(ulong) 0L, 0, 0, 0},
|
0, GET_ULONG, REQUIRED_ARG, 0, 0, ~(ulong) 0L, 0, 0, 0},
|
||||||
|
{"debug-flush", OPT_DEBUG_FLUSH, "Default debug log with flush after write",
|
||||||
|
(uchar**) 0, (uchar**) 0, 0, GET_NO_ARG, NO_ARG, 0, 0, 0, 0, 0, 0},
|
||||||
#endif
|
#endif
|
||||||
{"default-character-set", 'C', "Set the default character set (deprecated option, use --character-set-server instead).",
|
{"default-character-set", 'C', "Set the default character set (deprecated option, use --character-set-server instead).",
|
||||||
(uchar**) &default_character_set_name, (uchar**) &default_character_set_name,
|
(uchar**) &default_character_set_name, (uchar**) &default_character_set_name,
|
||||||
@ -6661,7 +6673,7 @@ log and this option does nothing anymore.",
|
|||||||
0, 0, 0, 0, 0},
|
0, 0, 0, 0, 0},
|
||||||
|
|
||||||
{"test-ignore-wrong-options", OPT_TEST_IGNORE_WRONG_OPTIONS,
|
{"test-ignore-wrong-options", OPT_TEST_IGNORE_WRONG_OPTIONS,
|
||||||
"Ignore wrong enums values in command line arguments. Usefull only for test scripts",
|
"Ignore wrong enums values in command line arguments. Useful only for test scripts",
|
||||||
(uchar**) &opt_ignore_wrong_options, (uchar**) &opt_ignore_wrong_options,
|
(uchar**) &opt_ignore_wrong_options, (uchar**) &opt_ignore_wrong_options,
|
||||||
0, GET_BOOL, NO_ARG, 0, 0, 0, 0, 0, 0},
|
0, GET_BOOL, NO_ARG, 0, 0, 0, 0, 0, 0},
|
||||||
{"timed_mutexes", OPT_TIMED_MUTEXES,
|
{"timed_mutexes", OPT_TIMED_MUTEXES,
|
||||||
@ -7201,7 +7213,7 @@ The minimum value for this variable is 4096.",
|
|||||||
{"thread_stack", OPT_THREAD_STACK,
|
{"thread_stack", OPT_THREAD_STACK,
|
||||||
"The stack size for each thread.", (uchar**) &my_thread_stack_size,
|
"The stack size for each thread.", (uchar**) &my_thread_stack_size,
|
||||||
(uchar**) &my_thread_stack_size, 0, GET_ULONG, REQUIRED_ARG,DEFAULT_THREAD_STACK,
|
(uchar**) &my_thread_stack_size, 0, GET_ULONG, REQUIRED_ARG,DEFAULT_THREAD_STACK,
|
||||||
1024L*128L, (longlong) ULONG_MAX, 0, 1024, 0},
|
(sizeof(void*)<=4)?1024L*128L: ((256-16)*1024L), (longlong) ULONG_MAX, 0, 1024, 0},
|
||||||
{ "time_format", OPT_TIME_FORMAT,
|
{ "time_format", OPT_TIME_FORMAT,
|
||||||
"The TIME format (for future).",
|
"The TIME format (for future).",
|
||||||
(uchar**) &opt_date_time_formats[MYSQL_TIMESTAMP_TIME],
|
(uchar**) &opt_date_time_formats[MYSQL_TIMESTAMP_TIME],
|
||||||
@ -8111,6 +8123,9 @@ mysqld_get_one_option(int optid,
|
|||||||
|
|
||||||
switch(optid) {
|
switch(optid) {
|
||||||
#ifndef DBUG_OFF
|
#ifndef DBUG_OFF
|
||||||
|
case OPT_DEBUG_FLUSH:
|
||||||
|
argument= IF_WIN(default_dbug_option, (char*) "d:t:i:O,/tmp/mysqld.trace");
|
||||||
|
/* fall through */
|
||||||
case '#':
|
case '#':
|
||||||
if (!argument)
|
if (!argument)
|
||||||
argument= (char*) default_dbug_option;
|
argument= (char*) default_dbug_option;
|
||||||
|
@ -295,7 +295,7 @@ Failed to open the existing relay log info file '%s' (errno %d)",
|
|||||||
DBUG_RETURN(error);
|
DBUG_RETURN(error);
|
||||||
|
|
||||||
err:
|
err:
|
||||||
sql_print_error(msg);
|
sql_print_error("%s", msg);
|
||||||
end_io_cache(&rli->info_file);
|
end_io_cache(&rli->info_file);
|
||||||
if (info_fd >= 0)
|
if (info_fd >= 0)
|
||||||
my_close(info_fd, MYF(0));
|
my_close(info_fd, MYF(0));
|
||||||
|
@ -4296,9 +4296,13 @@ uchar *sys_var_thd_dbug::value_ptr(THD *thd, enum_var_type type, LEX_STRING *b)
|
|||||||
{
|
{
|
||||||
char buf[256];
|
char buf[256];
|
||||||
if (type == OPT_GLOBAL)
|
if (type == OPT_GLOBAL)
|
||||||
|
{
|
||||||
DBUG_EXPLAIN_INITIAL(buf, sizeof(buf));
|
DBUG_EXPLAIN_INITIAL(buf, sizeof(buf));
|
||||||
|
}
|
||||||
else
|
else
|
||||||
|
{
|
||||||
DBUG_EXPLAIN(buf, sizeof(buf));
|
DBUG_EXPLAIN(buf, sizeof(buf));
|
||||||
|
}
|
||||||
return (uchar*) thd->strdup(buf);
|
return (uchar*) thd->strdup(buf);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
10
sql/slave.cc
10
sql/slave.cc
@ -1145,7 +1145,7 @@ err:
|
|||||||
if (master_res)
|
if (master_res)
|
||||||
mysql_free_result(master_res);
|
mysql_free_result(master_res);
|
||||||
DBUG_ASSERT(err_code != 0);
|
DBUG_ASSERT(err_code != 0);
|
||||||
mi->report(ERROR_LEVEL, err_code, err_buff);
|
mi->report(ERROR_LEVEL, err_code, "%s", err_buff);
|
||||||
DBUG_RETURN(1);
|
DBUG_RETURN(1);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -2340,7 +2340,7 @@ static bool check_io_slave_killed(THD *thd, Master_info *mi, const char *info)
|
|||||||
if (io_slave_killed(thd, mi))
|
if (io_slave_killed(thd, mi))
|
||||||
{
|
{
|
||||||
if (info && global_system_variables.log_warnings)
|
if (info && global_system_variables.log_warnings)
|
||||||
sql_print_information(info);
|
sql_print_information("%s", info);
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
return FALSE;
|
return FALSE;
|
||||||
@ -2410,13 +2410,13 @@ static int try_to_reconnect(THD *thd, MYSQL *mysql, Master_info *mi,
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
sql_print_information(buf);
|
sql_print_information("%s", buf);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (safe_reconnect(thd, mysql, mi, 1) || io_slave_killed(thd, mi))
|
if (safe_reconnect(thd, mysql, mi, 1) || io_slave_killed(thd, mi))
|
||||||
{
|
{
|
||||||
if (global_system_variables.log_warnings)
|
if (global_system_variables.log_warnings)
|
||||||
sql_print_information(messages[SLAVE_RECON_MSG_KILLED_AFTER]);
|
sql_print_information("%s", messages[SLAVE_RECON_MSG_KILLED_AFTER]);
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
return 0;
|
return 0;
|
||||||
@ -2998,7 +2998,7 @@ log '%s' at position %s, relay log '%s' position: %s", RPL_LOG_NAME,
|
|||||||
This function is reporting an error which was not reported
|
This function is reporting an error which was not reported
|
||||||
while executing exec_relay_log_event().
|
while executing exec_relay_log_event().
|
||||||
*/
|
*/
|
||||||
rli->report(ERROR_LEVEL, thd->main_da.sql_errno(), errmsg);
|
rli->report(ERROR_LEVEL, thd->main_da.sql_errno(), "%s", errmsg);
|
||||||
}
|
}
|
||||||
else if (last_errno != thd->main_da.sql_errno())
|
else if (last_errno != thd->main_da.sql_errno())
|
||||||
{
|
{
|
||||||
|
@ -383,7 +383,7 @@ static void debug_wait_for_kill(const char *info)
|
|||||||
thd= current_thd;
|
thd= current_thd;
|
||||||
prev_info= thd->proc_info;
|
prev_info= thd->proc_info;
|
||||||
thd->proc_info= info;
|
thd->proc_info= info;
|
||||||
sql_print_information(info);
|
sql_print_information("%s", info);
|
||||||
while(!thd->killed)
|
while(!thd->killed)
|
||||||
my_sleep(1000);
|
my_sleep(1000);
|
||||||
thd->killed= THD::NOT_KILLED;
|
thd->killed= THD::NOT_KILLED;
|
||||||
|
@ -485,7 +485,11 @@ pthread_handler_t handle_bootstrap(void *arg)
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
buff= (char*) thd->net.buff;
|
buff= (char*) thd->net.buff;
|
||||||
fgets(buff + length, thd->net.max_packet - length, file);
|
if (!fgets(buff + length, thd->net.max_packet - length, file))
|
||||||
|
{
|
||||||
|
bootstrap_error= 1;
|
||||||
|
break;
|
||||||
|
}
|
||||||
length+= (ulong) strlen(buff + length);
|
length+= (ulong) strlen(buff + length);
|
||||||
/* purecov: end */
|
/* purecov: end */
|
||||||
}
|
}
|
||||||
|
@ -367,8 +367,8 @@ static st_plugin_dl *plugin_dl_add(const LEX_STRING *dl, int report)
|
|||||||
{
|
{
|
||||||
if (report & REPORT_TO_USER)
|
if (report & REPORT_TO_USER)
|
||||||
my_error(ER_UDF_NO_PATHS, MYF(0));
|
my_error(ER_UDF_NO_PATHS, MYF(0));
|
||||||
if (report & REPORT_TO_LOG)
|
if ((report & (REPORT_TO_LOG | REPORT_TO_USER)) == REPORT_TO_LOG)
|
||||||
sql_print_error(ER(ER_UDF_NO_PATHS));
|
sql_print_error("%s", ER(ER_UDF_NO_PATHS));
|
||||||
DBUG_RETURN(0);
|
DBUG_RETURN(0);
|
||||||
}
|
}
|
||||||
/* If this dll is already loaded just increase ref_count. */
|
/* If this dll is already loaded just increase ref_count. */
|
||||||
|
@ -9819,7 +9819,7 @@ create_tmp_table(THD *thd,TMP_TABLE_PARAM *param,List<Item> &fields,
|
|||||||
bool using_unique_constraint= 0;
|
bool using_unique_constraint= 0;
|
||||||
bool use_packed_rows= 0;
|
bool use_packed_rows= 0;
|
||||||
bool not_all_columns= !(select_options & TMP_TABLE_ALL_COLUMNS);
|
bool not_all_columns= !(select_options & TMP_TABLE_ALL_COLUMNS);
|
||||||
char *tmpname,path[FN_REFLEN];
|
char *tmpname,path[FN_REFLEN], tmp_table_name[50];
|
||||||
uchar *pos, *group_buff, *bitmaps;
|
uchar *pos, *group_buff, *bitmaps;
|
||||||
uchar *null_flags;
|
uchar *null_flags;
|
||||||
Field **reg_field, **from_field, **default_field;
|
Field **reg_field, **from_field, **default_field;
|
||||||
@ -9846,12 +9846,12 @@ create_tmp_table(THD *thd,TMP_TABLE_PARAM *param,List<Item> &fields,
|
|||||||
temp_pool_slot = bitmap_lock_set_next(&temp_pool);
|
temp_pool_slot = bitmap_lock_set_next(&temp_pool);
|
||||||
|
|
||||||
if (temp_pool_slot != MY_BIT_NONE) // we got a slot
|
if (temp_pool_slot != MY_BIT_NONE) // we got a slot
|
||||||
sprintf(path, "%s_%lx_%i", tmp_file_prefix,
|
sprintf(tmp_table_name, "%s_%lx_%i", tmp_file_prefix,
|
||||||
current_pid, temp_pool_slot);
|
current_pid, temp_pool_slot);
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
/* if we run out of slots or we are not using tempool */
|
/* if we run out of slots or we are not using tempool */
|
||||||
sprintf(path,"%s%lx_%lx_%x", tmp_file_prefix,current_pid,
|
sprintf(tmp_table_name, "%s%lx_%lx_%x", tmp_file_prefix,current_pid,
|
||||||
thd->thread_id, thd->tmp_table++);
|
thd->thread_id, thd->tmp_table++);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -9859,7 +9859,8 @@ create_tmp_table(THD *thd,TMP_TABLE_PARAM *param,List<Item> &fields,
|
|||||||
No need to change table name to lower case as we are only creating
|
No need to change table name to lower case as we are only creating
|
||||||
MyISAM, Maria or HEAP tables here
|
MyISAM, Maria or HEAP tables here
|
||||||
*/
|
*/
|
||||||
fn_format(path, path, mysql_tmpdir, "", MY_REPLACE_EXT|MY_UNPACK_FILENAME);
|
fn_format(path, tmp_table_name, mysql_tmpdir, "",
|
||||||
|
MY_REPLACE_EXT|MY_UNPACK_FILENAME);
|
||||||
|
|
||||||
if (group)
|
if (group)
|
||||||
{
|
{
|
||||||
@ -9905,7 +9906,7 @@ create_tmp_table(THD *thd,TMP_TABLE_PARAM *param,List<Item> &fields,
|
|||||||
sizeof(*key_part_info)*(param->group_parts+1),
|
sizeof(*key_part_info)*(param->group_parts+1),
|
||||||
¶m->start_recinfo,
|
¶m->start_recinfo,
|
||||||
sizeof(*param->recinfo)*(field_count*2+4),
|
sizeof(*param->recinfo)*(field_count*2+4),
|
||||||
&tmpname, (uint) strlen(path)+1,
|
&tmpname, (uint) strlen(tmp_table_name)+1,
|
||||||
&group_buff, (group && ! using_unique_constraint ?
|
&group_buff, (group && ! using_unique_constraint ?
|
||||||
param->group_length : 0),
|
param->group_length : 0),
|
||||||
&bitmaps, bitmap_buffer_size(field_count)*2,
|
&bitmaps, bitmap_buffer_size(field_count)*2,
|
||||||
@ -9924,7 +9925,7 @@ create_tmp_table(THD *thd,TMP_TABLE_PARAM *param,List<Item> &fields,
|
|||||||
DBUG_RETURN(NULL); /* purecov: inspected */
|
DBUG_RETURN(NULL); /* purecov: inspected */
|
||||||
}
|
}
|
||||||
param->items_to_copy= copy_func;
|
param->items_to_copy= copy_func;
|
||||||
strmov(tmpname,path);
|
strmov(tmpname, tmp_table_name);
|
||||||
/* make table according to fields */
|
/* make table according to fields */
|
||||||
|
|
||||||
bzero((char*) table,sizeof(*table));
|
bzero((char*) table,sizeof(*table));
|
||||||
@ -11813,7 +11814,7 @@ join_read_const_table(JOIN_TAB *tab, POSITION *pos)
|
|||||||
{
|
{
|
||||||
#if !defined(DBUG_OFF) && defined(NOT_USING_ITEM_EQUAL)
|
#if !defined(DBUG_OFF) && defined(NOT_USING_ITEM_EQUAL)
|
||||||
/*
|
/*
|
||||||
This test could be very usefull to find bugs in the optimizer
|
This test could be very useful to find bugs in the optimizer
|
||||||
where we would call this function with an expression that can't be
|
where we would call this function with an expression that can't be
|
||||||
evaluated yet. We can't have this enabled by default as long as
|
evaluated yet. We can't have this enabled by default as long as
|
||||||
have items like Item_equal, that doesn't report they are const but
|
have items like Item_equal, that doesn't report they are const but
|
||||||
|
@ -139,7 +139,9 @@ typedef long long longlong;
|
|||||||
#include <mysql.h>
|
#include <mysql.h>
|
||||||
#include <ctype.h>
|
#include <ctype.h>
|
||||||
|
|
||||||
|
#if !defined(HAVE_GETHOSTBYADDR_R) || !defined(HAVE_SOLARIS_STYLE_GETHOST)
|
||||||
static pthread_mutex_t LOCK_hostname;
|
static pthread_mutex_t LOCK_hostname;
|
||||||
|
#endif
|
||||||
|
|
||||||
#ifdef HAVE_DLOPEN
|
#ifdef HAVE_DLOPEN
|
||||||
|
|
||||||
@ -205,7 +207,7 @@ char *is_const(UDF_INIT *initid, UDF_ARGS *args, char *result, unsigned long
|
|||||||
** try to keep the error message less than 80 bytes long!
|
** try to keep the error message less than 80 bytes long!
|
||||||
**
|
**
|
||||||
** This function should return 1 if something goes wrong. In this case
|
** This function should return 1 if something goes wrong. In this case
|
||||||
** message should contain something usefull!
|
** message should contain something useful!
|
||||||
**************************************************************************/
|
**************************************************************************/
|
||||||
|
|
||||||
#define MAXMETAPH 8
|
#define MAXMETAPH 8
|
||||||
|
@ -32,7 +32,7 @@ SUBDIRS = . unittest
|
|||||||
|
|
||||||
EXTRA_DIST = ma_test_all.sh ma_test_all.res ma_test_big.sh \
|
EXTRA_DIST = ma_test_all.sh ma_test_all.res ma_test_big.sh \
|
||||||
ma_ft_stem.c CMakeLists.txt plug.in ma_test_recovery
|
ma_ft_stem.c CMakeLists.txt plug.in ma_test_recovery
|
||||||
pkgdata_DATA = ma_test_all ma_test_all.res ma_test_recovery
|
pkgdata_DATA =
|
||||||
pkglib_LIBRARIES = libmaria.a
|
pkglib_LIBRARIES = libmaria.a
|
||||||
bin_PROGRAMS = maria_chk maria_pack maria_ftdump maria_read_log \
|
bin_PROGRAMS = maria_chk maria_pack maria_ftdump maria_read_log \
|
||||||
maria_dump_log
|
maria_dump_log
|
||||||
|
@ -266,7 +266,7 @@ static void _ma_check_print_msg(HA_CHECK *param, const char *msg_type,
|
|||||||
|
|
||||||
if (!thd->vio_ok())
|
if (!thd->vio_ok())
|
||||||
{
|
{
|
||||||
sql_print_error(msgbuf);
|
sql_print_error(fmt, args);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1619,7 +1619,7 @@ int ha_maria::preload_keys(THD * thd, HA_CHECK_OPT *check_opt)
|
|||||||
param.db_name= table->s->db.str;
|
param.db_name= table->s->db.str;
|
||||||
param.table_name= table->s->table_name.str;
|
param.table_name= table->s->table_name.str;
|
||||||
param.testflag= 0;
|
param.testflag= 0;
|
||||||
_ma_check_print_error(¶m, errmsg);
|
_ma_check_print_error(¶m, "%s", errmsg);
|
||||||
DBUG_RETURN(HA_ADMIN_FAILED);
|
DBUG_RETURN(HA_ADMIN_FAILED);
|
||||||
}
|
}
|
||||||
DBUG_RETURN(HA_ADMIN_OK);
|
DBUG_RETURN(HA_ADMIN_OK);
|
||||||
|
@ -199,13 +199,17 @@ int maria_recovery_from_log(void)
|
|||||||
int res= 1;
|
int res= 1;
|
||||||
FILE *trace_file;
|
FILE *trace_file;
|
||||||
uint warnings_count;
|
uint warnings_count;
|
||||||
|
#ifdef EXTRA_DEBUG
|
||||||
|
char name_buff[FN_REFLEN];
|
||||||
|
#endif
|
||||||
DBUG_ENTER("maria_recovery_from_log");
|
DBUG_ENTER("maria_recovery_from_log");
|
||||||
|
|
||||||
DBUG_ASSERT(!maria_in_recovery);
|
DBUG_ASSERT(!maria_in_recovery);
|
||||||
maria_in_recovery= TRUE;
|
maria_in_recovery= TRUE;
|
||||||
|
|
||||||
#ifdef EXTRA_DEBUG
|
#ifdef EXTRA_DEBUG
|
||||||
trace_file= fopen("maria_recovery.trace", "a+");
|
fn_format(name_buff, "maria_recovery.trace", maria_data_root, "", MYF(0));
|
||||||
|
trace_file= my_fopen(name_buff, O_WRONLY|O_APPEND|O_CREAT, MYF(MY_WME));
|
||||||
#else
|
#else
|
||||||
trace_file= NULL; /* no trace file for being fast */
|
trace_file= NULL; /* no trace file for being fast */
|
||||||
#endif
|
#endif
|
||||||
@ -222,7 +226,7 @@ int maria_recovery_from_log(void)
|
|||||||
warnings_count);
|
warnings_count);
|
||||||
}
|
}
|
||||||
if (trace_file)
|
if (trace_file)
|
||||||
fclose(trace_file);
|
my_fclose(trace_file, MYF(0));
|
||||||
maria_in_recovery= FALSE;
|
maria_in_recovery= FALSE;
|
||||||
DBUG_RETURN(res);
|
DBUG_RETURN(res);
|
||||||
}
|
}
|
||||||
|
@ -113,10 +113,8 @@ static my_bool check_content(uchar *ptr, ulong length)
|
|||||||
|
|
||||||
void read_ok(TRANSLOG_HEADER_BUFFER *rec)
|
void read_ok(TRANSLOG_HEADER_BUFFER *rec)
|
||||||
{
|
{
|
||||||
char buff[80];
|
ok(1, "read record type: %u LSN: (%lu,0x%lx)",
|
||||||
my_snprintf(buff, sizeof(buff), "read record type: %u LSN: (%lu,0x%lx)",
|
rec->type, LSN_IN_PARTS(rec->lsn));
|
||||||
rec->type, LSN_IN_PARTS(rec->lsn));
|
|
||||||
ok(1, buff);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
@ -28,7 +28,7 @@ LDADD =
|
|||||||
DEFS = @DEFS@
|
DEFS = @DEFS@
|
||||||
|
|
||||||
EXTRA_DIST = mi_test_all.sh mi_test_all.res ft_stem.c CMakeLists.txt plug.in
|
EXTRA_DIST = mi_test_all.sh mi_test_all.res ft_stem.c CMakeLists.txt plug.in
|
||||||
pkgdata_DATA = mi_test_all mi_test_all.res
|
pkgdata_DATA =
|
||||||
|
|
||||||
pkglib_LIBRARIES = libmyisam.a
|
pkglib_LIBRARIES = libmyisam.a
|
||||||
bin_PROGRAMS = myisamchk myisamlog myisampack myisam_ftdump
|
bin_PROGRAMS = myisamchk myisamlog myisampack myisam_ftdump
|
||||||
|
@ -21,10 +21,8 @@
|
|||||||
* H&G2JCtL
|
* H&G2JCtL
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
#include "mysql_priv.h"
|
||||||
#include "xt_config.h"
|
#include "xt_config.h"
|
||||||
|
|
||||||
#include <stdio.h>
|
|
||||||
#include <string.h>
|
|
||||||
#include <ctype.h>
|
#include <ctype.h>
|
||||||
|
|
||||||
#include "strutil_xt.h"
|
#include "strutil_xt.h"
|
||||||
@ -109,6 +107,14 @@ xtPublic void xt_2nd_last_name_of_path(size_t size, char *dest, c_char *path)
|
|||||||
*dest = 0;
|
*dest = 0;
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
/* If temporary file */
|
||||||
|
if (!is_prefix(path, mysql_data_home) &&
|
||||||
|
!is_prefix(path, mysql_real_data_home))
|
||||||
|
{
|
||||||
|
*dest= 0;
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
ptr = path + len - 1;
|
ptr = path + len - 1;
|
||||||
while (ptr != path && !XT_IS_DIR_CHAR(*ptr))
|
while (ptr != path && !XT_IS_DIR_CHAR(*ptr))
|
||||||
ptr--;
|
ptr--;
|
||||||
|
@ -53,7 +53,9 @@ pkgsupp_DATA = my-small.cnf \
|
|||||||
ndb-config-2-node.ini
|
ndb-config-2-node.ini
|
||||||
|
|
||||||
pkgsupp_SCRIPTS = mysql.server \
|
pkgsupp_SCRIPTS = mysql.server \
|
||||||
mysqld_multi.server
|
mysqld_multi.server \
|
||||||
|
binary-configure \
|
||||||
|
mysql-log-rotate
|
||||||
|
|
||||||
aclocaldir = $(datadir)/aclocal
|
aclocaldir = $(datadir)/aclocal
|
||||||
aclocal_DATA = mysql.m4
|
aclocal_DATA = mysql.m4
|
||||||
|
0
support-files/config.huge.ini.sh
Executable file → Normal file
0
support-files/config.huge.ini.sh
Executable file → Normal file
0
support-files/config.medium.ini.sh
Executable file → Normal file
0
support-files/config.medium.ini.sh
Executable file → Normal file
0
support-files/config.small.ini.sh
Executable file → Normal file
0
support-files/config.small.ini.sh
Executable file → Normal file
@ -174,7 +174,7 @@ default-storage-engine = MYISAM
|
|||||||
# memory, while if you use your own stack hungry UDF functions or your
|
# memory, while if you use your own stack hungry UDF functions or your
|
||||||
# OS requires more stack for some operations, you might need to set this
|
# OS requires more stack for some operations, you might need to set this
|
||||||
# to a higher value.
|
# to a higher value.
|
||||||
thread_stack = 192K
|
thread_stack = 240K
|
||||||
|
|
||||||
# Set the default transaction isolation level. Levels available are:
|
# Set the default transaction isolation level. Levels available are:
|
||||||
# READ-UNCOMMITTED, READ-COMMITTED, REPEATABLE-READ, SERIALIZABLE
|
# READ-UNCOMMITTED, READ-COMMITTED, REPEATABLE-READ, SERIALIZABLE
|
||||||
|
@ -34,7 +34,7 @@ sort_buffer_size = 64K
|
|||||||
read_buffer_size = 256K
|
read_buffer_size = 256K
|
||||||
read_rnd_buffer_size = 256K
|
read_rnd_buffer_size = 256K
|
||||||
net_buffer_length = 2K
|
net_buffer_length = 2K
|
||||||
thread_stack = 128K
|
thread_stack = 240K
|
||||||
|
|
||||||
# Don't listen on a TCP/IP port at all. This can be a security enhancement,
|
# Don't listen on a TCP/IP port at all. This can be a security enhancement,
|
||||||
# if all processes that need to connect to mysqld run on the same host.
|
# if all processes that need to connect to mysqld run on the same host.
|
||||||
|
@ -77,7 +77,12 @@ else
|
|||||||
datadir="$basedir/data"
|
datadir="$basedir/data"
|
||||||
fi
|
fi
|
||||||
sbindir="$basedir/sbin"
|
sbindir="$basedir/sbin"
|
||||||
libexecdir="$basedir/libexec"
|
if test -f "$basedir/bin/mysqld"
|
||||||
|
then
|
||||||
|
libexecdir="$basedir/bin"
|
||||||
|
else
|
||||||
|
libexecdir="$basedir/libexec"
|
||||||
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# datadir_set is used to determine if datadir was set (and so should be
|
# datadir_set is used to determine if datadir was set (and so should be
|
||||||
@ -126,6 +131,12 @@ parse_server_arguments() {
|
|||||||
datadir="$basedir/data"
|
datadir="$basedir/data"
|
||||||
fi
|
fi
|
||||||
sbindir="$basedir/sbin"
|
sbindir="$basedir/sbin"
|
||||||
|
if test -f "$basedir/bin/mysqld"
|
||||||
|
then
|
||||||
|
libexecdir="$basedir/bin"
|
||||||
|
else
|
||||||
|
libexecdir="$basedir/libexec"
|
||||||
|
fi
|
||||||
libexecdir="$basedir/libexec"
|
libexecdir="$basedir/libexec"
|
||||||
;;
|
;;
|
||||||
--datadir=*) datadir=`echo "$arg" | sed -e 's/^[^=]*=//'`
|
--datadir=*) datadir=`echo "$arg" | sed -e 's/^[^=]*=//'`
|
||||||
@ -434,9 +445,36 @@ case "$mode" in
|
|||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
;;
|
;;
|
||||||
*)
|
'configtest')
|
||||||
|
# Safeguard (relative paths, core dumps..)
|
||||||
|
cd $basedir
|
||||||
|
echo $echo_n "Testing MySQL configuration syntax"
|
||||||
|
daemon=$bindir/mysqld
|
||||||
|
if test -x $libexecdir/mysqld
|
||||||
|
then
|
||||||
|
daemon=$libexecdir/mysqld
|
||||||
|
elif test -x $sbindir/mysqld
|
||||||
|
then
|
||||||
|
daemon=$sbindir/mysqld
|
||||||
|
elif test -x `which mysqld`
|
||||||
|
then
|
||||||
|
daemon=`which mysqld`
|
||||||
|
else
|
||||||
|
log_failure_msg "Unable to locate the mysqld binary!"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
help_out=`$daemon --help 2>&1`; r=$?
|
||||||
|
if test "$r" != 0 ; then
|
||||||
|
log_failure_msg "$help_out"
|
||||||
|
log_failure_msg "There are syntax errors in the server configuration. Please fix them!"
|
||||||
|
else
|
||||||
|
log_success_msg "Syntax OK"
|
||||||
|
fi
|
||||||
|
exit $r
|
||||||
|
;;
|
||||||
|
*)
|
||||||
# usage
|
# usage
|
||||||
echo "Usage: $0 {start|stop|restart|reload|force-reload|status} [ MySQL server options ]"
|
echo "Usage: $0 {start|stop|restart|reload|force-reload|status|configtest} [ MySQL server options ]"
|
||||||
exit 1
|
exit 1
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
|
@ -1157,7 +1157,7 @@ my_bool fetch_n(const char **query_list, unsigned query_count,
|
|||||||
|
|
||||||
/* Separate thread query to test some cases */
|
/* Separate thread query to test some cases */
|
||||||
|
|
||||||
static my_bool thread_query(char *query)
|
static my_bool thread_query(const char *query)
|
||||||
{
|
{
|
||||||
MYSQL *l_mysql;
|
MYSQL *l_mysql;
|
||||||
my_bool error;
|
my_bool error;
|
||||||
@ -1179,7 +1179,7 @@ static my_bool thread_query(char *query)
|
|||||||
goto end;
|
goto end;
|
||||||
}
|
}
|
||||||
l_mysql->reconnect= 1;
|
l_mysql->reconnect= 1;
|
||||||
if (mysql_query(l_mysql, (char *)query))
|
if (mysql_query(l_mysql, query))
|
||||||
{
|
{
|
||||||
fprintf(stderr, "Query failed (%s)\n", mysql_error(l_mysql));
|
fprintf(stderr, "Query failed (%s)\n", mysql_error(l_mysql));
|
||||||
error= 1;
|
error= 1;
|
||||||
@ -5803,7 +5803,7 @@ static void test_prepare_alter()
|
|||||||
rc= mysql_stmt_execute(stmt);
|
rc= mysql_stmt_execute(stmt);
|
||||||
check_execute(stmt, rc);
|
check_execute(stmt, rc);
|
||||||
|
|
||||||
if (thread_query((char *)"ALTER TABLE test_prep_alter change id id_new varchar(20)"))
|
if (thread_query("ALTER TABLE test_prep_alter change id id_new varchar(20)"))
|
||||||
exit(1);
|
exit(1);
|
||||||
|
|
||||||
is_null= 1;
|
is_null= 1;
|
||||||
|
@ -66,6 +66,7 @@ main(void)
|
|||||||
ok(cmp == 0, "Comparing encode-decode result");
|
ok(cmp == 0, "Comparing encode-decode result");
|
||||||
if (cmp != 0)
|
if (cmp != 0)
|
||||||
{
|
{
|
||||||
|
/* FIXME: This only prints last value of the compared strings */
|
||||||
char buf[80];
|
char buf[80];
|
||||||
diag(" --------- src --------- --------- dst ---------");
|
diag(" --------- src --------- --------- dst ---------");
|
||||||
for (k= 0; k<src_len; k+=8)
|
for (k= 0; k<src_len; k+=8)
|
||||||
@ -84,7 +85,7 @@ main(void)
|
|||||||
unsigned char c= dst[k+l];
|
unsigned char c= dst[k+l];
|
||||||
sprintf(buf, "%.2x ", (unsigned)c);
|
sprintf(buf, "%.2x ", (unsigned)c);
|
||||||
}
|
}
|
||||||
diag(buf);
|
diag("%s", buf);
|
||||||
}
|
}
|
||||||
diag("src length: %.8x, dst length: %.8x\n",
|
diag("src length: %.8x, dst length: %.8x\n",
|
||||||
(uint) src_len, (uint) dst_len);
|
(uint) src_len, (uint) dst_len);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user