mirror of
https://github.com/MariaDB/server.git
synced 2025-01-31 02:51:44 +01:00
Merge tsmith@bk-internal.mysql.com:/home/bk/mysql-5.1
into rhel5-ia64-a.mysql.com:/data0/tsmith/build/51
This commit is contained in:
commit
3069db1da7
347 changed files with 25728 additions and 75157 deletions
|
@ -153,6 +153,14 @@ IF(WIN32)
|
|||
ADD_DEFINITIONS("-D_WINDOWS -D__WIN__ -D_CRT_SECURE_NO_DEPRECATE")
|
||||
ENDIF(WIN32)
|
||||
|
||||
# This definition is necessary to work around a bug with Intellisense described
|
||||
# here: http://tinyurl.com/2cb428. Syntax highlighting is important for proper
|
||||
# debugger functionality.
|
||||
IF(CMAKE_SIZEOF_VOID_P MATCHES 8)
|
||||
MESSAGE(STATUS "Detected 64-bit platform.")
|
||||
ADD_DEFINITIONS("-D_WIN64")
|
||||
ENDIF(CMAKE_SIZEOF_VOID_P MATCHES 8)
|
||||
|
||||
IF(EMBED_MANIFESTS)
|
||||
# Search for the tools (mt, makecat, signtool) necessary for embedding
|
||||
# manifests and signing executables with the MySQL AB authenticode cert.
|
||||
|
|
|
@ -113,6 +113,8 @@ static char *opt_password=0,*current_user=0,
|
|||
*log_error_file= NULL;
|
||||
static char **defaults_argv= 0;
|
||||
static char compatible_mode_normal_str[255];
|
||||
/* Server supports character_set_results session variable? */
|
||||
static my_bool server_supports_switching_charsets= TRUE;
|
||||
static ulong opt_compatible_mode= 0;
|
||||
#define MYSQL_OPT_MASTER_DATA_EFFECTIVE_SQL 1
|
||||
#define MYSQL_OPT_MASTER_DATA_COMMENTED_SQL 2
|
||||
|
@ -1239,11 +1241,27 @@ static void restore_time_zone(FILE *sql_file,
|
|||
}
|
||||
|
||||
|
||||
/**
|
||||
Switch charset for results to some specified charset. If the server does not
|
||||
support character_set_results variable, nothing can be done here. As for
|
||||
whether something should be done here, future new callers of this function
|
||||
should be aware that the server lacking the facility of switching charsets is
|
||||
treated as success.
|
||||
|
||||
@note If the server lacks support, then nothing is changed and no error
|
||||
condition is returned.
|
||||
|
||||
@returns whether there was an error or not
|
||||
*/
|
||||
static int switch_character_set_results(MYSQL *mysql, const char *cs_name)
|
||||
{
|
||||
char query_buffer[QUERY_LENGTH];
|
||||
size_t query_length;
|
||||
|
||||
/* Server lacks facility. This is not an error, by arbitrary decision . */
|
||||
if (!server_supports_switching_charsets)
|
||||
return FALSE;
|
||||
|
||||
query_length= my_snprintf(query_buffer,
|
||||
sizeof (query_buffer),
|
||||
"SET SESSION character_set_results = '%s'",
|
||||
|
@ -1457,11 +1475,14 @@ static int connect_to_db(char *host, char *user,char *passwd)
|
|||
DB_error(&mysql_connection, "when trying to connect");
|
||||
DBUG_RETURN(1);
|
||||
}
|
||||
/*
|
||||
Don't dump SET NAMES with a pre-4.1 server (bug#7997).
|
||||
*/
|
||||
if (mysql_get_server_version(&mysql_connection) < 40100)
|
||||
{
|
||||
/* Don't dump SET NAMES with a pre-4.1 server (bug#7997). */
|
||||
opt_set_charset= 0;
|
||||
|
||||
/* Don't switch charsets for 4.1 and earlier. (bug#34192). */
|
||||
server_supports_switching_charsets= FALSE;
|
||||
}
|
||||
/*
|
||||
As we're going to set SQL_MODE, it would be lost on reconnect, so we
|
||||
cannot reconnect.
|
||||
|
|
|
@ -199,7 +199,7 @@ do
|
|||
;;
|
||||
*)
|
||||
AC_MSG_ERROR([Charset '$cs' not available. (Available are: $CHARSETS_AVAILABLE).
|
||||
See the Installation chapter in the Reference Manual.]);
|
||||
See the Installation chapter in the Reference Manual.])
|
||||
esac
|
||||
done
|
||||
|
||||
|
@ -380,7 +380,7 @@ case $default_charset in
|
|||
;;
|
||||
*)
|
||||
AC_MSG_ERROR([Charset $cs not available. (Available are: $CHARSETS_AVAILABLE).
|
||||
See the Installation chapter in the Reference Manual.]);
|
||||
See the Installation chapter in the Reference Manual.])
|
||||
esac
|
||||
|
||||
if test "$default_collation" = default; then
|
||||
|
@ -405,7 +405,7 @@ else
|
|||
Collation $default_collation is not valid for character set $default_charset.
|
||||
Valid collations are: $default_charset_collations.
|
||||
See the Installation chapter in the Reference Manual.
|
||||
]);
|
||||
])
|
||||
fi
|
||||
|
||||
AC_DEFINE_UNQUOTED([MYSQL_DEFAULT_CHARSET_NAME], ["$default_charset"],
|
||||
|
|
|
@ -2,9 +2,9 @@ dnl ---------------------------------------------------------------------------
|
|||
dnl Macro: MYSQL_CHECK_NDBCLUSTER
|
||||
dnl ---------------------------------------------------------------------------
|
||||
|
||||
NDB_VERSION_MAJOR=`echo $MYSQL_NO_DASH_VERSION | cut -d. -f1`
|
||||
NDB_VERSION_MINOR=`echo $MYSQL_NO_DASH_VERSION | cut -d. -f2`
|
||||
NDB_VERSION_BUILD=`echo $MYSQL_NO_DASH_VERSION | cut -d. -f3`
|
||||
NDB_VERSION_MAJOR=`echo $MYSQL_NUMERIC_VERSION | cut -d. -f1`
|
||||
NDB_VERSION_MINOR=`echo $MYSQL_NUMERIC_VERSION | cut -d. -f2`
|
||||
NDB_VERSION_BUILD=`echo $MYSQL_NUMERIC_VERSION | cut -d. -f3`
|
||||
NDB_VERSION_STATUS=`echo $VERSION | sed 's/^[[-.0-9]]*//'`
|
||||
TEST_NDBCLUSTER=""
|
||||
|
||||
|
|
|
@ -631,7 +631,7 @@ case $SYSTEM_TYPE in
|
|||
esac
|
||||
if test "$CXX_VERSION"
|
||||
then
|
||||
AC_MSG_CHECKING("C++ compiler version");
|
||||
AC_MSG_CHECKING("C++ compiler version")
|
||||
AC_MSG_RESULT("$CXX $CXX_VERSION")
|
||||
fi
|
||||
AC_SUBST(CXX_VERSION)
|
||||
|
|
16
configure.in
16
configure.in
|
@ -23,9 +23,19 @@ NDB_SHARED_LIB_VERSION=$NDB_SHARED_LIB_MAJOR_VERSION:0:0
|
|||
|
||||
# Set all version vars based on $VERSION. How do we do this more elegant ?
|
||||
# Remember that regexps needs to quote [ and ] since this is run through m4
|
||||
MYSQL_NO_DASH_VERSION=`echo $VERSION | sed -e "s|[[a-z]]*-.*$||"`
|
||||
MYSQL_BASE_VERSION=`echo $MYSQL_NO_DASH_VERSION | sed -e "s|\.[[^.]]*$||"`
|
||||
MYSQL_VERSION_ID=`echo $MYSQL_NO_DASH_VERSION | sed -e 's|[[^0-9.]].*$||;s|$|.|' | sed -e 's/[[^0-9.]]//g; s/\./ /g; s/ \([[0-9]]\) / 0\\1 /g; s/ //g'`
|
||||
# We take some made up examples
|
||||
#
|
||||
# VERSION 5.1.40sp1-alpha 5.0.34a
|
||||
# MYSQL_NO_DASH_VERSION 5.1.40sp1 5.0.34a
|
||||
# MYSQL_NUMERIC_VERSION 5.1.40 5.0.34
|
||||
# MYSQL_BASE_VERSION 5.1 5.0
|
||||
# MYSQL_VERSION_ID 50140 50034
|
||||
#
|
||||
MYSQL_NO_DASH_VERSION=`echo $VERSION | sed -e "s|-.*$||"`
|
||||
MYSQL_NUMERIC_VERSION=`echo $MYSQL_NO_DASH_VERSION | sed -e "s|[[a-z]][[a-z0-9]]*$||"`
|
||||
MYSQL_BASE_VERSION=`echo $MYSQL_NUMERIC_VERSION | sed -e "s|\.[[^.]]*$||"`
|
||||
MYSQL_VERSION_ID=`echo $MYSQL_NUMERIC_VERSION | \
|
||||
awk -F. '{printf "%d%0.2d%0.2d", $1, $2, $3}'`
|
||||
|
||||
# Add previous major version for debian package upgrade path
|
||||
MYSQL_PREVIOUS_BASE_VERSION=5.0
|
||||
|
|
|
@ -260,71 +260,6 @@ inline double ulonglong2double(ulonglong value)
|
|||
|
||||
#define STACK_DIRECTION -1
|
||||
|
||||
/* Optimized store functions for Intel x86 */
|
||||
|
||||
#ifndef _WIN64
|
||||
#define sint2korr(A) (*((int16 *) (A)))
|
||||
#define sint3korr(A) ((int32) ((((uchar) (A)[2]) & 128) ? \
|
||||
(((uint32) 255L << 24) | \
|
||||
(((uint32) (uchar) (A)[2]) << 16) |\
|
||||
(((uint32) (uchar) (A)[1]) << 8) | \
|
||||
((uint32) (uchar) (A)[0])) : \
|
||||
(((uint32) (uchar) (A)[2]) << 16) |\
|
||||
(((uint32) (uchar) (A)[1]) << 8) | \
|
||||
((uint32) (uchar) (A)[0])))
|
||||
#define sint4korr(A) (*((long *) (A)))
|
||||
#define uint2korr(A) (*((uint16 *) (A)))
|
||||
/*
|
||||
ATTENTION !
|
||||
|
||||
Please, note, uint3korr reads 4 bytes (not 3) !
|
||||
It means, that you have to provide enough allocated space !
|
||||
*/
|
||||
#define uint3korr(A) (long) (*((unsigned int *) (A)) & 0xFFFFFF)
|
||||
#define uint4korr(A) (*((unsigned long *) (A)))
|
||||
#define uint5korr(A) ((ulonglong)(((uint32) ((uchar) (A)[0])) +\
|
||||
(((uint32) ((uchar) (A)[1])) << 8) +\
|
||||
(((uint32) ((uchar) (A)[2])) << 16) +\
|
||||
(((uint32) ((uchar) (A)[3])) << 24)) +\
|
||||
(((ulonglong) ((uchar) (A)[4])) << 32))
|
||||
#define uint6korr(A) ((ulonglong)(((uint32) ((uchar) (A)[0])) + \
|
||||
(((uint32) ((uchar) (A)[1])) << 8) + \
|
||||
(((uint32) ((uchar) (A)[2])) << 16) + \
|
||||
(((uint32) ((uchar) (A)[3])) << 24)) + \
|
||||
(((ulonglong) ((uchar) (A)[4])) << 32) + \
|
||||
(((ulonglong) ((uchar) (A)[5])) << 40))
|
||||
#define uint8korr(A) (*((ulonglong *) (A)))
|
||||
#define sint8korr(A) (*((longlong *) (A)))
|
||||
#define int2store(T,A) *((uint16*) (T))= (uint16) (A)
|
||||
#define int3store(T,A) { *(T)= (uchar) ((A));\
|
||||
*(T+1)=(uchar) (((uint) (A) >> 8));\
|
||||
*(T+2)=(uchar) (((A) >> 16)); }
|
||||
#define int4store(T,A) *((long *) (T))= (long) (A)
|
||||
#define int5store(T,A) { *(T)= (uchar)((A));\
|
||||
*((T)+1)=(uchar) (((A) >> 8));\
|
||||
*((T)+2)=(uchar) (((A) >> 16));\
|
||||
*((T)+3)=(uchar) (((A) >> 24)); \
|
||||
*((T)+4)=(uchar) (((A) >> 32)); }
|
||||
#define int6store(T,A) { *(T) =(uchar)((A)); \
|
||||
*((T)+1)=(uchar) (((A) >> 8)); \
|
||||
*((T)+2)=(uchar) (((A) >> 16)); \
|
||||
*((T)+3)=(uchar) (((A) >> 24)); \
|
||||
*((T)+4)=(uchar) (((A) >> 32)); \
|
||||
*((T)+5)=(uchar) (((A) >> 40)); }
|
||||
#define int8store(T,A) *((ulonglong *) (T))= (ulonglong) (A)
|
||||
|
||||
#define doubleget(V,M) do { *((long *) &V) = *((long*) M); \
|
||||
*(((long *) &V)+1) = *(((long*) M)+1); } while(0)
|
||||
#define doublestore(T,V) do { *((long *) T) = *((long*) &V); \
|
||||
*(((long *) T)+1) = *(((long*) &V)+1); } while(0)
|
||||
#define float4get(V,M) { *((long *) &(V)) = *((long*) (M)); }
|
||||
#define floatstore(T,V) memcpy((uchar*)(T), (uchar*)(&V), sizeof(float))
|
||||
#define floatget(V,M) memcpy((uchar*)(&V), (uchar*)(M), sizeof(float))
|
||||
#define float8get(V,M) doubleget((V),(M))
|
||||
#define float4store(V,M) memcpy((uchar*) V,(uchar*) (&M),sizeof(float))
|
||||
#define float8store(V,M) doublestore((V),(M))
|
||||
#endif /* _WIN64 */
|
||||
|
||||
#define HAVE_PERROR
|
||||
#define HAVE_VFPRINT
|
||||
#define HAVE_RENAME /* Have rename() as function */
|
||||
|
|
|
@ -1140,7 +1140,7 @@ typedef char bool; /* Ordinary boolean values 0 1 */
|
|||
*/
|
||||
|
||||
/* Optimized store functions for Intel x86 */
|
||||
#if defined(__i386__) && !defined(_WIN64)
|
||||
#if defined(__i386__) || defined(_WIN32)
|
||||
#define sint2korr(A) (*((int16 *) (A)))
|
||||
#define sint3korr(A) ((int32) ((((uchar) (A)[2]) & 128) ? \
|
||||
(((uint32) 255L << 24) | \
|
||||
|
@ -1152,7 +1152,7 @@ typedef char bool; /* Ordinary boolean values 0 1 */
|
|||
((uint32) (uchar) (A)[0])))
|
||||
#define sint4korr(A) (*((long *) (A)))
|
||||
#define uint2korr(A) (*((uint16 *) (A)))
|
||||
#ifdef HAVE_purify
|
||||
#if defined(HAVE_purify) && !defined(_WIN32)
|
||||
#define uint3korr(A) (uint32) (((uint32) ((uchar) (A)[0])) +\
|
||||
(((uint32) ((uchar) (A)[1])) << 8) +\
|
||||
(((uint32) ((uchar) (A)[2])) << 16))
|
||||
|
@ -1164,7 +1164,7 @@ typedef char bool; /* Ordinary boolean values 0 1 */
|
|||
It means, that you have to provide enough allocated space !
|
||||
*/
|
||||
#define uint3korr(A) (long) (*((unsigned int *) (A)) & 0xFFFFFF)
|
||||
#endif
|
||||
#endif /* HAVE_purify && !_WIN32 */
|
||||
#define uint4korr(A) (*((uint32 *) (A)))
|
||||
#define uint5korr(A) ((ulonglong)(((uint32) ((uchar) (A)[0])) +\
|
||||
(((uint32) ((uchar) (A)[1])) << 8) +\
|
||||
|
@ -1215,9 +1215,8 @@ do { doubleget_union _tmp; \
|
|||
#define floatstore(T,V) memcpy((uchar*)(T), (uchar*)(&V),sizeof(float))
|
||||
#define floatget(V,M) memcpy((uchar*) &V,(uchar*) (M),sizeof(float))
|
||||
#define float8store(V,M) doublestore((V),(M))
|
||||
#endif /* __i386__ */
|
||||
#else
|
||||
|
||||
#ifndef sint2korr
|
||||
/*
|
||||
We're here if it's not a IA-32 architecture (Win32 and UNIX IA-32 defines
|
||||
were done before)
|
||||
|
@ -1356,7 +1355,7 @@ do { doubleget_union _tmp; \
|
|||
#define float8store(V,M) doublestore((V),(M))
|
||||
#endif /* WORDS_BIGENDIAN */
|
||||
|
||||
#endif /* sint2korr */
|
||||
#endif /* __i386__ OR _WIN32 */
|
||||
|
||||
/*
|
||||
Macro for reading 32-bit integer from network byte order (big-endian)
|
||||
|
|
|
@ -21,13 +21,14 @@ MYSQLDATAdir = $(localstatedir)
|
|||
MYSQLSHAREdir = $(pkgdatadir)
|
||||
MYSQLBASEdir= $(prefix)
|
||||
MYSQLLIBdir= $(libdir)
|
||||
pkgplugindir = $(pkglibdir)/plugin
|
||||
|
||||
EXTRA_DIST = libmysqld.def CMakeLists.txt
|
||||
DEFS = -DEMBEDDED_LIBRARY -DMYSQL_SERVER \
|
||||
-DDEFAULT_MYSQL_HOME="\"$(MYSQLBASEdir)\"" \
|
||||
-DDATADIR="\"$(MYSQLDATAdir)\"" \
|
||||
-DSHAREDIR="\"$(MYSQLSHAREdir)\"" \
|
||||
-DLIBDIR="\"$(MYSQLLIBdir)\""
|
||||
-DPLUGINDIR="\"$(pkgplugindir)\""
|
||||
INCLUDES= -I$(top_builddir)/include -I$(top_srcdir)/include \
|
||||
-I$(top_builddir)/sql -I$(top_srcdir)/sql \
|
||||
-I$(top_srcdir)/sql/examples \
|
||||
|
|
|
@ -107,4 +107,15 @@ Error 1146 Table 'mysql.proc' doesn't exist
|
|||
# -- End of Bug#29958.
|
||||
# --
|
||||
|
||||
create database mysqltestbug26703;
|
||||
use mysqltestbug26703;
|
||||
create table `#mysql50#abc``def` ( id int );
|
||||
create table `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa` (a int);
|
||||
ERROR 42000: Incorrect table name 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa'
|
||||
create table `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa` (a int);
|
||||
create table `#mysql50#aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa` (a int);
|
||||
create table `#mysql50#aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa` (a int);
|
||||
ERROR 42000: Incorrect table name '#mysql50#aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa'
|
||||
use test;
|
||||
drop database mysqltestbug26703;
|
||||
End of 5.1 tests
|
||||
|
|
|
@ -14,6 +14,9 @@ Warnings:
|
|||
Note 1051 Unknown table 't1'
|
||||
CREATE TABLE federated.t1 (
|
||||
`id` int(20) NOT NULL,
|
||||
`group` int NOT NULL default 0,
|
||||
`a\\b` int NOT NULL default 0,
|
||||
`a\\` int NOT NULL default 0,
|
||||
`name` varchar(32) NOT NULL default ''
|
||||
)
|
||||
DEFAULT CHARSET=latin1;
|
||||
|
@ -22,6 +25,9 @@ Warnings:
|
|||
Note 1051 Unknown table 't1'
|
||||
CREATE TABLE federated.t1 (
|
||||
`id` int(20) NOT NULL,
|
||||
`group` int NOT NULL default 0,
|
||||
`a\\b` inT NOT NULL default 0,
|
||||
`a\\` int NOT NULL default 0,
|
||||
`name` varchar(32) NOT NULL default ''
|
||||
)
|
||||
ENGINE="FEDERATED" DEFAULT CHARSET=latin1
|
||||
|
@ -29,6 +35,9 @@ CONNECTION='mysql://root@127.0.0.1:@/too/many/items/federated/t1';
|
|||
ERROR HY000: Can't create federated table. The data source connection string 'mysql://root@127.0.0.1:@/too/many/items/federated/t1' is not in the correct format
|
||||
CREATE TABLE federated.t1 (
|
||||
`id` int(20) NOT NULL,
|
||||
`group` int NOT NULL default 0,
|
||||
`a\\b` iNt NOT NULL default 0,
|
||||
`a\\` int NOT NULL default 0,
|
||||
`name` varchar(32) NOT NULL default ''
|
||||
)
|
||||
ENGINE="FEDERATED" DEFAULT CHARSET=latin1
|
||||
|
@ -36,6 +45,9 @@ CONNECTION='mysql://root@127.0.0.1';
|
|||
ERROR HY000: Can't create federated table. The data source connection string 'mysql://root@127.0.0.1' is not in the correct format
|
||||
CREATE TABLE federated.t1 (
|
||||
`id` int(20) NOT NULL,
|
||||
`group` int NOT NULL default 0,
|
||||
`a\\b` iNT NOT NULL default 0,
|
||||
`a\\` int NOT NULL default 0,
|
||||
`name` varchar(32) NOT NULL default ''
|
||||
)
|
||||
ENGINE="FEDERATED" DEFAULT CHARSET=latin1
|
||||
|
@ -45,6 +57,9 @@ ERROR HY000: The foreign data source you are trying to reference does not exist.
|
|||
DROP TABLE federated.t1;
|
||||
CREATE TABLE federated.t1 (
|
||||
`id` int(20) NOT NULL,
|
||||
`group` int NOT NULL default 0,
|
||||
`a\\b` Int NOT NULL default 0,
|
||||
`a\\` int NOT NULL default 0,
|
||||
`name` varchar(32) NOT NULL default ''
|
||||
)
|
||||
ENGINE="FEDERATED" DEFAULT CHARSET=latin1
|
||||
|
@ -54,16 +69,25 @@ ERROR HY000: Unable to connect to foreign data source: Access denied for user 'u
|
|||
DROP TABLE federated.t1;
|
||||
CREATE TABLE federated.t1 (
|
||||
`id` int(20) NOT NULL,
|
||||
`group` int NOT NULL default 0,
|
||||
`a\\b` InT NOT NULL default 0,
|
||||
`a\\` int NOT NULL default 0,
|
||||
`name` varchar(32) NOT NULL default ''
|
||||
)
|
||||
ENGINE="FEDERATED" DEFAULT CHARSET=latin1
|
||||
CONNECTION='mysql://root@127.0.0.1:SLAVE_PORT/federated/t1';
|
||||
INSERT INTO federated.t1 (id, name) VALUES (1, 'foo');
|
||||
INSERT INTO federated.t1 (id, name) VALUES (2, 'fee');
|
||||
INSERT INTO federated.t1 (id, `group`) VALUES (3, 42);
|
||||
INSERT INTO federated.t1 (id, `a\\b`) VALUES (4, 23);
|
||||
INSERT INTO federated.t1 (id, `a\\`) VALUES (5, 1);
|
||||
SELECT * FROM federated.t1;
|
||||
id name
|
||||
1 foo
|
||||
2 fee
|
||||
id group a\\b a\\ name
|
||||
1 0 0 0 foo
|
||||
2 0 0 0 fee
|
||||
3 42 0 0
|
||||
4 0 23 0
|
||||
5 0 0 1
|
||||
DELETE FROM federated.t1;
|
||||
DROP TABLE federated.t1;
|
||||
DROP TABLE IF EXISTS federated.t2;
|
||||
|
|
|
@ -1306,4 +1306,43 @@ DROP DATABASE mysqltest1;
|
|||
RENAME TABLE mysql.procs_gone TO mysql.procs_priv;
|
||||
DROP USER mysqltest_1@localhost;
|
||||
FLUSH PRIVILEGES;
|
||||
CREATE DATABASE dbbug33464;
|
||||
CREATE USER 'userbug33464'@'localhost';
|
||||
GRANT CREATE ROUTINE ON dbbug33464.* TO 'userbug33464'@'localhost';
|
||||
|
||||
userbug33464@localhost dbbug33464
|
||||
DROP PROCEDURE IF EXISTS sp3;
|
||||
DROP FUNCTION IF EXISTS fn1;
|
||||
CREATE PROCEDURE sp3(v1 char(20))
|
||||
BEGIN
|
||||
SELECT * from dbbug33464.t6 where t6.f2= 'xyz';
|
||||
END//
|
||||
CREATE FUNCTION fn1() returns char(50) SQL SECURITY INVOKER
|
||||
BEGIN
|
||||
return 1;
|
||||
END//
|
||||
CREATE FUNCTION fn2() returns char(50) SQL SECURITY DEFINER
|
||||
BEGIN
|
||||
return 2;
|
||||
END//
|
||||
USE dbbug33464;
|
||||
|
||||
root@localhost dbbug33464
|
||||
SELECT fn1();
|
||||
fn1()
|
||||
1
|
||||
SELECT fn2();
|
||||
fn2()
|
||||
2
|
||||
DROP USER 'userbug33464'@'localhost';
|
||||
DROP FUNCTION fn1;
|
||||
Warnings:
|
||||
Warning 1403 There is no such grant defined for user 'userbug33464' on host 'localhost' on routine 'fn1'
|
||||
DROP FUNCTION fn2;
|
||||
Warnings:
|
||||
Warning 1403 There is no such grant defined for user 'userbug33464' on host 'localhost' on routine 'fn2'
|
||||
DROP PROCEDURE sp3;
|
||||
DROP USER 'userbug33464'@'localhost';
|
||||
use test;
|
||||
DROP DATABASE dbbug33464;
|
||||
End of 5.1 tests
|
||||
|
|
|
@ -1,141 +1,46 @@
|
|||
Matthias 17.06.2005
|
||||
-------------------
|
||||
1. I changed the database test1 (dropped + created in SP test)
|
||||
to test4.
|
||||
Please adjust the SP test cases.
|
||||
2. There is a difference between my definition of
|
||||
innodb_tb4 + memory_tb4
|
||||
to the latest table definition used by disha.
|
||||
Please adjust the table definition if needed.
|
||||
3. The data load files are product of the Disha data generation script
|
||||
(downloaded ~20 May ?) + modified by Omer
|
||||
These load data fit fairly to the table definitions.
|
||||
2008-02-29 Matthias Leich
|
||||
=========================
|
||||
|
||||
4. How to execute the "small" test with 10 rows per table.
|
||||
Do NOT set the environment variable NO_REFRESH to a
|
||||
value <> ''.
|
||||
Start the test for example by
|
||||
./mysql-test-run.pl --vardir=/dev/shm/var \
|
||||
--force --suite=funcs_1 --do-test=myisam
|
||||
The "result" files fit mostly to this variant.
|
||||
1. The testsuite "funcs_1" is mostly intended for additional (compared
|
||||
to the common regression tests stored in mysql-test/t) checks
|
||||
of features (VIEWS, INFORMATION_SCHEMA, STORED PROCEDURES,...)
|
||||
introduced with MySQL 5.0.
|
||||
|
||||
Any database not in ('mysql','test') and any tables
|
||||
needed within a testcase ( t/<storage engine>_<test filed>.test )
|
||||
will be (re)created at the beginning of the test.
|
||||
2. There were some extensions of this suite when new information_schema
|
||||
views were introduced. But in most cases the tests for these views
|
||||
were stored within the regression testsuite (mysql-test/t).
|
||||
|
||||
5. How to execute the "big" test with many rows per table.
|
||||
Replace the directories
|
||||
suite/funcs_1/data and
|
||||
suite/funcs_1/r
|
||||
with the appropriate ones for the "big" test.
|
||||
Set the environment variable NO_REFRESH to a value <> ''.
|
||||
Start the test for example by
|
||||
./mysql-test-run.pl --vardir=/dev/shm/var \
|
||||
--force --suite=funcs_1 --do-test=myisam
|
||||
INFORMATION_SCHEMA views introduced with MySQL 5.1
|
||||
==================================================
|
||||
ENGINES (partially tested here)
|
||||
EVENTS (partially tested here)
|
||||
FILES
|
||||
GLOBAL_STATUS
|
||||
GLOBAL_VARIABLES
|
||||
PARTITIONS
|
||||
PLUGINS
|
||||
PROCESSLIST (full tested here)
|
||||
PROFILING
|
||||
REFERENTIAL_CONSTRAINTS
|
||||
SESSION_STATUS
|
||||
SESSION_VARIABLES
|
||||
|
||||
All databases and tables will be (re)created by the script
|
||||
<storage engine>__load.test .
|
||||
3. Some hints:
|
||||
- SHOW TABLES ... LIKE '<pattern>'
|
||||
does a case sensitive comparison between the tablename and
|
||||
the pattern.
|
||||
The names of the tables within the informationschema are in uppercase.
|
||||
So please use something like
|
||||
SHOW TABLES FOR information_schema LIKE 'TABLES'
|
||||
when you intend to get the same non empty result set on OS with and
|
||||
without case sensitive filesystems and default configuration.
|
||||
- The name of the data dictionary is 'information_schema' (lowercase).
|
||||
- Server on OS with filesystem with case sensitive filenames
|
||||
(= The files 'abc' and 'Abc' can coexist.)
|
||||
+ default configuration
|
||||
Example of behaviour:
|
||||
DROP DATABASE information_schema;
|
||||
ERROR 42000: Access denied for user ... to database 'information_schema'
|
||||
DROP DATABASE INFORMATION_SCHEMA;
|
||||
ERROR 42000: Access denied for user ... to database 'INFORMATION_SCHEMA'
|
||||
|
||||
6. I am not sure of the files
|
||||
./funcs_1/include/create_<whatever>.inc
|
||||
are in the moment needed. I included them, because I
|
||||
guess my VIEW testcase example needs them.
|
||||
|
||||
I guess the pushed files are far away from being perfect.
|
||||
It is a 8 hours hack.
|
||||
Please try them, create missing files and come up with improvements.
|
||||
|
||||
Good luck !
|
||||
|
||||
Matthias 17.06.2005
|
||||
===================================================================
|
||||
Omer 19.06.2005
|
||||
---------------
|
||||
1. Changed the structure of the memory_tb3 table to include two
|
||||
additional column f121, f122. These columns exist for the table in
|
||||
the other storage engines as TEXT. Since memory does not support
|
||||
TEXT, Disha did not include them. How ever I am using them in the
|
||||
Trigger tests so added them to the memory definition as CHAR(50);.
|
||||
Also modifyed the DataGen_modiy.pl file to account for these two
|
||||
column when generating the data.
|
||||
- checked in a new DataGen_modify.pl (create a 'lib' directory
|
||||
under 'funcs_1').
|
||||
- checked in a new memory_tb3.txt
|
||||
2. Added three <storage>_triggers.test files based on Matthias's
|
||||
structure above.
|
||||
3. Added three <storage>__triggers.result files
|
||||
4. Added the Trigger_master.test file in the trigger dierctory
|
||||
Note: This is not complete and is still under work
|
||||
5. Created a 'lib' directory and added the DataGen*.pl scripts to it
|
||||
(exists under the disha suite) but should be here as well).
|
||||
Omer 19.06.2005
|
||||
===================================================================
|
||||
Matthias 12.09.2005
|
||||
-------------------
|
||||
Replace the geometry data types by VARBINARY
|
||||
The removal of the geometry data types was necessary, because the
|
||||
execution of the funcs_1 testsuite should not depend on the
|
||||
availability of the geometry feature.
|
||||
Note: There are servers compiled without the geometry feature.
|
||||
|
||||
The columns are not removed, but their data type was changed
|
||||
VARBINARY. This allows us to omit any changes within the loader
|
||||
input files or data generation scripts.
|
||||
The replacement of geometry by VARCHAR allows us to use our
|
||||
|
||||
Matthias 12.09.2005
|
||||
===================================================================
|
||||
Matthias 14.09.2005
|
||||
-------------------
|
||||
The results of the <storage_engine>_views testcases suffer when
|
||||
executed in "--ps-protocol" mode from the open
|
||||
Bug#11589: mysqltest, --ps-protocol, strange output,
|
||||
float/double/real with zerofill .
|
||||
Implementation of a workaround:
|
||||
At the beginning of views_master.inc is a variable $have_bug_11589 .
|
||||
If this varable is set to 1, the ps-protocol will be switched
|
||||
of for the critical statements.
|
||||
Matthias 14.09.2005
|
||||
===================================================================
|
||||
Carsten 16.09.2005
|
||||
------------------
|
||||
1. The results of the datadict_<engine> testcases have been changed in nearly
|
||||
all occurrencies of --error <n> because now for the INFORMATION_SCHEMA only
|
||||
the --error 1044 (ERROR 42000: Access denied for user '..' to database
|
||||
'information_schema') seems to be used.
|
||||
2. To get identical results when using "--ps-protocol" some SELECTs FROM
|
||||
information_schema has been wrapped to suppress using ps-protocol because
|
||||
there are differences.
|
||||
3. The test using SELECT .. OUTFILE has been disabled due to bug #13202.
|
||||
4. Fixed datadict_<engine>.result files after the change that added 2 columns to
|
||||
the VIEWS table (DEFINER varchar(77), SECURITY_TYPE varchar(7)).
|
||||
===================================================================
|
||||
Matthias 25.08.2007
|
||||
-------------------
|
||||
Data dictionary tests:
|
||||
Fixes for Bugs 30418,30420,30438,30440
|
||||
1. Replace error numbers with error names
|
||||
2. Replace static "InnoDB" (not all time available) used within an
|
||||
"alter table" by $OTHER_ENGINE_TYPE (set to MEMORY or MyISAM).
|
||||
Minor adjustment of column data type.
|
||||
3. Use mysqltest result set sorting in several cases.
|
||||
4. Avoid any statistics about help tables, because their content
|
||||
depends on configuration:
|
||||
developer release - help tables are empty
|
||||
build release - help tables have content + growing with version
|
||||
5. Add two help table related tests (one for build, one for developer)
|
||||
to ensure that informations about help tables within
|
||||
INFORMATION_SCHEMA.TABLES/STATISTICS are checked.
|
||||
6. Note about new Bug#30689 at the beginning of the test.
|
||||
The files with expected results contain incomplete result sets.
|
||||
7. Fix the NDB variant of the data dictionary test (ndb__datadict) as far as
|
||||
it was necessary for the bug fixes mentioned above.
|
||||
|
||||
|
||||
General note:
|
||||
Most INFORMATION_SCHEMA properties (table layout, permissions etc.)
|
||||
are not affected by our variation of the storage engines except
|
||||
that some properties of our tables using a specific storage
|
||||
engine become visible. So it makes sense to decompose
|
||||
the data dictionary test into a storage engine specific part and
|
||||
a non storage engine specific part in future.
|
||||
|
|
53
mysql-test/suite/funcs_1/datadict/basics_mixed1.inc
Normal file
53
mysql-test/suite/funcs_1/datadict/basics_mixed1.inc
Normal file
|
@ -0,0 +1,53 @@
|
|||
# suite/funcs_1/datadict/basics_mixed1.inc
|
||||
#
|
||||
# Auxiliary script to be sourced by suite/funcs_1/t/is_basics_mixed.test
|
||||
#
|
||||
# Author:
|
||||
# 2008-01-23 mleich WL#4203 Reorganize and fix the data dictionary tests of
|
||||
# testsuite funcs_1
|
||||
# Create this script based on older scripts and new code.
|
||||
#
|
||||
|
||||
# 1 Attempt to create tables and views when residing in information_schema
|
||||
# 1.1 CREATE TABLE
|
||||
USE information_schema;
|
||||
let $message= root: create a table with a name of an IS table directly in IS;
|
||||
let $dd_part1= CREATE TABLE;
|
||||
let $dd_part2= ( c1 INT );
|
||||
--source suite/funcs_1/datadict/basics_mixed2.inc
|
||||
# FIXME 3.2.1.6: error message ER_UNKNOWN_TABLE is misleading
|
||||
--error ER_UNKNOWN_TABLE
|
||||
CREATE TABLE t1 (f1 INT, f2 INT, f3 INT);
|
||||
#
|
||||
# 1.2 CREATE VIEW
|
||||
# 1.2.1 Hit on existing INFORMATION_SCHEMA table
|
||||
--error ER_DBACCESS_DENIED_ERROR
|
||||
CREATE VIEW tables AS SELECT 'garbage';
|
||||
--error ER_DBACCESS_DENIED_ERROR
|
||||
CREATE VIEW tables AS SELECT * FROM information_schema.tables;
|
||||
# 1.2.2 New view
|
||||
# ER_DBACCESS_DENIED_ERROR would be better.
|
||||
--error ER_UNKNOWN_TABLE
|
||||
CREATE VIEW v1 AS SELECT 'garbage';
|
||||
|
||||
# 2 Attempt to create tables and views when residing in information_schema
|
||||
# 1.1 CREATE TABLE
|
||||
USE test;
|
||||
let $message= root: create a table with a name of an IS table from other db;
|
||||
let $dd_part1= CREATE TABLE information_schema.;
|
||||
let $dd_part2= ( c1 INT );
|
||||
--source suite/funcs_1/datadict/basics_mixed2.inc
|
||||
# FIXME 3.2.1.6: error message ER_UNKNOWN_TABLE is misleading
|
||||
--error ER_UNKNOWN_TABLE
|
||||
CREATE TABLE information_schema.t1 (f1 INT, f2 INT, f3 INT);
|
||||
#
|
||||
# Hit on existing INFORMATION_SCHEMA table
|
||||
--error ER_DBACCESS_DENIED_ERROR
|
||||
CREATE VIEW information_schema.tables AS SELECT 'garbage';
|
||||
--error ER_DBACCESS_DENIED_ERROR
|
||||
CREATE VIEW information_schema.tables AS
|
||||
SELECT * FROM information_schema.tables;
|
||||
# New table
|
||||
# ER_DBACCESS_DENIED_ERROR would be better.
|
||||
--error ER_UNKNOWN_TABLE
|
||||
CREATE VIEW information_schema.v1 AS SELECT 'garbage';
|
55
mysql-test/suite/funcs_1/datadict/basics_mixed2.inc
Normal file
55
mysql-test/suite/funcs_1/datadict/basics_mixed2.inc
Normal file
|
@ -0,0 +1,55 @@
|
|||
#### suite/funcs_1/datadict/basics_mixed2.inc
|
||||
#
|
||||
# Auxiliary script to be sourced by suite/funcs_1/datadict/is_basics_mixed1.inc
|
||||
#
|
||||
# contains all tables from INFORMATION_SCHEMA
|
||||
#
|
||||
# Usage example(snip of script):
|
||||
# let $dd_part1= CREATE TABLE information_schema.;
|
||||
# let $dd_part2= ( c1 INT );
|
||||
# --source suite/funcs_1/datadict/basics_mixed2.inc
|
||||
#
|
||||
# We expect to get
|
||||
# ERROR 42000: Access denied for user 'root'@'localhost'
|
||||
# to database 'information_schema'
|
||||
# for every statement.
|
||||
#
|
||||
# Author:
|
||||
# 2008-01-23 mleich WL#4203 Reorganize and fix the data dictionary tests of
|
||||
# testsuite funcs_1
|
||||
# Create this script based on older scripts and new code.
|
||||
#
|
||||
|
||||
--error ER_DBACCESS_DENIED_ERROR
|
||||
eval $dd_part1 schemata $dd_part2;
|
||||
--error ER_DBACCESS_DENIED_ERROR
|
||||
eval $dd_part1 tables $dd_part2;
|
||||
--error ER_DBACCESS_DENIED_ERROR
|
||||
eval $dd_part1 columns $dd_part2;
|
||||
--error ER_DBACCESS_DENIED_ERROR
|
||||
eval $dd_part1 character_sets $dd_part2;
|
||||
--error ER_DBACCESS_DENIED_ERROR
|
||||
eval $dd_part1 collations $dd_part2;
|
||||
--error ER_DBACCESS_DENIED_ERROR
|
||||
eval $dd_part1 collation_character_set_applicability $dd_part2;
|
||||
--error ER_DBACCESS_DENIED_ERROR
|
||||
eval $dd_part1 routines $dd_part2;
|
||||
--error ER_DBACCESS_DENIED_ERROR
|
||||
eval $dd_part1 statistics $dd_part2;
|
||||
--error ER_DBACCESS_DENIED_ERROR
|
||||
eval $dd_part1 views $dd_part2;
|
||||
--error ER_DBACCESS_DENIED_ERROR
|
||||
eval $dd_part1 user_privileges $dd_part2;
|
||||
--error ER_DBACCESS_DENIED_ERROR
|
||||
eval $dd_part1 schema_privileges $dd_part2;
|
||||
--error ER_DBACCESS_DENIED_ERROR
|
||||
eval $dd_part1 table_privileges $dd_part2;
|
||||
--error ER_DBACCESS_DENIED_ERROR
|
||||
eval $dd_part1 column_privileges $dd_part2;
|
||||
--error ER_DBACCESS_DENIED_ERROR
|
||||
eval $dd_part1 table_constraints $dd_part2;
|
||||
--error ER_DBACCESS_DENIED_ERROR
|
||||
eval $dd_part1 key_column_usage $dd_part2;
|
||||
--error ER_DBACCESS_DENIED_ERROR
|
||||
eval $dd_part1 triggers $dd_part2;
|
||||
|
42
mysql-test/suite/funcs_1/datadict/basics_mixed3.inc
Normal file
42
mysql-test/suite/funcs_1/datadict/basics_mixed3.inc
Normal file
|
@ -0,0 +1,42 @@
|
|||
#### suite/funcs_1/datadict/basics_mixed3.inc
|
||||
#
|
||||
# Auxiliary routine to be sourced by suite/funcs_1/t/is_basics_mixed.test
|
||||
#
|
||||
# Check if INFORMATION_SCHEMA tables contain a schema_name like 'db_data%'.
|
||||
#
|
||||
# Author:
|
||||
# 2008-01-23 mleich WL#4203 Reorganize and fix the data dictionary tests of
|
||||
# testsuite funcs_1
|
||||
# Create this script based on older scripts and new code.
|
||||
#
|
||||
|
||||
# No column with the name of a database contained in:
|
||||
# character_sets collations collation_character_set_applicability
|
||||
# user_privileges
|
||||
SELECT DISTINCT table_schema FROM information_schema.columns
|
||||
WHERE table_schema LIKE 'db_data%';
|
||||
SELECT DISTINCT table_schema FROM information_schema.column_privileges
|
||||
WHERE table_schema LIKE 'db_data%';
|
||||
SELECT DISTINCT constraint_schema,table_schema
|
||||
FROM information_schema.key_column_usage
|
||||
WHERE constraint_schema LIKE 'db_data%' OR table_schema LIKE 'db_data%';
|
||||
SELECT DISTINCT routine_schema FROM information_schema.routines
|
||||
WHERE routine_schema LIKE 'db_data%';
|
||||
SELECT DISTINCT schema_name FROM information_schema.schemata
|
||||
WHERE schema_name LIKE 'db_data%';
|
||||
SELECT DISTINCT table_schema FROM information_schema.schema_privileges
|
||||
WHERE table_schema LIKE 'db_data%';
|
||||
SELECT DISTINCT table_schema,index_schema FROM information_schema.statistics
|
||||
WHERE table_schema LIKE 'db_data%' OR index_schema LIKE 'db_data%';
|
||||
SELECT DISTINCT table_schema FROM information_schema.tables
|
||||
WHERE table_schema LIKE 'db_data%';
|
||||
SELECT DISTINCT constraint_schema,table_schema
|
||||
FROM information_schema.table_constraints
|
||||
WHERE constraint_schema LIKE 'db_data%' OR table_schema LIKE 'db_data%';
|
||||
SELECT DISTINCT table_schema FROM information_schema.table_privileges
|
||||
WHERE table_schema LIKE 'db_data%';
|
||||
SELECT DISTINCT trigger_schema,event_object_schema
|
||||
FROM information_schema.triggers
|
||||
WHERE trigger_schema LIKE 'db_data%' OR event_object_schema LIKE 'db_data%';
|
||||
SELECT DISTINCT table_schema FROM information_schema.views
|
||||
WHERE table_schema LIKE 'db_data%';
|
122
mysql-test/suite/funcs_1/datadict/charset_collation.inc
Normal file
122
mysql-test/suite/funcs_1/datadict/charset_collation.inc
Normal file
|
@ -0,0 +1,122 @@
|
|||
# suite/funcs_1/datadict/charset_collation.inc
|
||||
#
|
||||
# Tests checking the content of the information_schema tables
|
||||
# character_sets
|
||||
# collations
|
||||
# collation_character_set_applicability
|
||||
#
|
||||
#
|
||||
# The amount and properties of character_sets/collations depend on the
|
||||
# build type
|
||||
# 2007-12 MySQL 5.0
|
||||
# ---------------------------------------------------------------------
|
||||
#
|
||||
# Variant 1 fits to
|
||||
# version_comment MySQL Enterprise Server (Commercial)
|
||||
# version_comment MySQL Enterprise Server (GPL)
|
||||
# version_comment MySQL Classic Server (Commercial)
|
||||
# version_comment MySQL Pushbuild Edition, build <number>
|
||||
# (version_comment Source distribution
|
||||
# and
|
||||
# compile was without "max" - > no collation 'utf8_general_ci')
|
||||
#
|
||||
# Variant 2 fits to
|
||||
# version_comment MySQL Enterprise Server (GPL)
|
||||
# version_comment MySQL Classic Server (Commercial)
|
||||
# version_comment MySQL Pushbuild Edition, build <number>
|
||||
# (version_comment Source distribution
|
||||
# and
|
||||
# compile was without "max" - > collation 'utf8_general_ci' exists)
|
||||
#
|
||||
# Difference between variant 1 and 2 is the collation 'utf8_general_ci'.
|
||||
#
|
||||
# Variant 3 fits to
|
||||
# version_comment MySQL Community Server (GPL)
|
||||
# version_comment MySQL Cluster Server (Commercial)
|
||||
#
|
||||
# Difference between variant 3 and 2 is within the collation properties
|
||||
# IS_COMPILED and SORTLEN.
|
||||
#
|
||||
# Created:
|
||||
# 2007-12-18 mleich - remove the unstable character_set/collation subtests
|
||||
# from include/datadict-master.inc
|
||||
# - create this new test
|
||||
#
|
||||
|
||||
# Create a low privileged user.
|
||||
--error 0, ER_CANNOT_USER
|
||||
DROP USER dbdict_test@localhost;
|
||||
CREATE USER dbdict_test@localhost;
|
||||
|
||||
--echo # Establish connection con (user=dbdict_test)
|
||||
--replace_result $MASTER_MYPORT MYSQL_PORT $MASTER_MYSOCK MYSQL_SOCK
|
||||
connect (con,localhost,dbdict_test,,);
|
||||
################################################################################
|
||||
#
|
||||
# The original requirements for the following tests were:
|
||||
#
|
||||
# 3.2.2.2: Ensure that the table (information_schema.character_sets) shows the
|
||||
# relevant information on every character set for which the current
|
||||
# user or PUBLIC have the USAGE privilege.
|
||||
#
|
||||
# 3.2.2.3: Ensure that the table (information_schema.character_sets) does not
|
||||
# show any information on any character set for which the current user
|
||||
# or PUBLIC have no USAGE privilege.
|
||||
#
|
||||
#
|
||||
# 3.2.3.2: Ensure that the table (information_schema.collations) shows the
|
||||
# relevant information on every collation for which the current user
|
||||
# or PUBLIC have the USAGE privilege.
|
||||
#
|
||||
# 3.2.3.3: Ensure that the table (information_schema.collations) does not show
|
||||
# any information on any collations for which the current user and
|
||||
# PUBLIC have no USAGE privilege.
|
||||
#
|
||||
#
|
||||
# 3.2.4.2: Ensure that the table
|
||||
# information_schema.collation_character_set_applicability
|
||||
# shows the relevant information on every collation/character set
|
||||
# combination for which the current user or PUBLIC have the USAGE
|
||||
# privilege.
|
||||
#
|
||||
# 3.2.4.3: Ensure that the table
|
||||
# information_schema.collation_character_set_applicability
|
||||
# does not show any information on any collation/character set
|
||||
# combinations for which the current user and PUBLIC have no
|
||||
# USAGE privilege.
|
||||
#
|
||||
# Notes (2007-12-19 mleich):
|
||||
# - The requirements are outdated because grant/revoke privilege for using a
|
||||
# characterset/collation were never implemented.
|
||||
# Therefore the tests should simply check the content of these tables.
|
||||
#
|
||||
# - The amount of collations/character sets grows with new MySQL releases.
|
||||
#
|
||||
# - Even within the same release the amount of records within these tables
|
||||
# can differ between different build types (community, enterprise, source,...)
|
||||
#
|
||||
#
|
||||
################################################################################
|
||||
--echo
|
||||
SELECT *
|
||||
FROM information_schema.character_sets
|
||||
ORDER BY character_set_name;
|
||||
|
||||
--echo
|
||||
SELECT *
|
||||
FROM information_schema.collations
|
||||
ORDER BY collation_name;
|
||||
|
||||
echo;
|
||||
--echo
|
||||
SELECT *
|
||||
FROM information_schema.collation_character_set_applicability
|
||||
ORDER BY collation_name, character_set_name;
|
||||
|
||||
|
||||
# Cleanup
|
||||
--echo # Switch to connection default + disconnect con
|
||||
connection default;
|
||||
disconnect con;
|
||||
DROP USER dbdict_test@localhost;
|
||||
|
87
mysql-test/suite/funcs_1/datadict/columns.inc
Normal file
87
mysql-test/suite/funcs_1/datadict/columns.inc
Normal file
|
@ -0,0 +1,87 @@
|
|||
# suite/funcs_1/datadict/is_columns.inc
|
||||
#
|
||||
# Auxiliary script to be sourced by
|
||||
# is_columns_is
|
||||
# is_columns_mysql
|
||||
# is_columns_<engine>
|
||||
#
|
||||
# Purpose:
|
||||
# Check the content of information_schema.columns about tables within certain
|
||||
# database/s.
|
||||
#
|
||||
# Usage:
|
||||
# The variable $my_where has to
|
||||
# - be set before sourcing this script.
|
||||
# - contain the first part of the WHERE qualification
|
||||
# Example:
|
||||
# let $my_where = WHERE table_schema = 'information_schema'
|
||||
# AND table_name <> 'profiling';
|
||||
# --source suite/funcs_1/datadict/is_columns.inc
|
||||
#
|
||||
# Author:
|
||||
# 2008-01-23 mleich WL#4203 Reorganize and fix the data dictionary tests of
|
||||
# testsuite funcs_1
|
||||
# Create this script based on older scripts and new code.
|
||||
#
|
||||
|
||||
--source suite/funcs_1/datadict/datadict_bug_12777.inc
|
||||
eval
|
||||
SELECT * FROM information_schema.columns
|
||||
$my_where
|
||||
ORDER BY table_schema, table_name, column_name;
|
||||
|
||||
--echo ##########################################################################
|
||||
--echo # Show the quotient of CHARACTER_OCTET_LENGTH and CHARACTER_MAXIMUM_LENGTH
|
||||
--echo ##########################################################################
|
||||
eval
|
||||
SELECT DISTINCT
|
||||
CHARACTER_OCTET_LENGTH / CHARACTER_MAXIMUM_LENGTH AS COL_CML,
|
||||
DATA_TYPE,
|
||||
CHARACTER_SET_NAME,
|
||||
COLLATION_NAME
|
||||
FROM information_schema.columns
|
||||
$my_where
|
||||
AND CHARACTER_OCTET_LENGTH / CHARACTER_MAXIMUM_LENGTH = 1
|
||||
ORDER BY CHARACTER_SET_NAME, COLLATION_NAME, COL_CML;
|
||||
|
||||
#FIXME 3.2.6.2: check the value 2.0079 tinytext ucs2 ucs2_general_ci
|
||||
eval
|
||||
SELECT DISTINCT
|
||||
CHARACTER_OCTET_LENGTH / CHARACTER_MAXIMUM_LENGTH AS COL_CML,
|
||||
DATA_TYPE,
|
||||
CHARACTER_SET_NAME,
|
||||
COLLATION_NAME
|
||||
FROM information_schema.columns
|
||||
$my_where
|
||||
AND CHARACTER_OCTET_LENGTH / CHARACTER_MAXIMUM_LENGTH <> 1
|
||||
ORDER BY CHARACTER_SET_NAME, COLLATION_NAME, COL_CML;
|
||||
|
||||
eval
|
||||
SELECT DISTINCT
|
||||
CHARACTER_OCTET_LENGTH / CHARACTER_MAXIMUM_LENGTH AS COL_CML,
|
||||
DATA_TYPE,
|
||||
CHARACTER_SET_NAME,
|
||||
COLLATION_NAME
|
||||
FROM information_schema.columns
|
||||
$my_where
|
||||
AND CHARACTER_OCTET_LENGTH / CHARACTER_MAXIMUM_LENGTH IS NULL
|
||||
ORDER BY CHARACTER_SET_NAME, COLLATION_NAME, COL_CML;
|
||||
|
||||
echo --> CHAR(0) is allowed (see manual), and here both CHARACHTER_* values;
|
||||
echo --> are 0, which is intended behavior, and the result of 0 / 0 IS NULL;
|
||||
--source suite/funcs_1/datadict/datadict_bug_12777.inc
|
||||
eval
|
||||
SELECT CHARACTER_OCTET_LENGTH / CHARACTER_MAXIMUM_LENGTH AS COL_CML,
|
||||
TABLE_SCHEMA,
|
||||
TABLE_NAME,
|
||||
COLUMN_NAME,
|
||||
DATA_TYPE,
|
||||
CHARACTER_MAXIMUM_LENGTH,
|
||||
CHARACTER_OCTET_LENGTH,
|
||||
CHARACTER_SET_NAME,
|
||||
COLLATION_NAME,
|
||||
COLUMN_TYPE
|
||||
FROM information_schema.columns
|
||||
$my_where
|
||||
ORDER BY TABLE_SCHEMA, TABLE_NAME, ORDINAL_POSITION;
|
||||
|
54
mysql-test/suite/funcs_1/datadict/datadict.pre
Normal file
54
mysql-test/suite/funcs_1/datadict/datadict.pre
Normal file
|
@ -0,0 +1,54 @@
|
|||
#### suite/funcs_1/datadict/datadict.pre
|
||||
#
|
||||
# Auxiliary script which loads prerequisites
|
||||
# (variables needed for --replace_result ...)
|
||||
# in datadictionary tests.
|
||||
#
|
||||
# Author:
|
||||
# 2008-01-23 mleich WL#4203 Reorganize and fix the data dictionary tests of
|
||||
# testsuite funcs_1
|
||||
# Create this script based on older scripts and new code.
|
||||
#
|
||||
--disable_query_log
|
||||
|
||||
# Bug#12777 Different size shown for VARCHAR(n) columns (with n> 64)
|
||||
# in INFORMATION_SCHEMA
|
||||
# This bug was unfortunately (for testers) declared to be no bug.
|
||||
# So CHARACTER_MAXIMUM_LENGTH of several <whatever>_CATALOG columns within
|
||||
# the INFORMATION_SCHEMA depends on PATH_MAX of the operating system.
|
||||
# Workaround for this problem:
|
||||
# Get the size of ONE known colum and check the size against some values to
|
||||
# be able to use the correct --replace_result statement. Using this only the
|
||||
# one pair of 'wrong' values is replaced and not all occurrencies of all
|
||||
# possible pairs of values. See bug #12777 for details.
|
||||
SELECT character_maximum_length INTO @CML
|
||||
FROM information_schema.columns
|
||||
WHERE table_schema = 'information_schema'
|
||||
AND table_name = 'columns'
|
||||
AND column_name = 'table_catalog';
|
||||
|
||||
let $bug_12777_0512= `SELECT @CML = 512`;
|
||||
let $bug_12777_1023= `SELECT @CML = 1023`;
|
||||
let $bug_12777_1024= `SELECT @CML = 1024`;
|
||||
let $bug_12777_2048= `SELECT @CML = 2048`;
|
||||
# 4096 is the value used in the files with expected results.
|
||||
let $bug_12777_4095= `SELECT @CML = 4095`;
|
||||
if (0)
|
||||
{
|
||||
# enable this for debugging only, but NOT in a pushed version, as then the
|
||||
# result changes from OS to OS ...
|
||||
eval SELECT @CML AS 'CML',
|
||||
$bug_12777_0512 AS '512',
|
||||
$bug_12777_1023 AS '1023',
|
||||
$bug_12777_1024 AS '1024',
|
||||
$bug_12777_2048 AS '2048',
|
||||
$bug_12777_4095 AS '4095';
|
||||
}
|
||||
|
||||
|
||||
# Prepare a variable to be able to suppress machine dependant diffs
|
||||
# this can be used in: --replace_result $SERVER_NAME <SERVER_NAME>
|
||||
let $SERVER_NAME= `SELECT DISTINCT host FROM mysql.user
|
||||
WHERE host NOT In ("localhost", "127.0.0.1", "%")`;
|
||||
--enable_query_log
|
||||
|
|
@ -71,67 +71,51 @@ let $engine_ndb= `SELECT @ENGINE_NDB = 1`;
|
|||
# Note: The NDB variant with their own tb1 - tb4 tables is not ready for use.
|
||||
let $engine_ndb= 0;
|
||||
|
||||
# Decide, if the objects are to be (re)created
|
||||
#
|
||||
# - once at the beginning of a set of testcases ('$NO_REFRESH' <> '' --> TRUE)
|
||||
# That means the current script must not (re)create any object.
|
||||
# It can expect, that the objects already exist.
|
||||
#
|
||||
# - per every testscript/case ('$NO_REFRESH' = '' --> FALSE)
|
||||
# That means all objects have to be (re)created within the current script.
|
||||
#
|
||||
eval SET @NO_REFRESH = IF( '$NO_REFRESH' = '', 0, 1);
|
||||
let $run= `SELECT @NO_REFRESH = 0`;
|
||||
if ($run)
|
||||
--disable_warnings
|
||||
DROP DATABASE IF EXISTS test1;
|
||||
--enable_warnings
|
||||
CREATE DATABASE test1;
|
||||
USE test;
|
||||
|
||||
if ($engine_innodb)
|
||||
{
|
||||
--disable_warnings
|
||||
DROP DATABASE IF EXISTS test1;
|
||||
--enable_warnings
|
||||
CREATE DATABASE test1;
|
||||
USE test;
|
||||
|
||||
# until a statement 'eval --source suite/funcs_1/include/$var_tb1.inc
|
||||
# works we need to have similar statements for each $engine
|
||||
if ($engine_innodb)
|
||||
{
|
||||
--source suite/funcs_1/include/innodb_tb1.inc
|
||||
--source suite/funcs_1/include/innodb_tb2.inc
|
||||
--source suite/funcs_1/include/innodb_tb3.inc
|
||||
--source suite/funcs_1/include/innodb_tb4.inc
|
||||
USE test1;
|
||||
--source suite/funcs_1/include/innodb_tb2.inc
|
||||
}
|
||||
|
||||
if ($engine_memory)
|
||||
{
|
||||
--source suite/funcs_1/include/memory_tb1.inc
|
||||
--source suite/funcs_1/include/memory_tb2.inc
|
||||
--source suite/funcs_1/include/memory_tb3.inc
|
||||
--source suite/funcs_1/include/memory_tb4.inc
|
||||
USE test1;
|
||||
--source suite/funcs_1/include/memory_tb2.inc
|
||||
}
|
||||
|
||||
if ($engine_myisam)
|
||||
{
|
||||
--source suite/funcs_1/include/myisam_tb1.inc
|
||||
--source suite/funcs_1/include/myisam_tb2.inc
|
||||
--source suite/funcs_1/include/myisam_tb3.inc
|
||||
--source suite/funcs_1/include/myisam_tb4.inc
|
||||
USE test1;
|
||||
--source suite/funcs_1/include/myisam_tb2.inc
|
||||
}
|
||||
|
||||
if ($engine_ndb)
|
||||
{
|
||||
--source suite/funcs_1/include/ndb_tb1.inc
|
||||
--source suite/funcs_1/include/ndb_tb2.inc
|
||||
--source suite/funcs_1/include/ndb_tb3.inc
|
||||
--source suite/funcs_1/include/ndb_tb4.inc
|
||||
USE test1;
|
||||
--source suite/funcs_1/include/ndb_tb2.inc
|
||||
}
|
||||
|
||||
USE test;
|
||||
--source suite/funcs_1/include/sp_tb.inc
|
||||
--source suite/funcs_1/include/innodb_tb1.inc
|
||||
--source suite/funcs_1/include/innodb_tb2.inc
|
||||
--source suite/funcs_1/include/innodb_tb3.inc
|
||||
--source suite/funcs_1/include/innodb_tb4.inc
|
||||
USE test1;
|
||||
--source suite/funcs_1/include/innodb_tb2.inc
|
||||
}
|
||||
|
||||
if ($engine_memory)
|
||||
{
|
||||
--source suite/funcs_1/include/memory_tb1.inc
|
||||
--source suite/funcs_1/include/memory_tb2.inc
|
||||
--source suite/funcs_1/include/memory_tb3.inc
|
||||
--source suite/funcs_1/include/memory_tb4.inc
|
||||
USE test1;
|
||||
--source suite/funcs_1/include/memory_tb2.inc
|
||||
}
|
||||
|
||||
if ($engine_myisam)
|
||||
{
|
||||
--source suite/funcs_1/include/myisam_tb1.inc
|
||||
--source suite/funcs_1/include/myisam_tb2.inc
|
||||
--source suite/funcs_1/include/myisam_tb3.inc
|
||||
--source suite/funcs_1/include/myisam_tb4.inc
|
||||
USE test1;
|
||||
--source suite/funcs_1/include/myisam_tb2.inc
|
||||
}
|
||||
|
||||
if ($engine_ndb)
|
||||
{
|
||||
--source suite/funcs_1/include/ndb_tb1.inc
|
||||
--source suite/funcs_1/include/ndb_tb2.inc
|
||||
--source suite/funcs_1/include/ndb_tb3.inc
|
||||
--source suite/funcs_1/include/ndb_tb4.inc
|
||||
USE test1;
|
||||
--source suite/funcs_1/include/ndb_tb2.inc
|
||||
}
|
||||
|
||||
USE test;
|
||||
--source suite/funcs_1/include/sp_tb.inc
|
||||
|
|
File diff suppressed because it is too large
Load diff
|
@ -1,57 +0,0 @@
|
|||
#### suite/funcs_1/datadict/datadict_show_schema.test
|
||||
|
||||
# shows content of tables from INFORMATION_SCHEMA
|
||||
|
||||
# usage:
|
||||
|
||||
# let $message= <a message for the .result file>;
|
||||
# let $dbname= <prefix_of_a_cb_name>;
|
||||
# --source suite/funcs_1/datadict/datadict_show_schema.test
|
||||
|
||||
--source include/show_msg.inc
|
||||
|
||||
eval select *
|
||||
from information_schema.schemata
|
||||
where schema_name like '$dbname%';
|
||||
|
||||
eval select table_catalog, table_schema, engine
|
||||
from information_schema.tables
|
||||
where table_schema like '$dbname%';
|
||||
|
||||
eval select *
|
||||
from information_schema.columns
|
||||
where table_schema like '$dbname%';
|
||||
|
||||
eval select table_schema, table_name, is_updatable
|
||||
from information_schema.views
|
||||
where table_schema like '$dbname%';
|
||||
|
||||
eval select routine_name, routine_type, security_type, sql_mode
|
||||
from information_schema.routines
|
||||
where routine_schema like '$dbname%';
|
||||
|
||||
eval select table_name, index_schema, index_name, index_type
|
||||
from information_schema.statistics
|
||||
where table_schema like '$dbname%';
|
||||
|
||||
--replace_result $SERVER_NAME <SERVER_NAME>
|
||||
--sorted_result
|
||||
eval select *
|
||||
from information_schema.user_privileges;
|
||||
# where grantee="'u_6_401013'@'%'";
|
||||
|
||||
eval select *
|
||||
from information_schema.column_privileges
|
||||
where table_schema like '$dbname%';
|
||||
|
||||
eval select *
|
||||
from information_schema.table_privileges
|
||||
where table_schema like '$dbname%';
|
||||
|
||||
eval select *
|
||||
from information_schema.key_column_usage
|
||||
where table_schema like '$dbname%';
|
||||
|
||||
eval SELECT *
|
||||
FROM information_schema.triggers
|
||||
WHERE trigger_schema LIKE '$dbname%';
|
|
@ -1,28 +0,0 @@
|
|||
#### suite/funcs_1/datadict/datadict_show_table_design.test
|
||||
#
|
||||
# - shows design of *one* table from INFORMATION_SCHEMA
|
||||
# - used to have identical 'view' on all tested tables
|
||||
#
|
||||
# Usage:
|
||||
#
|
||||
# let $is_table= <name of one of the tables>;
|
||||
# --source suite/funcs_1/datadict/datadict_show_table_design.test
|
||||
|
||||
USE information_schema;
|
||||
|
||||
--source suite/funcs_1/datadict/datadict_bug_12777.inc
|
||||
eval DESC $is_table;
|
||||
|
||||
--source suite/funcs_1/datadict/datadict_bug_12777.inc
|
||||
eval SHOW CREATE TABLE $is_table;
|
||||
|
||||
eval SELECT COUNT(*) FROM information_schema.columns
|
||||
WHERE table_schema = 'information_schema'
|
||||
AND table_name = '$is_table'
|
||||
ORDER BY ordinal_position;
|
||||
|
||||
--source suite/funcs_1/datadict/datadict_bug_12777.inc
|
||||
eval SELECT * FROM information_schema.columns
|
||||
WHERE table_schema = 'information_schema'
|
||||
AND table_name = '$is_table'
|
||||
ORDER BY ordinal_position;
|
|
@ -1,62 +0,0 @@
|
|||
#### suite/funcs_1/datadict/datadict_tables.inc
|
||||
|
||||
# contains all tables from INFORMATION_SCHEMA
|
||||
|
||||
# usage:
|
||||
|
||||
# --source suite/funcs_1/datadict/datadict_tables.inc
|
||||
|
||||
--source include/show_msg.inc
|
||||
|
||||
eval $dd_part1 schemata $dd_part2;
|
||||
|
||||
#FIXME: splitting the "SELECT * FROM tables" in two parts until
|
||||
#FIXME: Bug #12397: wrong values shown in column CREATE_OPTIONS of INFORMATION_SCHEMA.TABLES
|
||||
#FIXME: is solved, like done in the _master.test, cannot be done here, so we replace here
|
||||
#FIXME: the result for ALL rows.
|
||||
# 9 AVG_ROW_LENGTH
|
||||
# 10 DATA_LENGTH
|
||||
# 11 MAX_DATA_LENGTH
|
||||
## 12 INDEX_LENGTH
|
||||
# 13 DATA_FREE
|
||||
# 15 CREATE_TIME
|
||||
# 16 UPDATE_TIME
|
||||
# 20 CREATE_OPTIONS
|
||||
--replace_column 9 "#ARL#" 10 "#DL#" 11 "#MDL#" 12 "#IL#" 13 "#DF#" 15 "YYYY-MM-DD hh:mm:ss" 16 "YYYY-MM-DD hh:mm:ss" 20 "#CO#"
|
||||
eval $dd_part1 tables $dd_part2;
|
||||
|
||||
--source suite/funcs_1/datadict/datadict_bug_12777.inc
|
||||
eval $dd_part1 columns $dd_part2;
|
||||
eval $dd_part1 character_sets $dd_part2;
|
||||
eval $dd_part1 collations where collation_name <> 'utf8_general_cs' $dd_part2;
|
||||
eval $dd_part1 collation_character_set_applicability where collation_name <> 'utf8_general_cs' $dd_part2;
|
||||
--replace_column 16 <Created> 17 <Last_Altered>
|
||||
eval $dd_part1 routines $dd_part2;
|
||||
eval $dd_part1 statistics $dd_part2;
|
||||
eval $dd_part1 views $dd_part2;
|
||||
eval $dd_part1 user_privileges $dd_part2;
|
||||
eval $dd_part1 schema_privileges $dd_part2;
|
||||
eval $dd_part1 table_privileges $dd_part2;
|
||||
eval $dd_part1 column_privileges $dd_part2;
|
||||
eval $dd_part1 table_constraints $dd_part2;
|
||||
eval $dd_part1 key_column_usage $dd_part2;
|
||||
eval $dd_part1 triggers $dd_part2;
|
||||
|
||||
# later planned new tables for INFORMATION_SCHEMA (not before version 5.0.11)
|
||||
#
|
||||
# (see Reference Manual: 22.1.16. Other INFORMATION_SCHEMA Tables):
|
||||
#
|
||||
# parameters
|
||||
# referential_constraints
|
||||
#
|
||||
# check them here although they currently does not exist, but using this we
|
||||
# immedeatly get notice when they are implemented
|
||||
|
||||
#### DON'T FORGET TO ADD THE NEW TABLES TO THE CORRESPONDING FILES
|
||||
#### datadict_tables_error_<errno>.test !
|
||||
|
||||
--error 1109
|
||||
eval $dd_part1 parameters $dd_part2;
|
||||
|
||||
--error 0,1109
|
||||
eval $dd_part1 referential_constraints $dd_part2;
|
|
@ -1,33 +0,0 @@
|
|||
#### suite/funcs_1/datadict/datadict_tables.inc
|
||||
|
||||
# contains all tables from INFORMATION_SCHEMA
|
||||
|
||||
# usage:
|
||||
|
||||
# --source suite/funcs_1/datadict/datadict_tables.inc
|
||||
|
||||
|
||||
#--disable_query_log
|
||||
#eval SET @aux= 'This testcase shows the error number $error_no';
|
||||
#let $message= `SELECT @aux`;
|
||||
#--enable_query_log
|
||||
--source include/show_msg.inc
|
||||
|
||||
--disable_abort_on_error
|
||||
eval $dd_part1 schemata $dd_part2;
|
||||
eval $dd_part1 tables $dd_part2;
|
||||
eval $dd_part1 columns $dd_part2;
|
||||
eval $dd_part1 character_sets $dd_part2;
|
||||
eval $dd_part1 collations $dd_part2;
|
||||
eval $dd_part1 collation_character_set_applicability $dd_part2;
|
||||
eval $dd_part1 routines $dd_part2;
|
||||
eval $dd_part1 statistics $dd_part2;
|
||||
eval $dd_part1 views $dd_part2;
|
||||
eval $dd_part1 user_privileges $dd_part2;
|
||||
eval $dd_part1 schema_privileges $dd_part2;
|
||||
eval $dd_part1 table_privileges $dd_part2;
|
||||
eval $dd_part1 column_privileges $dd_part2;
|
||||
eval $dd_part1 table_constraints $dd_part2;
|
||||
eval $dd_part1 key_column_usage $dd_part2;
|
||||
eval $dd_part1 triggers $dd_part2;
|
||||
--enable_abort_on_error
|
|
@ -1,80 +0,0 @@
|
|||
#### suite/funcs_1/datadict/datadict_tables.inc
|
||||
|
||||
# contains all tables from INFORMATION_SCHEMA
|
||||
|
||||
# usage:
|
||||
|
||||
# --source suite/funcs_1/datadict/datadict_tables_err_<no>.inc
|
||||
#
|
||||
# up to a change of "mysqltest", which makes lines like "eval --error $err_no"
|
||||
# possible we will have some different files with the same content except the
|
||||
# error numbers.
|
||||
|
||||
--source include/show_msg.inc
|
||||
|
||||
let $message= known error 1 (Can_t create/write to file ...):;
|
||||
--source include/show_msg.inc
|
||||
|
||||
--replace_result '\\' '/'
|
||||
--error 1
|
||||
eval $dd_part1 schemata $dd_part2;
|
||||
|
||||
--replace_result '\\' '/'
|
||||
--error 1
|
||||
eval $dd_part1 tables $dd_part2;
|
||||
|
||||
--replace_result '\\' '/'
|
||||
--error 1
|
||||
eval $dd_part1 columns $dd_part2;
|
||||
|
||||
--replace_result '\\' '/'
|
||||
--error 1
|
||||
eval $dd_part1 character_sets $dd_part2;
|
||||
|
||||
--replace_result '\\' '/'
|
||||
--error 1
|
||||
eval $dd_part1 collations $dd_part2;
|
||||
|
||||
--replace_result '\\' '/'
|
||||
--error 1
|
||||
eval $dd_part1 collation_character_set_applicability $dd_part2;
|
||||
|
||||
--replace_result '\\' '/'
|
||||
--error 1
|
||||
eval $dd_part1 routines $dd_part2;
|
||||
|
||||
--replace_result '\\' '/'
|
||||
--error 1
|
||||
eval $dd_part1 statistics $dd_part2;
|
||||
|
||||
--replace_result '\\' '/'
|
||||
--error 1
|
||||
eval $dd_part1 views $dd_part2;
|
||||
|
||||
--replace_result '\\' '/'
|
||||
--error 1
|
||||
eval $dd_part1 user_privileges $dd_part2;
|
||||
|
||||
--replace_result '\\' '/'
|
||||
--error 1
|
||||
eval $dd_part1 schema_privileges $dd_part2;
|
||||
|
||||
--replace_result '\\' '/'
|
||||
--error 1
|
||||
eval $dd_part1 table_privileges $dd_part2;
|
||||
|
||||
--replace_result '\\' '/'
|
||||
--error 1
|
||||
eval $dd_part1 column_privileges $dd_part2;
|
||||
|
||||
--replace_result '\\' '/'
|
||||
--error 1
|
||||
eval $dd_part1 table_constraints $dd_part2;
|
||||
|
||||
--replace_result '\\' '/'
|
||||
--error 1
|
||||
eval $dd_part1 key_column_usage $dd_part2;
|
||||
|
||||
--replace_result '\\' '/'
|
||||
--error 1
|
||||
eval $dd_part1 triggers $dd_part2;
|
|
@ -1,51 +0,0 @@
|
|||
#### suite/funcs_1/datadict/datadict_tables_error_1044.inc
|
||||
|
||||
# contains all tables from INFORMATION_SCHEMA
|
||||
|
||||
# usage:
|
||||
|
||||
# --source suite/funcs_1/datadict/datadict_tables_err_<no>.inc
|
||||
#
|
||||
# up to a change of "mysqltest", which makes lines like "eval --error $err_no"
|
||||
# possible we will have some different files with the same content except the
|
||||
# error numbers.
|
||||
|
||||
--source include/show_msg.inc
|
||||
|
||||
# e.g.: ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
|
||||
|
||||
let $message= known error 1044 (ERROR 42000: Access denied for user ... to database ...):;
|
||||
--source include/show_msg.inc
|
||||
|
||||
--error 1044
|
||||
eval $dd_part1 schemata $dd_part2;
|
||||
--error 1044
|
||||
eval $dd_part1 tables $dd_part2;
|
||||
--error 1044
|
||||
eval $dd_part1 columns $dd_part2;
|
||||
--error 1044
|
||||
eval $dd_part1 character_sets $dd_part2;
|
||||
--error 1044
|
||||
eval $dd_part1 collations $dd_part2;
|
||||
--error 1044
|
||||
eval $dd_part1 collation_character_set_applicability $dd_part2;
|
||||
--error 1044
|
||||
eval $dd_part1 routines $dd_part2;
|
||||
--error 1044
|
||||
eval $dd_part1 statistics $dd_part2;
|
||||
--error 1044
|
||||
eval $dd_part1 views $dd_part2;
|
||||
--error 1044
|
||||
eval $dd_part1 user_privileges $dd_part2;
|
||||
--error 1044
|
||||
eval $dd_part1 schema_privileges $dd_part2;
|
||||
--error 1044
|
||||
eval $dd_part1 table_privileges $dd_part2;
|
||||
--error 1044
|
||||
eval $dd_part1 column_privileges $dd_part2;
|
||||
--error 1044
|
||||
eval $dd_part1 table_constraints $dd_part2;
|
||||
--error 1044
|
||||
eval $dd_part1 key_column_usage $dd_part2;
|
||||
--error 1044
|
||||
eval $dd_part1 triggers $dd_part2;
|
|
@ -1,49 +0,0 @@
|
|||
#### suite/funcs_1/datadict/datadict_tables.inc
|
||||
|
||||
# contains all tables from INFORMATION_SCHEMA
|
||||
|
||||
# usage:
|
||||
|
||||
# --source suite/funcs_1/datadict/datadict_tables_err_<no>.inc
|
||||
#
|
||||
# up to a change of "mysqltest", which makes lines like "eval --error $err_no"
|
||||
# possible we will have some different files with the same content except the
|
||||
# error numbers.
|
||||
|
||||
--source include/show_msg.inc
|
||||
|
||||
let $message= known error 1049 (ERROR 42000: Unknown database ...):;
|
||||
--source include/show_msg.inc
|
||||
|
||||
--error 1049
|
||||
eval $dd_part1 schemata $dd_part2;
|
||||
--error 1049
|
||||
eval $dd_part1 tables $dd_part2;
|
||||
--error 1049
|
||||
eval $dd_part1 columns $dd_part2;
|
||||
--error 1049
|
||||
eval $dd_part1 character_sets $dd_part2;
|
||||
--error 1049
|
||||
eval $dd_part1 collations $dd_part2;
|
||||
--error 1049
|
||||
eval $dd_part1 collation_character_set_applicability $dd_part2;
|
||||
--error 1049
|
||||
eval $dd_part1 routines $dd_part2;
|
||||
--error 1049
|
||||
eval $dd_part1 statistics $dd_part2;
|
||||
--error 1049
|
||||
eval $dd_part1 views $dd_part2;
|
||||
--error 1049
|
||||
eval $dd_part1 user_privileges $dd_part2;
|
||||
--error 1049
|
||||
eval $dd_part1 schema_privileges $dd_part2;
|
||||
--error 1049
|
||||
eval $dd_part1 table_privileges $dd_part2;
|
||||
--error 1049
|
||||
eval $dd_part1 column_privileges $dd_part2;
|
||||
--error 1049
|
||||
eval $dd_part1 table_constraints $dd_part2;
|
||||
--error 1049
|
||||
eval $dd_part1 key_column_usage $dd_part2;
|
||||
--error 1049
|
||||
eval $dd_part1 triggers $dd_part2;
|
|
@ -1,49 +0,0 @@
|
|||
#### suite/funcs_1/datadict/datadict_tables.inc
|
||||
|
||||
# contains all tables from INFORMATION_SCHEMA
|
||||
|
||||
# usage:
|
||||
|
||||
# --source suite/funcs_1/datadict/datadict_tables_err_<no>.inc
|
||||
#
|
||||
# up to a change of "mysqltest", which makes lines like "eval --error $err_no"
|
||||
# possible we will have some different files with the same content except the
|
||||
# error numbers.
|
||||
|
||||
--source include/show_msg.inc
|
||||
|
||||
let $message= known error 1051:;
|
||||
--source include/show_msg.inc
|
||||
|
||||
--error 1051
|
||||
eval $dd_part1 schemata $dd_part2;
|
||||
--error 1051
|
||||
eval $dd_part1 tables $dd_part2;
|
||||
--error 1051
|
||||
eval $dd_part1 columns $dd_part2;
|
||||
--error 1051
|
||||
eval $dd_part1 character_sets $dd_part2;
|
||||
--error 1051
|
||||
eval $dd_part1 collations $dd_part2;
|
||||
--error 1051
|
||||
eval $dd_part1 collation_character_set_applicability $dd_part2;
|
||||
--error 1051
|
||||
eval $dd_part1 routines $dd_part2;
|
||||
--error 1051
|
||||
eval $dd_part1 statistics $dd_part2;
|
||||
--error 1051
|
||||
eval $dd_part1 views $dd_part2;
|
||||
--error 1051
|
||||
eval $dd_part1 user_privileges $dd_part2;
|
||||
--error 1051
|
||||
eval $dd_part1 schema_privileges $dd_part2;
|
||||
--error 1051
|
||||
eval $dd_part1 table_privileges $dd_part2;
|
||||
--error 1051
|
||||
eval $dd_part1 column_privileges $dd_part2;
|
||||
--error 1051
|
||||
eval $dd_part1 table_constraints $dd_part2;
|
||||
--error 1051
|
||||
eval $dd_part1 key_column_usage $dd_part2;
|
||||
--error 1051
|
||||
eval $dd_part1 triggers $dd_part2;
|
|
@ -1,49 +0,0 @@
|
|||
#### suite/funcs_1/datadict/datadict_tables.inc
|
||||
|
||||
# contains all tables from INFORMATION_SCHEMA
|
||||
|
||||
# usage:
|
||||
|
||||
# --source suite/funcs_1/datadict/datadict_tables_err_<no>.inc
|
||||
#
|
||||
# up to a change of "mysqltest", which makes lines like "eval --error $err_no"
|
||||
# possible we will have some different files with the same content except the
|
||||
# error numbers.
|
||||
|
||||
--source include/show_msg.inc
|
||||
|
||||
let $message= known error 1146:;
|
||||
--source include/show_msg.inc
|
||||
|
||||
--error 1146
|
||||
eval $dd_part1 schemata $dd_part2;
|
||||
--error 1146
|
||||
eval $dd_part1 tables $dd_part2;
|
||||
--error 1146
|
||||
eval $dd_part1 columns $dd_part2;
|
||||
--error 1146
|
||||
eval $dd_part1 character_sets $dd_part2;
|
||||
--error 1146
|
||||
eval $dd_part1 collations $dd_part2;
|
||||
--error 1146
|
||||
eval $dd_part1 collation_character_set_applicability $dd_part2;
|
||||
--error 1146
|
||||
eval $dd_part1 routines $dd_part2;
|
||||
--error 1146
|
||||
eval $dd_part1 statistics $dd_part2;
|
||||
--error 1146
|
||||
eval $dd_part1 views $dd_part2;
|
||||
--error 1146
|
||||
eval $dd_part1 user_privileges $dd_part2;
|
||||
--error 1146
|
||||
eval $dd_part1 schema_privileges $dd_part2;
|
||||
--error 1146
|
||||
eval $dd_part1 table_privileges $dd_part2;
|
||||
--error 1146
|
||||
eval $dd_part1 column_privileges $dd_part2;
|
||||
--error 1146
|
||||
eval $dd_part1 table_constraints $dd_part2;
|
||||
--error 1146
|
||||
eval $dd_part1 key_column_usage $dd_part2;
|
||||
--error 1146
|
||||
eval $dd_part1 triggers $dd_part2;
|
|
@ -1,49 +0,0 @@
|
|||
#### suite/funcs_1/datadict/datadict_tables.inc
|
||||
|
||||
# contains all tables from INFORMATION_SCHEMA
|
||||
|
||||
# usage:
|
||||
|
||||
# --source suite/funcs_1/datadict/datadict_tables_err_<no>.inc
|
||||
#
|
||||
# up to a change of "mysqltest", which makes lines like "eval --error $err_no"
|
||||
# possible we will have some different files with the same content except the
|
||||
# error numbers.
|
||||
|
||||
--source include/show_msg.inc
|
||||
|
||||
let $message= known error 1288:;
|
||||
--source include/show_msg.inc
|
||||
|
||||
--error 1288
|
||||
eval $dd_part1 schemata $dd_part2;
|
||||
--error 1288
|
||||
eval $dd_part1 tables $dd_part2;
|
||||
--error 1288
|
||||
eval $dd_part1 columns $dd_part2;
|
||||
--error 1288
|
||||
eval $dd_part1 character_sets $dd_part2;
|
||||
--error 1288
|
||||
eval $dd_part1 collations $dd_part2;
|
||||
--error 1288
|
||||
eval $dd_part1 collation_character_set_applicability $dd_part2;
|
||||
--error 1288
|
||||
eval $dd_part1 routines $dd_part2;
|
||||
--error 1288
|
||||
eval $dd_part1 statistics $dd_part2;
|
||||
--error 1288
|
||||
eval $dd_part1 views $dd_part2;
|
||||
--error 1288
|
||||
eval $dd_part1 user_privileges $dd_part2;
|
||||
--error 1288
|
||||
eval $dd_part1 schema_privileges $dd_part2;
|
||||
--error 1288
|
||||
eval $dd_part1 table_privileges $dd_part2;
|
||||
--error 1288
|
||||
eval $dd_part1 column_privileges $dd_part2;
|
||||
--error 1288
|
||||
eval $dd_part1 table_constraints $dd_part2;
|
||||
--error 1288
|
||||
eval $dd_part1 key_column_usage $dd_part2;
|
||||
--error 1288
|
||||
eval $dd_part1 triggers $dd_part2;
|
42
mysql-test/suite/funcs_1/datadict/is_table_query.inc
Normal file
42
mysql-test/suite/funcs_1/datadict/is_table_query.inc
Normal file
|
@ -0,0 +1,42 @@
|
|||
# suite/funcs_1/datadict/is_table_query.inc
|
||||
#
|
||||
# Check that every INFORMATION_SCHEMA table can be queried with a SELECT
|
||||
# statement, just as if it were an ordinary user-defined table.
|
||||
# (Requirement 3.2.1.1)
|
||||
#
|
||||
# The variable $is_table must be set before sourcing this script.
|
||||
#
|
||||
# Author:
|
||||
# 2008-01-23 mleich WL#4203 Reorganize and fix the data dictionary tests of
|
||||
# testsuite funcs_1
|
||||
# Create this script based on older scripts and new code.
|
||||
#
|
||||
--disable_warnings
|
||||
DROP VIEW IF EXISTS test.v1;
|
||||
DROP PROCEDURE IF EXISTS test.p1;
|
||||
DROP FUNCTION IF EXISTS test.f1;
|
||||
--enable_warnings
|
||||
eval CREATE VIEW test.v1 AS SELECT * FROM information_schema.$is_table;
|
||||
eval CREATE PROCEDURE test.p1() SELECT * FROM information_schema.$is_table;
|
||||
delimiter //;
|
||||
eval CREATE FUNCTION test.f1() returns BIGINT
|
||||
BEGIN
|
||||
DECLARE counter BIGINT DEFAULT NULL;
|
||||
SELECT COUNT(*) INTO counter FROM information_schema.$is_table;
|
||||
RETURN counter;
|
||||
END//
|
||||
delimiter ;//
|
||||
|
||||
|
||||
# We are not interested to check the content here.
|
||||
--echo # Attention: The printing of the next result sets is disabled.
|
||||
--disable_result_log
|
||||
eval SELECT * FROM information_schema.$is_table;
|
||||
SELECT * FROM test.v1;
|
||||
CALL test.p1;
|
||||
SELECT test.f1();
|
||||
--enable_result_log
|
||||
|
||||
DROP VIEW test.v1;
|
||||
DROP PROCEDURE test.p1;
|
||||
DROP FUNCTION test.f1;
|
|
@ -112,11 +112,11 @@ connect (con100,localhost,ddicttestuser1,ddictpass,information_schema);
|
|||
--echo ####################################################################################
|
||||
connection default;
|
||||
eval SHOW CREATE TABLE $table;
|
||||
--replace_column 6 TIME
|
||||
--replace_column 1 ID 6 TIME
|
||||
eval SHOW $table;
|
||||
--replace_column 6 TIME
|
||||
--replace_column 1 ID 6 TIME
|
||||
eval SELECT * FROM $table $select_where ORDER BY id;
|
||||
--replace_column 6 TIME
|
||||
--replace_column 1 ID 6 TIME
|
||||
eval SELECT $columns FROM $table $select_where ORDER BY id;
|
||||
--source suite/funcs_1/datadict/datadict_priv.inc
|
||||
--real_sleep 0.3
|
||||
|
@ -128,11 +128,11 @@ connection con100;
|
|||
--echo SHOW/SELECT shows only the processes (1) of the user.
|
||||
--echo ####################################################################################
|
||||
eval SHOW CREATE TABLE $table;
|
||||
--replace_column 6 TIME
|
||||
--replace_column 1 ID 6 TIME
|
||||
eval SHOW $table;
|
||||
--replace_column 6 TIME
|
||||
--replace_column 1 ID 6 TIME
|
||||
eval SELECT * FROM $table $select_where ORDER BY id;
|
||||
--replace_column 6 TIME
|
||||
--replace_column 1 ID 6 TIME
|
||||
eval SELECT $columns FROM $table $select_where ORDER BY id;
|
||||
--source suite/funcs_1/datadict/datadict_priv.inc
|
||||
--real_sleep 0.3
|
||||
|
@ -154,9 +154,9 @@ GRANT PROCESS ON *.* TO ddicttestuser1@'localhost' IDENTIFIED BY 'ddictpass';
|
|||
--echo ####################################################################################
|
||||
connection con100;
|
||||
SHOW GRANTS;
|
||||
--replace_column 6 TIME
|
||||
--replace_column 1 ID 6 TIME
|
||||
SHOW processlist;
|
||||
--replace_column 6 TIME
|
||||
--replace_column 1 ID 6 TIME
|
||||
SELECT * FROM information_schema.processlist;
|
||||
--real_sleep 0.3
|
||||
|
||||
|
@ -166,9 +166,9 @@ SELECT * FROM information_schema.processlist;
|
|||
--echo ####################################################################################
|
||||
connect (con101,localhost,ddicttestuser1,ddictpass,information_schema);
|
||||
SHOW GRANTS;
|
||||
--replace_column 6 TIME
|
||||
--replace_column 1 ID 6 TIME
|
||||
SHOW processlist;
|
||||
--replace_column 6 TIME
|
||||
--replace_column 1 ID 6 TIME
|
||||
SELECT * FROM information_schema.processlist;
|
||||
--real_sleep 0.3
|
||||
|
||||
|
@ -188,9 +188,9 @@ GRANT PROCESS ON *.* TO ''@'localhost';
|
|||
--echo ####################################################################################
|
||||
connect (anonymous1,localhost,'',,information_schema);
|
||||
SHOW GRANTS;
|
||||
--replace_column 6 TIME
|
||||
--replace_column 1 ID 6 TIME
|
||||
SHOW processlist;
|
||||
--replace_column 6 TIME
|
||||
--replace_column 1 ID 6 TIME
|
||||
SELECT * FROM information_schema.processlist;
|
||||
--real_sleep 0.3
|
||||
|
||||
|
@ -210,9 +210,9 @@ connect (con102,localhost,ddicttestuser1,ddictpass,information_schema);
|
|||
--echo ddicttestuser1 are visible.
|
||||
--echo ####################################################################################
|
||||
SHOW GRANTS;
|
||||
--replace_column 6 TIME
|
||||
--replace_column 1 ID 6 TIME
|
||||
SHOW processlist;
|
||||
--replace_column 6 TIME
|
||||
--replace_column 1 ID 6 TIME
|
||||
SELECT * FROM information_schema.processlist;
|
||||
--real_sleep 0.3
|
||||
|
||||
|
@ -235,10 +235,10 @@ SHOW GRANTS FOR ''@'localhost';
|
|||
if ($fixed_bug_30395)
|
||||
{
|
||||
# Bug#30395 strange results after REVOKE PROCESS ON *.* FROM ...
|
||||
--replace_column 6 TIME
|
||||
--replace_column 1 ID 6 TIME
|
||||
SHOW processlist;
|
||||
}
|
||||
--replace_column 6 TIME
|
||||
--replace_column 1 ID 6 TIME
|
||||
SELECT * FROM information_schema.processlist;
|
||||
--real_sleep 0.3
|
||||
|
||||
|
@ -257,9 +257,9 @@ connect (con103,localhost,ddicttestuser1,ddictpass,information_schema);
|
|||
--echo Only the processes of ddicttestuser1 user are visible.
|
||||
--echo ####################################################################################
|
||||
SHOW GRANTS FOR 'ddicttestuser1'@'localhost';
|
||||
--replace_column 6 TIME
|
||||
--replace_column 1 ID 6 TIME
|
||||
SHOW processlist;
|
||||
--replace_column 6 TIME
|
||||
--replace_column 1 ID 6 TIME
|
||||
SELECT * FROM information_schema.processlist;
|
||||
--real_sleep 0.3
|
||||
|
||||
|
@ -279,9 +279,9 @@ connect (con104,localhost,ddicttestuser1,ddictpass,information_schema);
|
|||
--echo Only the processes of ddicttestuser1 are visible.
|
||||
--echo ####################################################################################
|
||||
SHOW GRANTS FOR 'ddicttestuser1'@'localhost';
|
||||
--replace_column 6 TIME
|
||||
--replace_column 1 ID 6 TIME
|
||||
SHOW processlist;
|
||||
--replace_column 6 TIME
|
||||
--replace_column 1 ID 6 TIME
|
||||
SELECT * FROM information_schema.processlist;
|
||||
--real_sleep 0.3
|
||||
|
||||
|
@ -326,9 +326,9 @@ connect (con200,localhost,ddicttestuser2,ddictpass,information_schema);
|
|||
--echo ddicttestuser2 has now the PROCESS privilege and sees all connections
|
||||
--echo ####################################################################################
|
||||
SHOW GRANTS FOR 'ddicttestuser2'@'localhost';
|
||||
--replace_column 6 TIME
|
||||
--replace_column 1 ID 6 TIME
|
||||
SHOW processlist;
|
||||
--replace_column 6 TIME
|
||||
--replace_column 1 ID 6 TIME
|
||||
SELECT * FROM information_schema.processlist;
|
||||
--real_sleep 0.3
|
||||
|
||||
|
@ -347,9 +347,9 @@ connect (con201,localhost,ddicttestuser2,ddictpass,information_schema);
|
|||
--echo ddicttestuser2 has no more the PROCESS privilege and can only see own connects
|
||||
--echo ####################################################################################
|
||||
SHOW GRANTS;
|
||||
--replace_column 6 TIME
|
||||
--replace_column 1 ID 6 TIME
|
||||
SHOW processlist;
|
||||
--replace_column 6 TIME
|
||||
--replace_column 1 ID 6 TIME
|
||||
SELECT * FROM information_schema.processlist;
|
||||
--real_sleep 0.3
|
||||
|
||||
|
@ -370,9 +370,9 @@ connect (con107,localhost,ddicttestuser1,ddictpass,information_schema);
|
|||
SHOW GRANTS FOR 'ddicttestuser1'@'localhost';
|
||||
--error ER_ACCESS_DENIED_ERROR
|
||||
GRANT PROCESS ON *.* TO 'ddicttestuser2'@'localhost';
|
||||
--replace_column 6 TIME
|
||||
--replace_column 1 ID 6 TIME
|
||||
SHOW processlist;
|
||||
--replace_column 6 TIME
|
||||
--replace_column 1 ID 6 TIME
|
||||
SELECT * FROM information_schema.processlist;
|
||||
--real_sleep 0.3
|
||||
|
||||
|
@ -394,9 +394,9 @@ connect (con108,localhost,ddicttestuser1,ddictpass,information_schema);
|
|||
--echo Therefore the missing SELECT privilege does not affect SELECTs on PROCESSLIST.
|
||||
--echo ####################################################################################
|
||||
SHOW GRANTS FOR 'ddicttestuser1'@'localhost';
|
||||
--replace_column 6 TIME
|
||||
--replace_column 1 ID 6 TIME
|
||||
SHOW processlist;
|
||||
--replace_column 6 TIME
|
||||
--replace_column 1 ID 6 TIME
|
||||
SELECT * FROM information_schema.processlist;
|
||||
--real_sleep 0.3
|
||||
|
||||
|
|
|
@ -306,3 +306,4 @@ connection default;
|
|||
--echo ----- close connection ddicttestuser1 -----
|
||||
disconnect ddicttestuser1;
|
||||
DROP USER ddicttestuser1@'localhost';
|
||||
DROP TABLE test.t1;
|
||||
|
|
55
mysql-test/suite/funcs_1/datadict/statistics.inc
Normal file
55
mysql-test/suite/funcs_1/datadict/statistics.inc
Normal file
|
@ -0,0 +1,55 @@
|
|||
# suite/funcs_1/datadict/statistics.inc
|
||||
#
|
||||
# Auxiliary script to be sourced by
|
||||
# is_statistics_is
|
||||
# is_statistics_mysql
|
||||
# is_statistics_<engine>
|
||||
#
|
||||
# Purpose:
|
||||
# Check the content of information_schema.statistics about tables within the
|
||||
# database '$database'.
|
||||
#
|
||||
# Usage:
|
||||
# The variable $database has to be set before sourcing this script.
|
||||
# Example:
|
||||
# let $database = db_data;
|
||||
#
|
||||
# Author:
|
||||
# 2008-01-23 mleich WL#4203 Reorganize and fix the data dictionary tests of
|
||||
# testsuite funcs_1
|
||||
# Create this script based on older scripts and new code.
|
||||
#
|
||||
|
||||
--source suite/funcs_1/datadict/datadict.pre
|
||||
|
||||
--disable_warnings
|
||||
DROP DATABASE IF EXISTS db_datadict;
|
||||
--enable_warnings
|
||||
CREATE DATABASE db_datadict;
|
||||
|
||||
# Create a low privileged user.
|
||||
# Note: The database db_datadict is just a "home" for the low privileged user
|
||||
# and not in the focus of testing.
|
||||
--error 0,ER_CANNOT_USER
|
||||
DROP USER testuser1@localhost;
|
||||
CREATE USER testuser1@localhost;
|
||||
GRANT SELECT ON db_datadict.* TO testuser1@localhost;
|
||||
|
||||
let $my_select = SELECT * FROM information_schema.statistics
|
||||
$my_where
|
||||
ORDER BY table_schema, table_name, index_name, seq_in_index, column_name;
|
||||
--replace_column 10 #CARD#
|
||||
eval $my_select;
|
||||
|
||||
--echo # Establish connection testuser1 (user=testuser1)
|
||||
--replace_result $MASTER_MYPORT MYSQL_PORT $MASTER_MYSOCK MYSQL_SOCK
|
||||
connect (testuser1,localhost,testuser1,,db_datadict);
|
||||
--replace_column 10 #CARD#
|
||||
eval $my_select;
|
||||
|
||||
--echo # Switch to connection default and close connection testuser1
|
||||
connection default;
|
||||
disconnect testuser1;
|
||||
DROP USER testuser1@localhost;
|
||||
DROP DATABASE db_datadict;
|
||||
|
45
mysql-test/suite/funcs_1/datadict/table_constraints.inc
Normal file
45
mysql-test/suite/funcs_1/datadict/table_constraints.inc
Normal file
|
@ -0,0 +1,45 @@
|
|||
# suite/funcs_1/datadict/table_constraints.inc
|
||||
#
|
||||
# Auxiliary script to be sourced by
|
||||
# suite/funcs_1/t/is_table_constraints_mysql.test
|
||||
# suite/funcs_1/t/is_table_constraints_is.test
|
||||
#
|
||||
# The variable
|
||||
# $table_schema database to be inspected
|
||||
# has to be set before sourcing this script.
|
||||
#
|
||||
# Author:
|
||||
# 2008-01-23 mleich WL#4203 Reorganize and fix the data dictionary tests of
|
||||
# testsuite funcs_1
|
||||
# Create this script based on older scripts and new code.
|
||||
#
|
||||
|
||||
--disable_warnings
|
||||
DROP DATABASE IF EXISTS db_datadict;
|
||||
--enable_warnings
|
||||
CREATE DATABASE db_datadict;
|
||||
|
||||
# Create a low privileged user.
|
||||
# Note: The database db_datadict is just a "home" for the low privileged user
|
||||
# and not in the focus of testing.
|
||||
--error 0,ER_CANNOT_USER
|
||||
DROP USER testuser1@localhost;
|
||||
CREATE USER testuser1@localhost;
|
||||
GRANT SELECT ON db_datadict.* TO testuser1@localhost;
|
||||
|
||||
let $my_select = SELECT * FROM information_schema.table_constraints
|
||||
WHERE table_schema = '$table_schema'
|
||||
ORDER BY table_schema,table_name,constraint_name;
|
||||
eval $my_select;
|
||||
|
||||
--echo # Establish connection testuser1 (user=testuser1)
|
||||
--replace_result $MASTER_MYPORT MYSQL_PORT $MASTER_MYSOCK MYSQL_SOCK
|
||||
connect (testuser1,localhost,testuser1,,db_datadict);
|
||||
eval $my_select;
|
||||
|
||||
--echo # Switch to connection default and close connection testuser1
|
||||
connection default;
|
||||
disconnect testuser1;
|
||||
DROP USER testuser1@localhost;
|
||||
DROP DATABASE db_datadict;
|
||||
|
39
mysql-test/suite/funcs_1/datadict/tables1.inc
Normal file
39
mysql-test/suite/funcs_1/datadict/tables1.inc
Normal file
|
@ -0,0 +1,39 @@
|
|||
# suite/funcs_1/datadict/tables1.inc
|
||||
#
|
||||
# Auxiliary script to be sourced by
|
||||
# is_tables_mysql.test
|
||||
# is_tables_is.test
|
||||
# is_tables_<engine>.test
|
||||
#
|
||||
# Author:
|
||||
# 2008-01-23 mleich WL#4203 Reorganize and fix the data dictionary tests of
|
||||
# testsuite funcs_1
|
||||
# Create this script based on older scripts and new code.
|
||||
#
|
||||
|
||||
--disable_warnings
|
||||
DROP DATABASE IF EXISTS db_datadict;
|
||||
--enable_warnings
|
||||
CREATE DATABASE db_datadict;
|
||||
|
||||
--source suite/funcs_1/datadict/tables2.inc
|
||||
|
||||
# Create a low privileged user.
|
||||
# Note: The database db_datadict is just a "home" for the low privileged user
|
||||
# and not in the focus of testing.
|
||||
--error 0,ER_CANNOT_USER
|
||||
DROP USER testuser1@localhost;
|
||||
CREATE USER testuser1@localhost;
|
||||
GRANT SELECT ON db_datadict.* TO testuser1@localhost;
|
||||
|
||||
--echo # Establish connection testuser1 (user=testuser1)
|
||||
--replace_result $MASTER_MYPORT MYSQL_PORT $MASTER_MYSOCK MYSQL_SOCK
|
||||
connect (testuser1,localhost,testuser1,,db_datadict);
|
||||
--source suite/funcs_1/datadict/tables2.inc
|
||||
|
||||
--echo # Switch to connection default and close connection testuser1
|
||||
connection default;
|
||||
disconnect testuser1;
|
||||
DROP USER testuser1@localhost;
|
||||
DROP DATABASE db_datadict;
|
||||
|
47
mysql-test/suite/funcs_1/datadict/tables2.inc
Normal file
47
mysql-test/suite/funcs_1/datadict/tables2.inc
Normal file
|
@ -0,0 +1,47 @@
|
|||
# suite/funcs_1/datadict/tables2.inc
|
||||
#
|
||||
# Auxiliary script to be sourced by suite/funcs_1/datadict/tables1.inc.
|
||||
#
|
||||
# Author:
|
||||
# 2008-01-23 mleich WL#4203 Reorganize and fix the data dictionary tests of
|
||||
# testsuite funcs_1
|
||||
# Create this script based on older scripts and new code.
|
||||
#
|
||||
################################################################################
|
||||
|
||||
# 8 TABLE_ROWS
|
||||
# 9 AVG_ROW_LENGTH
|
||||
# 10 DATA_LENGTH
|
||||
# 11 MAX_DATA_LENGTH
|
||||
# 12 INDEX_LENGTH
|
||||
# 13 DATA_FREE
|
||||
# 15 CREATE_TIME
|
||||
# 16 UPDATE_TIME
|
||||
# 17 CHECK_TIME
|
||||
# 20 CREATE_OPTIONS
|
||||
# 21 TABLE_COMMENT User defined comment
|
||||
# + InnoDB
|
||||
# + NDB: "number_of_replicas: <number>" appended
|
||||
# + InnoDB: "InnoDB free: <number_kB> kB" appended
|
||||
# <number_kB> depends on tablespace history!
|
||||
# The LEFT/INSTR/IF/LENGTH stuff should remove these
|
||||
# storage engine specific part.
|
||||
let $innodb_pattern = 'InnoDB free';
|
||||
let $ndb_pattern = 'number_of_replicas';
|
||||
--vertical_results
|
||||
--replace_column 8 "#TBLR#" 9 "#ARL#" 10 "#DL#" 11 "#MDL#" 12 "#IL#" 13 "#DF#" 15 "#CRT#" 16 "#UT#" 17 "#CT#" 20 "#CO#" 21 "#TC#"
|
||||
eval
|
||||
SELECT *,
|
||||
LEFT( table_comment,
|
||||
IF(INSTR(table_comment,$innodb_pattern) = 0
|
||||
AND INSTR(table_comment,$ndb_pattern) = 0,
|
||||
LENGTH(table_comment),
|
||||
INSTR(table_comment,$innodb_pattern)
|
||||
+ INSTR(table_comment,$ndb_pattern) - 1))
|
||||
AS "user_comment",
|
||||
'-----------------------------------------------------' AS "Separator"
|
||||
FROM information_schema.tables
|
||||
$my_where
|
||||
ORDER BY table_schema,table_name;
|
||||
--horizontal_results
|
||||
|
21
mysql-test/suite/funcs_1/include/cleanup.inc
Normal file
21
mysql-test/suite/funcs_1/include/cleanup.inc
Normal file
|
@ -0,0 +1,21 @@
|
|||
# suite/funcs_1/include/cleanup.inc
|
||||
#
|
||||
# Remove all objects created by sourcing
|
||||
# suite/funcs_1/datadict/datadict_load.inc
|
||||
#
|
||||
DROP DATABASE test1;
|
||||
DROP DATABASE test4;
|
||||
DROP TABLE test.t1;
|
||||
DROP TABLE test.t2;
|
||||
DROP TABLE test.t3;
|
||||
DROP TABLE test.t4;
|
||||
DROP TABLE test.t7;
|
||||
DROP TABLE test.t8;
|
||||
DROP TABLE test.t9;
|
||||
DROP TABLE test.t10;
|
||||
DROP TABLE test.t11;
|
||||
DROP TABLE test.tb1;
|
||||
DROP TABLE test.tb2;
|
||||
DROP TABLE test.tb3;
|
||||
DROP TABLE test.tb4;
|
||||
|
|
@ -1,6 +0,0 @@
|
|||
##### suite/funcs_1/include/create_database.inc
|
||||
|
||||
--disable_warnings
|
||||
eval DROP DATABASE IF EXISTS $new_database;
|
||||
--enable_warnings
|
||||
eval CREATE DATABASE $new_database;
|
|
@ -1,10 +0,0 @@
|
|||
##### suite/funcs_1/include/create_user_no_priv.inc
|
||||
#
|
||||
# $new_user must contain the name (with @<host> if necessary)
|
||||
#
|
||||
|
||||
--error 0,1396
|
||||
eval DROP USER $new_user;
|
||||
eval CREATE USER $new_user identified by 'PWD';
|
||||
# Just to be sure
|
||||
eval REVOKE ALL PRIVILEGES, GRANT OPTION FROM $new_user;
|
|
@ -1,11 +0,0 @@
|
|||
##### suite/funcs_1/include/create_user_no_super.inc
|
||||
#
|
||||
# $new_user must contain the name (with @<host> if necessary)
|
||||
# of the user to be created
|
||||
|
||||
--error 0,1396
|
||||
eval DROP USER $new_user;
|
||||
eval CREATE USER $new_user identified by 'PWD';
|
||||
|
||||
eval GRANT ALL ON *.* TO $new_user WITH GRANT OPTION;
|
||||
eval REVOKE SUPER ON *.* FROM $new_user;
|
|
@ -1,8 +1,5 @@
|
|||
##### suite/funcs_1/include/memory_tb1.inc
|
||||
|
||||
set @@global.max_heap_table_size = 4294967295;
|
||||
set @@session.max_heap_table_size = 4294967295;
|
||||
|
||||
--disable_warnings
|
||||
drop table if exists tb1 ;
|
||||
--enable_warnings
|
||||
|
|
|
@ -1,8 +1,5 @@
|
|||
##### suite/funcs_1/include/memory_tb2.inc
|
||||
|
||||
set @@global.max_heap_table_size = 4294967295;
|
||||
set @@session.max_heap_table_size = 4294967295;
|
||||
|
||||
--disable_warnings
|
||||
drop table if exists tb2 ;
|
||||
--enable_warnings
|
||||
|
|
|
@ -1,8 +1,5 @@
|
|||
##### suite/funcs_1/include/memory_tb3.inc
|
||||
|
||||
set @@global.max_heap_table_size = 4294967295;
|
||||
set @@session.max_heap_table_size = 4294967295;
|
||||
|
||||
--disable_warnings
|
||||
drop table if exists tb3;
|
||||
--enable_warnings
|
||||
|
|
|
@ -1,8 +1,5 @@
|
|||
##### suite/funcs_1/include/memory_tb4.inc
|
||||
|
||||
set @@global.max_heap_table_size = 4294967295;
|
||||
set @@session.max_heap_table_size = 4294967295;
|
||||
|
||||
--disable_warnings
|
||||
drop table if exists tb4 ;
|
||||
--enable_warnings
|
||||
|
|
|
@ -1,9 +1,5 @@
|
|||
--disable_abort_on_error
|
||||
|
||||
# ML: Should be set outside when memory
|
||||
# set @@global.max_heap_table_size=4294967295;
|
||||
# set @@session.max_heap_table_size=4294967295;
|
||||
|
||||
USE test;
|
||||
|
||||
--disable_warnings
|
||||
|
|
312
mysql-test/suite/funcs_1/r/charset_collation_1.result
Normal file
312
mysql-test/suite/funcs_1/r/charset_collation_1.result
Normal file
|
@ -0,0 +1,312 @@
|
|||
DROP USER dbdict_test@localhost;
|
||||
CREATE USER dbdict_test@localhost;
|
||||
# Establish connection con (user=dbdict_test)
|
||||
|
||||
SELECT *
|
||||
FROM information_schema.character_sets
|
||||
ORDER BY character_set_name;
|
||||
CHARACTER_SET_NAME DEFAULT_COLLATE_NAME DESCRIPTION MAXLEN
|
||||
armscii8 armscii8_general_ci ARMSCII-8 Armenian 1
|
||||
ascii ascii_general_ci US ASCII 1
|
||||
big5 big5_chinese_ci Big5 Traditional Chinese 2
|
||||
binary binary Binary pseudo charset 1
|
||||
cp1250 cp1250_general_ci Windows Central European 1
|
||||
cp1251 cp1251_general_ci Windows Cyrillic 1
|
||||
cp1256 cp1256_general_ci Windows Arabic 1
|
||||
cp1257 cp1257_general_ci Windows Baltic 1
|
||||
cp850 cp850_general_ci DOS West European 1
|
||||
cp852 cp852_general_ci DOS Central European 1
|
||||
cp866 cp866_general_ci DOS Russian 1
|
||||
cp932 cp932_japanese_ci SJIS for Windows Japanese 2
|
||||
dec8 dec8_swedish_ci DEC West European 1
|
||||
eucjpms eucjpms_japanese_ci UJIS for Windows Japanese 3
|
||||
euckr euckr_korean_ci EUC-KR Korean 2
|
||||
gb2312 gb2312_chinese_ci GB2312 Simplified Chinese 2
|
||||
gbk gbk_chinese_ci GBK Simplified Chinese 2
|
||||
geostd8 geostd8_general_ci GEOSTD8 Georgian 1
|
||||
greek greek_general_ci ISO 8859-7 Greek 1
|
||||
hebrew hebrew_general_ci ISO 8859-8 Hebrew 1
|
||||
hp8 hp8_english_ci HP West European 1
|
||||
keybcs2 keybcs2_general_ci DOS Kamenicky Czech-Slovak 1
|
||||
koi8r koi8r_general_ci KOI8-R Relcom Russian 1
|
||||
koi8u koi8u_general_ci KOI8-U Ukrainian 1
|
||||
latin1 latin1_swedish_ci cp1252 West European 1
|
||||
latin2 latin2_general_ci ISO 8859-2 Central European 1
|
||||
latin5 latin5_turkish_ci ISO 8859-9 Turkish 1
|
||||
latin7 latin7_general_ci ISO 8859-13 Baltic 1
|
||||
macce macce_general_ci Mac Central European 1
|
||||
macroman macroman_general_ci Mac West European 1
|
||||
sjis sjis_japanese_ci Shift-JIS Japanese 2
|
||||
swe7 swe7_swedish_ci 7bit Swedish 1
|
||||
tis620 tis620_thai_ci TIS620 Thai 1
|
||||
ucs2 ucs2_general_ci UCS-2 Unicode 2
|
||||
ujis ujis_japanese_ci EUC-JP Japanese 3
|
||||
utf8 utf8_general_ci UTF-8 Unicode 3
|
||||
|
||||
SELECT *
|
||||
FROM information_schema.collations
|
||||
ORDER BY collation_name;
|
||||
COLLATION_NAME CHARACTER_SET_NAME ID IS_DEFAULT IS_COMPILED SORTLEN
|
||||
armscii8_bin armscii8 64 0
|
||||
armscii8_general_ci armscii8 32 Yes 0
|
||||
ascii_bin ascii 65 0
|
||||
ascii_general_ci ascii 11 Yes 0
|
||||
big5_bin big5 84 Yes 1
|
||||
big5_chinese_ci big5 1 Yes Yes 1
|
||||
binary binary 63 Yes Yes 1
|
||||
cp1250_bin cp1250 66 Yes 1
|
||||
cp1250_croatian_ci cp1250 44 Yes 1
|
||||
cp1250_czech_cs cp1250 34 Yes 2
|
||||
cp1250_general_ci cp1250 26 Yes Yes 1
|
||||
cp1250_polish_ci cp1250 99 Yes 1
|
||||
cp1251_bin cp1251 50 0
|
||||
cp1251_bulgarian_ci cp1251 14 0
|
||||
cp1251_general_ci cp1251 51 Yes 0
|
||||
cp1251_general_cs cp1251 52 0
|
||||
cp1251_ukrainian_ci cp1251 23 0
|
||||
cp1256_bin cp1256 67 0
|
||||
cp1256_general_ci cp1256 57 Yes 0
|
||||
cp1257_bin cp1257 58 0
|
||||
cp1257_general_ci cp1257 59 Yes 0
|
||||
cp1257_lithuanian_ci cp1257 29 0
|
||||
cp850_bin cp850 80 0
|
||||
cp850_general_ci cp850 4 Yes 0
|
||||
cp852_bin cp852 81 0
|
||||
cp852_general_ci cp852 40 Yes 0
|
||||
cp866_bin cp866 68 0
|
||||
cp866_general_ci cp866 36 Yes 0
|
||||
cp932_bin cp932 96 Yes 1
|
||||
cp932_japanese_ci cp932 95 Yes Yes 1
|
||||
dec8_bin dec8 69 0
|
||||
dec8_swedish_ci dec8 3 Yes 0
|
||||
eucjpms_bin eucjpms 98 Yes 1
|
||||
eucjpms_japanese_ci eucjpms 97 Yes Yes 1
|
||||
euckr_bin euckr 85 Yes 1
|
||||
euckr_korean_ci euckr 19 Yes Yes 1
|
||||
gb2312_bin gb2312 86 Yes 1
|
||||
gb2312_chinese_ci gb2312 24 Yes Yes 1
|
||||
gbk_bin gbk 87 Yes 1
|
||||
gbk_chinese_ci gbk 28 Yes Yes 1
|
||||
geostd8_bin geostd8 93 0
|
||||
geostd8_general_ci geostd8 92 Yes 0
|
||||
greek_bin greek 70 0
|
||||
greek_general_ci greek 25 Yes 0
|
||||
hebrew_bin hebrew 71 0
|
||||
hebrew_general_ci hebrew 16 Yes 0
|
||||
hp8_bin hp8 72 0
|
||||
hp8_english_ci hp8 6 Yes 0
|
||||
keybcs2_bin keybcs2 73 0
|
||||
keybcs2_general_ci keybcs2 37 Yes 0
|
||||
koi8r_bin koi8r 74 0
|
||||
koi8r_general_ci koi8r 7 Yes 0
|
||||
koi8u_bin koi8u 75 0
|
||||
koi8u_general_ci koi8u 22 Yes 0
|
||||
latin1_bin latin1 47 Yes 1
|
||||
latin1_danish_ci latin1 15 Yes 1
|
||||
latin1_general_ci latin1 48 Yes 1
|
||||
latin1_general_cs latin1 49 Yes 1
|
||||
latin1_german1_ci latin1 5 Yes 1
|
||||
latin1_german2_ci latin1 31 Yes 2
|
||||
latin1_spanish_ci latin1 94 Yes 1
|
||||
latin1_swedish_ci latin1 8 Yes Yes 1
|
||||
latin2_bin latin2 77 Yes 1
|
||||
latin2_croatian_ci latin2 27 Yes 1
|
||||
latin2_czech_cs latin2 2 Yes 4
|
||||
latin2_general_ci latin2 9 Yes Yes 1
|
||||
latin2_hungarian_ci latin2 21 Yes 1
|
||||
latin5_bin latin5 78 0
|
||||
latin5_turkish_ci latin5 30 Yes 0
|
||||
latin7_bin latin7 79 0
|
||||
latin7_estonian_cs latin7 20 0
|
||||
latin7_general_ci latin7 41 Yes 0
|
||||
latin7_general_cs latin7 42 0
|
||||
macce_bin macce 43 0
|
||||
macce_general_ci macce 38 Yes 0
|
||||
macroman_bin macroman 53 0
|
||||
macroman_general_ci macroman 39 Yes 0
|
||||
sjis_bin sjis 88 Yes 1
|
||||
sjis_japanese_ci sjis 13 Yes Yes 1
|
||||
swe7_bin swe7 82 0
|
||||
swe7_swedish_ci swe7 10 Yes 0
|
||||
tis620_bin tis620 89 Yes 1
|
||||
tis620_thai_ci tis620 18 Yes Yes 4
|
||||
ucs2_bin ucs2 90 Yes 1
|
||||
ucs2_czech_ci ucs2 138 Yes 8
|
||||
ucs2_danish_ci ucs2 139 Yes 8
|
||||
ucs2_esperanto_ci ucs2 145 Yes 8
|
||||
ucs2_estonian_ci ucs2 134 Yes 8
|
||||
ucs2_general_ci ucs2 35 Yes Yes 1
|
||||
ucs2_hungarian_ci ucs2 146 Yes 8
|
||||
ucs2_icelandic_ci ucs2 129 Yes 8
|
||||
ucs2_latvian_ci ucs2 130 Yes 8
|
||||
ucs2_lithuanian_ci ucs2 140 Yes 8
|
||||
ucs2_persian_ci ucs2 144 Yes 8
|
||||
ucs2_polish_ci ucs2 133 Yes 8
|
||||
ucs2_romanian_ci ucs2 131 Yes 8
|
||||
ucs2_roman_ci ucs2 143 Yes 8
|
||||
ucs2_slovak_ci ucs2 141 Yes 8
|
||||
ucs2_slovenian_ci ucs2 132 Yes 8
|
||||
ucs2_spanish2_ci ucs2 142 Yes 8
|
||||
ucs2_spanish_ci ucs2 135 Yes 8
|
||||
ucs2_swedish_ci ucs2 136 Yes 8
|
||||
ucs2_turkish_ci ucs2 137 Yes 8
|
||||
ucs2_unicode_ci ucs2 128 Yes 8
|
||||
ujis_bin ujis 91 Yes 1
|
||||
ujis_japanese_ci ujis 12 Yes Yes 1
|
||||
utf8_bin utf8 83 Yes 1
|
||||
utf8_czech_ci utf8 202 Yes 8
|
||||
utf8_danish_ci utf8 203 Yes 8
|
||||
utf8_esperanto_ci utf8 209 Yes 8
|
||||
utf8_estonian_ci utf8 198 Yes 8
|
||||
utf8_general_ci utf8 33 Yes Yes 1
|
||||
utf8_hungarian_ci utf8 210 Yes 8
|
||||
utf8_icelandic_ci utf8 193 Yes 8
|
||||
utf8_latvian_ci utf8 194 Yes 8
|
||||
utf8_lithuanian_ci utf8 204 Yes 8
|
||||
utf8_persian_ci utf8 208 Yes 8
|
||||
utf8_polish_ci utf8 197 Yes 8
|
||||
utf8_romanian_ci utf8 195 Yes 8
|
||||
utf8_roman_ci utf8 207 Yes 8
|
||||
utf8_slovak_ci utf8 205 Yes 8
|
||||
utf8_slovenian_ci utf8 196 Yes 8
|
||||
utf8_spanish2_ci utf8 206 Yes 8
|
||||
utf8_spanish_ci utf8 199 Yes 8
|
||||
utf8_swedish_ci utf8 200 Yes 8
|
||||
utf8_turkish_ci utf8 201 Yes 8
|
||||
utf8_unicode_ci utf8 192 Yes 8
|
||||
|
||||
|
||||
SELECT *
|
||||
FROM information_schema.collation_character_set_applicability
|
||||
ORDER BY collation_name, character_set_name;
|
||||
COLLATION_NAME CHARACTER_SET_NAME
|
||||
armscii8_bin armscii8
|
||||
armscii8_general_ci armscii8
|
||||
ascii_bin ascii
|
||||
ascii_general_ci ascii
|
||||
big5_bin big5
|
||||
big5_chinese_ci big5
|
||||
binary binary
|
||||
cp1250_bin cp1250
|
||||
cp1250_croatian_ci cp1250
|
||||
cp1250_czech_cs cp1250
|
||||
cp1250_general_ci cp1250
|
||||
cp1250_polish_ci cp1250
|
||||
cp1251_bin cp1251
|
||||
cp1251_bulgarian_ci cp1251
|
||||
cp1251_general_ci cp1251
|
||||
cp1251_general_cs cp1251
|
||||
cp1251_ukrainian_ci cp1251
|
||||
cp1256_bin cp1256
|
||||
cp1256_general_ci cp1256
|
||||
cp1257_bin cp1257
|
||||
cp1257_general_ci cp1257
|
||||
cp1257_lithuanian_ci cp1257
|
||||
cp850_bin cp850
|
||||
cp850_general_ci cp850
|
||||
cp852_bin cp852
|
||||
cp852_general_ci cp852
|
||||
cp866_bin cp866
|
||||
cp866_general_ci cp866
|
||||
cp932_bin cp932
|
||||
cp932_japanese_ci cp932
|
||||
dec8_bin dec8
|
||||
dec8_swedish_ci dec8
|
||||
eucjpms_bin eucjpms
|
||||
eucjpms_japanese_ci eucjpms
|
||||
euckr_bin euckr
|
||||
euckr_korean_ci euckr
|
||||
filename filename
|
||||
gb2312_bin gb2312
|
||||
gb2312_chinese_ci gb2312
|
||||
gbk_bin gbk
|
||||
gbk_chinese_ci gbk
|
||||
geostd8_bin geostd8
|
||||
geostd8_general_ci geostd8
|
||||
greek_bin greek
|
||||
greek_general_ci greek
|
||||
hebrew_bin hebrew
|
||||
hebrew_general_ci hebrew
|
||||
hp8_bin hp8
|
||||
hp8_english_ci hp8
|
||||
keybcs2_bin keybcs2
|
||||
keybcs2_general_ci keybcs2
|
||||
koi8r_bin koi8r
|
||||
koi8r_general_ci koi8r
|
||||
koi8u_bin koi8u
|
||||
koi8u_general_ci koi8u
|
||||
latin1_bin latin1
|
||||
latin1_danish_ci latin1
|
||||
latin1_general_ci latin1
|
||||
latin1_general_cs latin1
|
||||
latin1_german1_ci latin1
|
||||
latin1_german2_ci latin1
|
||||
latin1_spanish_ci latin1
|
||||
latin1_swedish_ci latin1
|
||||
latin2_bin latin2
|
||||
latin2_croatian_ci latin2
|
||||
latin2_czech_cs latin2
|
||||
latin2_general_ci latin2
|
||||
latin2_hungarian_ci latin2
|
||||
latin5_bin latin5
|
||||
latin5_turkish_ci latin5
|
||||
latin7_bin latin7
|
||||
latin7_estonian_cs latin7
|
||||
latin7_general_ci latin7
|
||||
latin7_general_cs latin7
|
||||
macce_bin macce
|
||||
macce_general_ci macce
|
||||
macroman_bin macroman
|
||||
macroman_general_ci macroman
|
||||
sjis_bin sjis
|
||||
sjis_japanese_ci sjis
|
||||
swe7_bin swe7
|
||||
swe7_swedish_ci swe7
|
||||
tis620_bin tis620
|
||||
tis620_thai_ci tis620
|
||||
ucs2_bin ucs2
|
||||
ucs2_czech_ci ucs2
|
||||
ucs2_danish_ci ucs2
|
||||
ucs2_esperanto_ci ucs2
|
||||
ucs2_estonian_ci ucs2
|
||||
ucs2_general_ci ucs2
|
||||
ucs2_hungarian_ci ucs2
|
||||
ucs2_icelandic_ci ucs2
|
||||
ucs2_latvian_ci ucs2
|
||||
ucs2_lithuanian_ci ucs2
|
||||
ucs2_persian_ci ucs2
|
||||
ucs2_polish_ci ucs2
|
||||
ucs2_romanian_ci ucs2
|
||||
ucs2_roman_ci ucs2
|
||||
ucs2_slovak_ci ucs2
|
||||
ucs2_slovenian_ci ucs2
|
||||
ucs2_spanish2_ci ucs2
|
||||
ucs2_spanish_ci ucs2
|
||||
ucs2_swedish_ci ucs2
|
||||
ucs2_turkish_ci ucs2
|
||||
ucs2_unicode_ci ucs2
|
||||
ujis_bin ujis
|
||||
ujis_japanese_ci ujis
|
||||
utf8_bin utf8
|
||||
utf8_czech_ci utf8
|
||||
utf8_danish_ci utf8
|
||||
utf8_esperanto_ci utf8
|
||||
utf8_estonian_ci utf8
|
||||
utf8_general_ci utf8
|
||||
utf8_hungarian_ci utf8
|
||||
utf8_icelandic_ci utf8
|
||||
utf8_latvian_ci utf8
|
||||
utf8_lithuanian_ci utf8
|
||||
utf8_persian_ci utf8
|
||||
utf8_polish_ci utf8
|
||||
utf8_romanian_ci utf8
|
||||
utf8_roman_ci utf8
|
||||
utf8_slovak_ci utf8
|
||||
utf8_slovenian_ci utf8
|
||||
utf8_spanish2_ci utf8
|
||||
utf8_spanish_ci utf8
|
||||
utf8_swedish_ci utf8
|
||||
utf8_turkish_ci utf8
|
||||
utf8_unicode_ci utf8
|
||||
# Switch to connection default + disconnect con
|
||||
DROP USER dbdict_test@localhost;
|
314
mysql-test/suite/funcs_1/r/charset_collation_2.result
Normal file
314
mysql-test/suite/funcs_1/r/charset_collation_2.result
Normal file
|
@ -0,0 +1,314 @@
|
|||
DROP USER dbdict_test@localhost;
|
||||
CREATE USER dbdict_test@localhost;
|
||||
# Establish connection con (user=dbdict_test)
|
||||
|
||||
SELECT *
|
||||
FROM information_schema.character_sets
|
||||
ORDER BY character_set_name;
|
||||
CHARACTER_SET_NAME DEFAULT_COLLATE_NAME DESCRIPTION MAXLEN
|
||||
armscii8 armscii8_general_ci ARMSCII-8 Armenian 1
|
||||
ascii ascii_general_ci US ASCII 1
|
||||
big5 big5_chinese_ci Big5 Traditional Chinese 2
|
||||
binary binary Binary pseudo charset 1
|
||||
cp1250 cp1250_general_ci Windows Central European 1
|
||||
cp1251 cp1251_general_ci Windows Cyrillic 1
|
||||
cp1256 cp1256_general_ci Windows Arabic 1
|
||||
cp1257 cp1257_general_ci Windows Baltic 1
|
||||
cp850 cp850_general_ci DOS West European 1
|
||||
cp852 cp852_general_ci DOS Central European 1
|
||||
cp866 cp866_general_ci DOS Russian 1
|
||||
cp932 cp932_japanese_ci SJIS for Windows Japanese 2
|
||||
dec8 dec8_swedish_ci DEC West European 1
|
||||
eucjpms eucjpms_japanese_ci UJIS for Windows Japanese 3
|
||||
euckr euckr_korean_ci EUC-KR Korean 2
|
||||
gb2312 gb2312_chinese_ci GB2312 Simplified Chinese 2
|
||||
gbk gbk_chinese_ci GBK Simplified Chinese 2
|
||||
geostd8 geostd8_general_ci GEOSTD8 Georgian 1
|
||||
greek greek_general_ci ISO 8859-7 Greek 1
|
||||
hebrew hebrew_general_ci ISO 8859-8 Hebrew 1
|
||||
hp8 hp8_english_ci HP West European 1
|
||||
keybcs2 keybcs2_general_ci DOS Kamenicky Czech-Slovak 1
|
||||
koi8r koi8r_general_ci KOI8-R Relcom Russian 1
|
||||
koi8u koi8u_general_ci KOI8-U Ukrainian 1
|
||||
latin1 latin1_swedish_ci cp1252 West European 1
|
||||
latin2 latin2_general_ci ISO 8859-2 Central European 1
|
||||
latin5 latin5_turkish_ci ISO 8859-9 Turkish 1
|
||||
latin7 latin7_general_ci ISO 8859-13 Baltic 1
|
||||
macce macce_general_ci Mac Central European 1
|
||||
macroman macroman_general_ci Mac West European 1
|
||||
sjis sjis_japanese_ci Shift-JIS Japanese 2
|
||||
swe7 swe7_swedish_ci 7bit Swedish 1
|
||||
tis620 tis620_thai_ci TIS620 Thai 1
|
||||
ucs2 ucs2_general_ci UCS-2 Unicode 2
|
||||
ujis ujis_japanese_ci EUC-JP Japanese 3
|
||||
utf8 utf8_general_ci UTF-8 Unicode 3
|
||||
|
||||
SELECT *
|
||||
FROM information_schema.collations
|
||||
ORDER BY collation_name;
|
||||
COLLATION_NAME CHARACTER_SET_NAME ID IS_DEFAULT IS_COMPILED SORTLEN
|
||||
armscii8_bin armscii8 64 0
|
||||
armscii8_general_ci armscii8 32 Yes 0
|
||||
ascii_bin ascii 65 0
|
||||
ascii_general_ci ascii 11 Yes 0
|
||||
big5_bin big5 84 Yes 1
|
||||
big5_chinese_ci big5 1 Yes Yes 1
|
||||
binary binary 63 Yes Yes 1
|
||||
cp1250_bin cp1250 66 Yes 1
|
||||
cp1250_croatian_ci cp1250 44 Yes 1
|
||||
cp1250_czech_cs cp1250 34 Yes 2
|
||||
cp1250_general_ci cp1250 26 Yes Yes 1
|
||||
cp1250_polish_ci cp1250 99 Yes 1
|
||||
cp1251_bin cp1251 50 0
|
||||
cp1251_bulgarian_ci cp1251 14 0
|
||||
cp1251_general_ci cp1251 51 Yes 0
|
||||
cp1251_general_cs cp1251 52 0
|
||||
cp1251_ukrainian_ci cp1251 23 0
|
||||
cp1256_bin cp1256 67 0
|
||||
cp1256_general_ci cp1256 57 Yes 0
|
||||
cp1257_bin cp1257 58 0
|
||||
cp1257_general_ci cp1257 59 Yes 0
|
||||
cp1257_lithuanian_ci cp1257 29 0
|
||||
cp850_bin cp850 80 0
|
||||
cp850_general_ci cp850 4 Yes 0
|
||||
cp852_bin cp852 81 0
|
||||
cp852_general_ci cp852 40 Yes 0
|
||||
cp866_bin cp866 68 0
|
||||
cp866_general_ci cp866 36 Yes 0
|
||||
cp932_bin cp932 96 Yes 1
|
||||
cp932_japanese_ci cp932 95 Yes Yes 1
|
||||
dec8_bin dec8 69 0
|
||||
dec8_swedish_ci dec8 3 Yes 0
|
||||
eucjpms_bin eucjpms 98 Yes 1
|
||||
eucjpms_japanese_ci eucjpms 97 Yes Yes 1
|
||||
euckr_bin euckr 85 Yes 1
|
||||
euckr_korean_ci euckr 19 Yes Yes 1
|
||||
gb2312_bin gb2312 86 Yes 1
|
||||
gb2312_chinese_ci gb2312 24 Yes Yes 1
|
||||
gbk_bin gbk 87 Yes 1
|
||||
gbk_chinese_ci gbk 28 Yes Yes 1
|
||||
geostd8_bin geostd8 93 0
|
||||
geostd8_general_ci geostd8 92 Yes 0
|
||||
greek_bin greek 70 0
|
||||
greek_general_ci greek 25 Yes 0
|
||||
hebrew_bin hebrew 71 0
|
||||
hebrew_general_ci hebrew 16 Yes 0
|
||||
hp8_bin hp8 72 0
|
||||
hp8_english_ci hp8 6 Yes 0
|
||||
keybcs2_bin keybcs2 73 0
|
||||
keybcs2_general_ci keybcs2 37 Yes 0
|
||||
koi8r_bin koi8r 74 0
|
||||
koi8r_general_ci koi8r 7 Yes 0
|
||||
koi8u_bin koi8u 75 0
|
||||
koi8u_general_ci koi8u 22 Yes 0
|
||||
latin1_bin latin1 47 Yes 1
|
||||
latin1_danish_ci latin1 15 Yes 1
|
||||
latin1_general_ci latin1 48 Yes 1
|
||||
latin1_general_cs latin1 49 Yes 1
|
||||
latin1_german1_ci latin1 5 Yes 1
|
||||
latin1_german2_ci latin1 31 Yes 2
|
||||
latin1_spanish_ci latin1 94 Yes 1
|
||||
latin1_swedish_ci latin1 8 Yes Yes 1
|
||||
latin2_bin latin2 77 Yes 1
|
||||
latin2_croatian_ci latin2 27 Yes 1
|
||||
latin2_czech_cs latin2 2 Yes 4
|
||||
latin2_general_ci latin2 9 Yes Yes 1
|
||||
latin2_hungarian_ci latin2 21 Yes 1
|
||||
latin5_bin latin5 78 0
|
||||
latin5_turkish_ci latin5 30 Yes 0
|
||||
latin7_bin latin7 79 0
|
||||
latin7_estonian_cs latin7 20 0
|
||||
latin7_general_ci latin7 41 Yes 0
|
||||
latin7_general_cs latin7 42 0
|
||||
macce_bin macce 43 0
|
||||
macce_general_ci macce 38 Yes 0
|
||||
macroman_bin macroman 53 0
|
||||
macroman_general_ci macroman 39 Yes 0
|
||||
sjis_bin sjis 88 Yes 1
|
||||
sjis_japanese_ci sjis 13 Yes Yes 1
|
||||
swe7_bin swe7 82 0
|
||||
swe7_swedish_ci swe7 10 Yes 0
|
||||
tis620_bin tis620 89 Yes 1
|
||||
tis620_thai_ci tis620 18 Yes Yes 4
|
||||
ucs2_bin ucs2 90 Yes 1
|
||||
ucs2_czech_ci ucs2 138 Yes 8
|
||||
ucs2_danish_ci ucs2 139 Yes 8
|
||||
ucs2_esperanto_ci ucs2 145 Yes 8
|
||||
ucs2_estonian_ci ucs2 134 Yes 8
|
||||
ucs2_general_ci ucs2 35 Yes Yes 1
|
||||
ucs2_hungarian_ci ucs2 146 Yes 8
|
||||
ucs2_icelandic_ci ucs2 129 Yes 8
|
||||
ucs2_latvian_ci ucs2 130 Yes 8
|
||||
ucs2_lithuanian_ci ucs2 140 Yes 8
|
||||
ucs2_persian_ci ucs2 144 Yes 8
|
||||
ucs2_polish_ci ucs2 133 Yes 8
|
||||
ucs2_romanian_ci ucs2 131 Yes 8
|
||||
ucs2_roman_ci ucs2 143 Yes 8
|
||||
ucs2_slovak_ci ucs2 141 Yes 8
|
||||
ucs2_slovenian_ci ucs2 132 Yes 8
|
||||
ucs2_spanish2_ci ucs2 142 Yes 8
|
||||
ucs2_spanish_ci ucs2 135 Yes 8
|
||||
ucs2_swedish_ci ucs2 136 Yes 8
|
||||
ucs2_turkish_ci ucs2 137 Yes 8
|
||||
ucs2_unicode_ci ucs2 128 Yes 8
|
||||
ujis_bin ujis 91 Yes 1
|
||||
ujis_japanese_ci ujis 12 Yes Yes 1
|
||||
utf8_bin utf8 83 Yes 1
|
||||
utf8_czech_ci utf8 202 Yes 8
|
||||
utf8_danish_ci utf8 203 Yes 8
|
||||
utf8_esperanto_ci utf8 209 Yes 8
|
||||
utf8_estonian_ci utf8 198 Yes 8
|
||||
utf8_general_ci utf8 33 Yes Yes 1
|
||||
utf8_general_cs utf8 254 Yes 1
|
||||
utf8_hungarian_ci utf8 210 Yes 8
|
||||
utf8_icelandic_ci utf8 193 Yes 8
|
||||
utf8_latvian_ci utf8 194 Yes 8
|
||||
utf8_lithuanian_ci utf8 204 Yes 8
|
||||
utf8_persian_ci utf8 208 Yes 8
|
||||
utf8_polish_ci utf8 197 Yes 8
|
||||
utf8_romanian_ci utf8 195 Yes 8
|
||||
utf8_roman_ci utf8 207 Yes 8
|
||||
utf8_slovak_ci utf8 205 Yes 8
|
||||
utf8_slovenian_ci utf8 196 Yes 8
|
||||
utf8_spanish2_ci utf8 206 Yes 8
|
||||
utf8_spanish_ci utf8 199 Yes 8
|
||||
utf8_swedish_ci utf8 200 Yes 8
|
||||
utf8_turkish_ci utf8 201 Yes 8
|
||||
utf8_unicode_ci utf8 192 Yes 8
|
||||
|
||||
|
||||
SELECT *
|
||||
FROM information_schema.collation_character_set_applicability
|
||||
ORDER BY collation_name, character_set_name;
|
||||
COLLATION_NAME CHARACTER_SET_NAME
|
||||
armscii8_bin armscii8
|
||||
armscii8_general_ci armscii8
|
||||
ascii_bin ascii
|
||||
ascii_general_ci ascii
|
||||
big5_bin big5
|
||||
big5_chinese_ci big5
|
||||
binary binary
|
||||
cp1250_bin cp1250
|
||||
cp1250_croatian_ci cp1250
|
||||
cp1250_czech_cs cp1250
|
||||
cp1250_general_ci cp1250
|
||||
cp1250_polish_ci cp1250
|
||||
cp1251_bin cp1251
|
||||
cp1251_bulgarian_ci cp1251
|
||||
cp1251_general_ci cp1251
|
||||
cp1251_general_cs cp1251
|
||||
cp1251_ukrainian_ci cp1251
|
||||
cp1256_bin cp1256
|
||||
cp1256_general_ci cp1256
|
||||
cp1257_bin cp1257
|
||||
cp1257_general_ci cp1257
|
||||
cp1257_lithuanian_ci cp1257
|
||||
cp850_bin cp850
|
||||
cp850_general_ci cp850
|
||||
cp852_bin cp852
|
||||
cp852_general_ci cp852
|
||||
cp866_bin cp866
|
||||
cp866_general_ci cp866
|
||||
cp932_bin cp932
|
||||
cp932_japanese_ci cp932
|
||||
dec8_bin dec8
|
||||
dec8_swedish_ci dec8
|
||||
eucjpms_bin eucjpms
|
||||
eucjpms_japanese_ci eucjpms
|
||||
euckr_bin euckr
|
||||
euckr_korean_ci euckr
|
||||
filename filename
|
||||
gb2312_bin gb2312
|
||||
gb2312_chinese_ci gb2312
|
||||
gbk_bin gbk
|
||||
gbk_chinese_ci gbk
|
||||
geostd8_bin geostd8
|
||||
geostd8_general_ci geostd8
|
||||
greek_bin greek
|
||||
greek_general_ci greek
|
||||
hebrew_bin hebrew
|
||||
hebrew_general_ci hebrew
|
||||
hp8_bin hp8
|
||||
hp8_english_ci hp8
|
||||
keybcs2_bin keybcs2
|
||||
keybcs2_general_ci keybcs2
|
||||
koi8r_bin koi8r
|
||||
koi8r_general_ci koi8r
|
||||
koi8u_bin koi8u
|
||||
koi8u_general_ci koi8u
|
||||
latin1_bin latin1
|
||||
latin1_danish_ci latin1
|
||||
latin1_general_ci latin1
|
||||
latin1_general_cs latin1
|
||||
latin1_german1_ci latin1
|
||||
latin1_german2_ci latin1
|
||||
latin1_spanish_ci latin1
|
||||
latin1_swedish_ci latin1
|
||||
latin2_bin latin2
|
||||
latin2_croatian_ci latin2
|
||||
latin2_czech_cs latin2
|
||||
latin2_general_ci latin2
|
||||
latin2_hungarian_ci latin2
|
||||
latin5_bin latin5
|
||||
latin5_turkish_ci latin5
|
||||
latin7_bin latin7
|
||||
latin7_estonian_cs latin7
|
||||
latin7_general_ci latin7
|
||||
latin7_general_cs latin7
|
||||
macce_bin macce
|
||||
macce_general_ci macce
|
||||
macroman_bin macroman
|
||||
macroman_general_ci macroman
|
||||
sjis_bin sjis
|
||||
sjis_japanese_ci sjis
|
||||
swe7_bin swe7
|
||||
swe7_swedish_ci swe7
|
||||
tis620_bin tis620
|
||||
tis620_thai_ci tis620
|
||||
ucs2_bin ucs2
|
||||
ucs2_czech_ci ucs2
|
||||
ucs2_danish_ci ucs2
|
||||
ucs2_esperanto_ci ucs2
|
||||
ucs2_estonian_ci ucs2
|
||||
ucs2_general_ci ucs2
|
||||
ucs2_hungarian_ci ucs2
|
||||
ucs2_icelandic_ci ucs2
|
||||
ucs2_latvian_ci ucs2
|
||||
ucs2_lithuanian_ci ucs2
|
||||
ucs2_persian_ci ucs2
|
||||
ucs2_polish_ci ucs2
|
||||
ucs2_romanian_ci ucs2
|
||||
ucs2_roman_ci ucs2
|
||||
ucs2_slovak_ci ucs2
|
||||
ucs2_slovenian_ci ucs2
|
||||
ucs2_spanish2_ci ucs2
|
||||
ucs2_spanish_ci ucs2
|
||||
ucs2_swedish_ci ucs2
|
||||
ucs2_turkish_ci ucs2
|
||||
ucs2_unicode_ci ucs2
|
||||
ujis_bin ujis
|
||||
ujis_japanese_ci ujis
|
||||
utf8_bin utf8
|
||||
utf8_czech_ci utf8
|
||||
utf8_danish_ci utf8
|
||||
utf8_esperanto_ci utf8
|
||||
utf8_estonian_ci utf8
|
||||
utf8_general_ci utf8
|
||||
utf8_general_cs utf8
|
||||
utf8_hungarian_ci utf8
|
||||
utf8_icelandic_ci utf8
|
||||
utf8_latvian_ci utf8
|
||||
utf8_lithuanian_ci utf8
|
||||
utf8_persian_ci utf8
|
||||
utf8_polish_ci utf8
|
||||
utf8_romanian_ci utf8
|
||||
utf8_roman_ci utf8
|
||||
utf8_slovak_ci utf8
|
||||
utf8_slovenian_ci utf8
|
||||
utf8_spanish2_ci utf8
|
||||
utf8_spanish_ci utf8
|
||||
utf8_swedish_ci utf8
|
||||
utf8_turkish_ci utf8
|
||||
utf8_unicode_ci utf8
|
||||
# Switch to connection default + disconnect con
|
||||
DROP USER dbdict_test@localhost;
|
309
mysql-test/suite/funcs_1/r/charset_collation_3.result
Normal file
309
mysql-test/suite/funcs_1/r/charset_collation_3.result
Normal file
|
@ -0,0 +1,309 @@
|
|||
DROP USER dbdict_test@localhost;
|
||||
CREATE USER dbdict_test@localhost;
|
||||
# Establish connection con (user=dbdict_test)
|
||||
|
||||
SELECT *
|
||||
FROM information_schema.character_sets
|
||||
ORDER BY character_set_name;
|
||||
CHARACTER_SET_NAME DEFAULT_COLLATE_NAME DESCRIPTION MAXLEN
|
||||
armscii8 armscii8_general_ci ARMSCII-8 Armenian 1
|
||||
ascii ascii_general_ci US ASCII 1
|
||||
big5 big5_chinese_ci Big5 Traditional Chinese 2
|
||||
binary binary Binary pseudo charset 1
|
||||
cp1250 cp1250_general_ci Windows Central European 1
|
||||
cp1251 cp1251_general_ci Windows Cyrillic 1
|
||||
cp1256 cp1256_general_ci Windows Arabic 1
|
||||
cp1257 cp1257_general_ci Windows Baltic 1
|
||||
cp850 cp850_general_ci DOS West European 1
|
||||
cp852 cp852_general_ci DOS Central European 1
|
||||
cp866 cp866_general_ci DOS Russian 1
|
||||
cp932 cp932_japanese_ci SJIS for Windows Japanese 2
|
||||
dec8 dec8_swedish_ci DEC West European 1
|
||||
eucjpms eucjpms_japanese_ci UJIS for Windows Japanese 3
|
||||
euckr euckr_korean_ci EUC-KR Korean 2
|
||||
gb2312 gb2312_chinese_ci GB2312 Simplified Chinese 2
|
||||
gbk gbk_chinese_ci GBK Simplified Chinese 2
|
||||
geostd8 geostd8_general_ci GEOSTD8 Georgian 1
|
||||
greek greek_general_ci ISO 8859-7 Greek 1
|
||||
hebrew hebrew_general_ci ISO 8859-8 Hebrew 1
|
||||
hp8 hp8_english_ci HP West European 1
|
||||
keybcs2 keybcs2_general_ci DOS Kamenicky Czech-Slovak 1
|
||||
koi8r koi8r_general_ci KOI8-R Relcom Russian 1
|
||||
koi8u koi8u_general_ci KOI8-U Ukrainian 1
|
||||
latin1 latin1_swedish_ci cp1252 West European 1
|
||||
latin2 latin2_general_ci ISO 8859-2 Central European 1
|
||||
latin5 latin5_turkish_ci ISO 8859-9 Turkish 1
|
||||
latin7 latin7_general_ci ISO 8859-13 Baltic 1
|
||||
macce macce_general_ci Mac Central European 1
|
||||
macroman macroman_general_ci Mac West European 1
|
||||
sjis sjis_japanese_ci Shift-JIS Japanese 2
|
||||
swe7 swe7_swedish_ci 7bit Swedish 1
|
||||
tis620 tis620_thai_ci TIS620 Thai 1
|
||||
ucs2 ucs2_general_ci UCS-2 Unicode 2
|
||||
ujis ujis_japanese_ci EUC-JP Japanese 3
|
||||
utf8 utf8_general_ci UTF-8 Unicode 3
|
||||
|
||||
SELECT *
|
||||
FROM information_schema.collations
|
||||
ORDER BY collation_name;
|
||||
COLLATION_NAME CHARACTER_SET_NAME ID IS_DEFAULT IS_COMPILED SORTLEN
|
||||
armscii8_bin armscii8 64 Yes 1
|
||||
armscii8_general_ci armscii8 32 Yes Yes 1
|
||||
ascii_bin ascii 65 Yes 1
|
||||
ascii_general_ci ascii 11 Yes Yes 1
|
||||
big5_bin big5 84 Yes 1
|
||||
big5_chinese_ci big5 1 Yes Yes 1
|
||||
binary binary 63 Yes Yes 1
|
||||
cp1250_bin cp1250 66 Yes 1
|
||||
cp1250_croatian_ci cp1250 44 Yes 1
|
||||
cp1250_czech_cs cp1250 34 Yes 2
|
||||
cp1250_general_ci cp1250 26 Yes Yes 1
|
||||
cp1251_bin cp1251 50 Yes 1
|
||||
cp1251_bulgarian_ci cp1251 14 Yes 1
|
||||
cp1251_general_ci cp1251 51 Yes Yes 1
|
||||
cp1251_general_cs cp1251 52 Yes 1
|
||||
cp1251_ukrainian_ci cp1251 23 Yes 1
|
||||
cp1256_bin cp1256 67 Yes 1
|
||||
cp1256_general_ci cp1256 57 Yes Yes 1
|
||||
cp1257_bin cp1257 58 Yes 1
|
||||
cp1257_general_ci cp1257 59 Yes Yes 1
|
||||
cp1257_lithuanian_ci cp1257 29 Yes 1
|
||||
cp850_bin cp850 80 Yes 1
|
||||
cp850_general_ci cp850 4 Yes Yes 1
|
||||
cp852_bin cp852 81 Yes 1
|
||||
cp852_general_ci cp852 40 Yes Yes 1
|
||||
cp866_bin cp866 68 Yes 1
|
||||
cp866_general_ci cp866 36 Yes Yes 1
|
||||
cp932_bin cp932 96 Yes 1
|
||||
cp932_japanese_ci cp932 95 Yes Yes 1
|
||||
dec8_bin dec8 69 Yes 1
|
||||
dec8_swedish_ci dec8 3 Yes Yes 1
|
||||
eucjpms_bin eucjpms 98 Yes 1
|
||||
eucjpms_japanese_ci eucjpms 97 Yes Yes 1
|
||||
euckr_bin euckr 85 Yes 1
|
||||
euckr_korean_ci euckr 19 Yes Yes 1
|
||||
gb2312_bin gb2312 86 Yes 1
|
||||
gb2312_chinese_ci gb2312 24 Yes Yes 1
|
||||
gbk_bin gbk 87 Yes 1
|
||||
gbk_chinese_ci gbk 28 Yes Yes 1
|
||||
geostd8_bin geostd8 93 Yes 1
|
||||
geostd8_general_ci geostd8 92 Yes Yes 1
|
||||
greek_bin greek 70 Yes 1
|
||||
greek_general_ci greek 25 Yes Yes 1
|
||||
hebrew_bin hebrew 71 Yes 1
|
||||
hebrew_general_ci hebrew 16 Yes Yes 1
|
||||
hp8_bin hp8 72 Yes 1
|
||||
hp8_english_ci hp8 6 Yes Yes 1
|
||||
keybcs2_bin keybcs2 73 Yes 1
|
||||
keybcs2_general_ci keybcs2 37 Yes Yes 1
|
||||
koi8r_bin koi8r 74 Yes 1
|
||||
koi8r_general_ci koi8r 7 Yes Yes 1
|
||||
koi8u_bin koi8u 75 Yes 1
|
||||
koi8u_general_ci koi8u 22 Yes Yes 1
|
||||
latin1_bin latin1 47 Yes 1
|
||||
latin1_danish_ci latin1 15 Yes 1
|
||||
latin1_general_ci latin1 48 Yes 1
|
||||
latin1_general_cs latin1 49 Yes 1
|
||||
latin1_german1_ci latin1 5 Yes 1
|
||||
latin1_german2_ci latin1 31 Yes 2
|
||||
latin1_spanish_ci latin1 94 Yes 1
|
||||
latin1_swedish_ci latin1 8 Yes Yes 1
|
||||
latin2_bin latin2 77 Yes 1
|
||||
latin2_croatian_ci latin2 27 Yes 1
|
||||
latin2_czech_cs latin2 2 Yes 4
|
||||
latin2_general_ci latin2 9 Yes Yes 1
|
||||
latin2_hungarian_ci latin2 21 Yes 1
|
||||
latin5_bin latin5 78 Yes 1
|
||||
latin5_turkish_ci latin5 30 Yes Yes 1
|
||||
latin7_bin latin7 79 Yes 1
|
||||
latin7_estonian_cs latin7 20 Yes 1
|
||||
latin7_general_ci latin7 41 Yes Yes 1
|
||||
latin7_general_cs latin7 42 Yes 1
|
||||
macce_bin macce 43 Yes 1
|
||||
macce_general_ci macce 38 Yes Yes 1
|
||||
macroman_bin macroman 53 Yes 1
|
||||
macroman_general_ci macroman 39 Yes Yes 1
|
||||
sjis_bin sjis 88 Yes 1
|
||||
sjis_japanese_ci sjis 13 Yes Yes 1
|
||||
swe7_bin swe7 82 Yes 1
|
||||
swe7_swedish_ci swe7 10 Yes Yes 1
|
||||
tis620_bin tis620 89 Yes 1
|
||||
tis620_thai_ci tis620 18 Yes Yes 4
|
||||
ucs2_bin ucs2 90 Yes 1
|
||||
ucs2_czech_ci ucs2 138 Yes 8
|
||||
ucs2_danish_ci ucs2 139 Yes 8
|
||||
ucs2_esperanto_ci ucs2 145 Yes 8
|
||||
ucs2_estonian_ci ucs2 134 Yes 8
|
||||
ucs2_general_ci ucs2 35 Yes Yes 1
|
||||
ucs2_hungarian_ci ucs2 146 Yes 8
|
||||
ucs2_icelandic_ci ucs2 129 Yes 8
|
||||
ucs2_latvian_ci ucs2 130 Yes 8
|
||||
ucs2_lithuanian_ci ucs2 140 Yes 8
|
||||
ucs2_persian_ci ucs2 144 Yes 8
|
||||
ucs2_polish_ci ucs2 133 Yes 8
|
||||
ucs2_romanian_ci ucs2 131 Yes 8
|
||||
ucs2_roman_ci ucs2 143 Yes 8
|
||||
ucs2_slovak_ci ucs2 141 Yes 8
|
||||
ucs2_slovenian_ci ucs2 132 Yes 8
|
||||
ucs2_spanish2_ci ucs2 142 Yes 8
|
||||
ucs2_spanish_ci ucs2 135 Yes 8
|
||||
ucs2_swedish_ci ucs2 136 Yes 8
|
||||
ucs2_turkish_ci ucs2 137 Yes 8
|
||||
ucs2_unicode_ci ucs2 128 Yes 8
|
||||
ujis_bin ujis 91 Yes 1
|
||||
ujis_japanese_ci ujis 12 Yes Yes 1
|
||||
utf8_bin utf8 83 Yes 1
|
||||
utf8_czech_ci utf8 202 Yes 8
|
||||
utf8_danish_ci utf8 203 Yes 8
|
||||
utf8_esperanto_ci utf8 209 Yes 8
|
||||
utf8_estonian_ci utf8 198 Yes 8
|
||||
utf8_general_ci utf8 33 Yes Yes 1
|
||||
utf8_hungarian_ci utf8 210 Yes 8
|
||||
utf8_icelandic_ci utf8 193 Yes 8
|
||||
utf8_latvian_ci utf8 194 Yes 8
|
||||
utf8_lithuanian_ci utf8 204 Yes 8
|
||||
utf8_persian_ci utf8 208 Yes 8
|
||||
utf8_polish_ci utf8 197 Yes 8
|
||||
utf8_romanian_ci utf8 195 Yes 8
|
||||
utf8_roman_ci utf8 207 Yes 8
|
||||
utf8_slovak_ci utf8 205 Yes 8
|
||||
utf8_slovenian_ci utf8 196 Yes 8
|
||||
utf8_spanish2_ci utf8 206 Yes 8
|
||||
utf8_spanish_ci utf8 199 Yes 8
|
||||
utf8_swedish_ci utf8 200 Yes 8
|
||||
utf8_turkish_ci utf8 201 Yes 8
|
||||
utf8_unicode_ci utf8 192 Yes 8
|
||||
|
||||
|
||||
SELECT *
|
||||
FROM information_schema.collation_character_set_applicability
|
||||
ORDER BY collation_name, character_set_name;
|
||||
COLLATION_NAME CHARACTER_SET_NAME
|
||||
armscii8_bin armscii8
|
||||
armscii8_general_ci armscii8
|
||||
ascii_bin ascii
|
||||
ascii_general_ci ascii
|
||||
big5_bin big5
|
||||
big5_chinese_ci big5
|
||||
binary binary
|
||||
cp1250_bin cp1250
|
||||
cp1250_croatian_ci cp1250
|
||||
cp1250_czech_cs cp1250
|
||||
cp1250_general_ci cp1250
|
||||
cp1251_bin cp1251
|
||||
cp1251_bulgarian_ci cp1251
|
||||
cp1251_general_ci cp1251
|
||||
cp1251_general_cs cp1251
|
||||
cp1251_ukrainian_ci cp1251
|
||||
cp1256_bin cp1256
|
||||
cp1256_general_ci cp1256
|
||||
cp1257_bin cp1257
|
||||
cp1257_general_ci cp1257
|
||||
cp1257_lithuanian_ci cp1257
|
||||
cp850_bin cp850
|
||||
cp850_general_ci cp850
|
||||
cp852_bin cp852
|
||||
cp852_general_ci cp852
|
||||
cp866_bin cp866
|
||||
cp866_general_ci cp866
|
||||
cp932_bin cp932
|
||||
cp932_japanese_ci cp932
|
||||
dec8_bin dec8
|
||||
dec8_swedish_ci dec8
|
||||
eucjpms_bin eucjpms
|
||||
eucjpms_japanese_ci eucjpms
|
||||
euckr_bin euckr
|
||||
euckr_korean_ci euckr
|
||||
gb2312_bin gb2312
|
||||
gb2312_chinese_ci gb2312
|
||||
gbk_bin gbk
|
||||
gbk_chinese_ci gbk
|
||||
geostd8_bin geostd8
|
||||
geostd8_general_ci geostd8
|
||||
greek_bin greek
|
||||
greek_general_ci greek
|
||||
hebrew_bin hebrew
|
||||
hebrew_general_ci hebrew
|
||||
hp8_bin hp8
|
||||
hp8_english_ci hp8
|
||||
keybcs2_bin keybcs2
|
||||
keybcs2_general_ci keybcs2
|
||||
koi8r_bin koi8r
|
||||
koi8r_general_ci koi8r
|
||||
koi8u_bin koi8u
|
||||
koi8u_general_ci koi8u
|
||||
latin1_bin latin1
|
||||
latin1_danish_ci latin1
|
||||
latin1_general_ci latin1
|
||||
latin1_general_cs latin1
|
||||
latin1_german1_ci latin1
|
||||
latin1_german2_ci latin1
|
||||
latin1_spanish_ci latin1
|
||||
latin1_swedish_ci latin1
|
||||
latin2_bin latin2
|
||||
latin2_croatian_ci latin2
|
||||
latin2_czech_cs latin2
|
||||
latin2_general_ci latin2
|
||||
latin2_hungarian_ci latin2
|
||||
latin5_bin latin5
|
||||
latin5_turkish_ci latin5
|
||||
latin7_bin latin7
|
||||
latin7_estonian_cs latin7
|
||||
latin7_general_ci latin7
|
||||
latin7_general_cs latin7
|
||||
macce_bin macce
|
||||
macce_general_ci macce
|
||||
macroman_bin macroman
|
||||
macroman_general_ci macroman
|
||||
sjis_bin sjis
|
||||
sjis_japanese_ci sjis
|
||||
swe7_bin swe7
|
||||
swe7_swedish_ci swe7
|
||||
tis620_bin tis620
|
||||
tis620_thai_ci tis620
|
||||
ucs2_bin ucs2
|
||||
ucs2_czech_ci ucs2
|
||||
ucs2_danish_ci ucs2
|
||||
ucs2_esperanto_ci ucs2
|
||||
ucs2_estonian_ci ucs2
|
||||
ucs2_general_ci ucs2
|
||||
ucs2_hungarian_ci ucs2
|
||||
ucs2_icelandic_ci ucs2
|
||||
ucs2_latvian_ci ucs2
|
||||
ucs2_lithuanian_ci ucs2
|
||||
ucs2_persian_ci ucs2
|
||||
ucs2_polish_ci ucs2
|
||||
ucs2_romanian_ci ucs2
|
||||
ucs2_roman_ci ucs2
|
||||
ucs2_slovak_ci ucs2
|
||||
ucs2_slovenian_ci ucs2
|
||||
ucs2_spanish2_ci ucs2
|
||||
ucs2_spanish_ci ucs2
|
||||
ucs2_swedish_ci ucs2
|
||||
ucs2_turkish_ci ucs2
|
||||
ucs2_unicode_ci ucs2
|
||||
ujis_bin ujis
|
||||
ujis_japanese_ci ujis
|
||||
utf8_bin utf8
|
||||
utf8_czech_ci utf8
|
||||
utf8_danish_ci utf8
|
||||
utf8_esperanto_ci utf8
|
||||
utf8_estonian_ci utf8
|
||||
utf8_general_ci utf8
|
||||
utf8_hungarian_ci utf8
|
||||
utf8_icelandic_ci utf8
|
||||
utf8_latvian_ci utf8
|
||||
utf8_lithuanian_ci utf8
|
||||
utf8_persian_ci utf8
|
||||
utf8_polish_ci utf8
|
||||
utf8_romanian_ci utf8
|
||||
utf8_roman_ci utf8
|
||||
utf8_slovak_ci utf8
|
||||
utf8_slovenian_ci utf8
|
||||
utf8_spanish2_ci utf8
|
||||
utf8_spanish_ci utf8
|
||||
utf8_swedish_ci utf8
|
||||
utf8_turkish_ci utf8
|
||||
utf8_unicode_ci utf8
|
||||
# Switch to connection default + disconnect con
|
||||
DROP USER dbdict_test@localhost;
|
|
@ -1,22 +0,0 @@
|
|||
DELETE FROM mysql.help_category LIMIT <number>;
|
||||
DELETE FROM mysql.help_keyword LIMIT <number>;
|
||||
DELETE FROM mysql.help_relation LIMIT <number>;
|
||||
DELETE FROM mysql.help_topic LIMIT <number>;
|
||||
SELECT * FROM INFORMATION_SCHEMA.TABLES
|
||||
WHERE TABLE_SCHEMA = 'mysql' AND TABLE_NAME LIKE 'help_%';
|
||||
TABLE_CATALOG TABLE_SCHEMA TABLE_NAME TABLE_TYPE ENGINE VERSION ROW_FORMAT TABLE_ROWS AVG_ROW_LENGTH DATA_LENGTH MAX_DATA_LENGTH INDEX_LENGTH DATA_FREE AUTO_INCREMENT CREATE_TIME UPDATE_TIME CHECK_TIME TABLE_COLLATION CHECKSUM CREATE_OPTIONS TABLE_COMMENT
|
||||
NULL mysql help_category BASE TABLE MyISAM 10 Fixed 30 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL help categories
|
||||
NULL mysql help_keyword BASE TABLE MyISAM 10 Fixed 320 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL help keywords
|
||||
NULL mysql help_relation BASE TABLE MyISAM 10 Fixed 640 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL keyword-topic relation
|
||||
NULL mysql help_topic BASE TABLE MyISAM 10 Dynamic 380 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL help topics
|
||||
SELECT * FROM INFORMATION_SCHEMA.STATISTICS
|
||||
WHERE TABLE_SCHEMA = 'mysql' AND TABLE_NAME LIKE 'help_%';
|
||||
TABLE_CATALOG TABLE_SCHEMA TABLE_NAME NON_UNIQUE INDEX_SCHEMA INDEX_NAME SEQ_IN_INDEX COLUMN_NAME COLLATION CARDINALITY SUB_PART PACKED NULLABLE INDEX_TYPE COMMENT
|
||||
NULL mysql help_category 0 mysql PRIMARY 1 help_category_id A 30 NULL NULL BTREE
|
||||
NULL mysql help_category 0 mysql name 1 name A 30 NULL NULL BTREE
|
||||
NULL mysql help_keyword 0 mysql PRIMARY 1 help_keyword_id A 320 NULL NULL BTREE
|
||||
NULL mysql help_keyword 0 mysql name 1 name A 320 NULL NULL BTREE
|
||||
NULL mysql help_relation 0 mysql PRIMARY 1 help_keyword_id A NULL NULL NULL BTREE
|
||||
NULL mysql help_relation 0 mysql PRIMARY 2 help_topic_id A 640 NULL NULL BTREE
|
||||
NULL mysql help_topic 0 mysql PRIMARY 1 help_topic_id A 380 NULL NULL BTREE
|
||||
NULL mysql help_topic 0 mysql name 1 name A 380 NULL NULL BTREE
|
|
@ -1,18 +0,0 @@
|
|||
SELECT * FROM INFORMATION_SCHEMA.TABLES
|
||||
WHERE TABLE_SCHEMA = 'mysql' AND TABLE_NAME LIKE 'help_%';
|
||||
TABLE_CATALOG TABLE_SCHEMA TABLE_NAME TABLE_TYPE ENGINE VERSION ROW_FORMAT TABLE_ROWS AVG_ROW_LENGTH DATA_LENGTH MAX_DATA_LENGTH INDEX_LENGTH DATA_FREE AUTO_INCREMENT CREATE_TIME UPDATE_TIME CHECK_TIME TABLE_COLLATION CHECKSUM CREATE_OPTIONS TABLE_COMMENT
|
||||
NULL mysql help_category BASE TABLE MyISAM 10 Fixed 0 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL help categories
|
||||
NULL mysql help_keyword BASE TABLE MyISAM 10 Fixed 0 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL help keywords
|
||||
NULL mysql help_relation BASE TABLE MyISAM 10 Fixed 0 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL keyword-topic relation
|
||||
NULL mysql help_topic BASE TABLE MyISAM 10 Dynamic 0 #ARL# #DL# #MDL# #IL# #DF# NULL YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss YYYY-MM-DD hh:mm:ss utf8_general_ci NULL help topics
|
||||
SELECT * FROM INFORMATION_SCHEMA.STATISTICS
|
||||
WHERE TABLE_SCHEMA = 'mysql' AND TABLE_NAME LIKE 'help_%';
|
||||
TABLE_CATALOG TABLE_SCHEMA TABLE_NAME NON_UNIQUE INDEX_SCHEMA INDEX_NAME SEQ_IN_INDEX COLUMN_NAME COLLATION CARDINALITY SUB_PART PACKED NULLABLE INDEX_TYPE COMMENT
|
||||
NULL mysql help_category 0 mysql PRIMARY 1 help_category_id A 0 NULL NULL BTREE
|
||||
NULL mysql help_category 0 mysql name 1 name A 0 NULL NULL BTREE
|
||||
NULL mysql help_keyword 0 mysql PRIMARY 1 help_keyword_id A 0 NULL NULL BTREE
|
||||
NULL mysql help_keyword 0 mysql name 1 name A 0 NULL NULL BTREE
|
||||
NULL mysql help_relation 0 mysql PRIMARY 1 help_keyword_id A NULL NULL NULL BTREE
|
||||
NULL mysql help_relation 0 mysql PRIMARY 2 help_topic_id A 0 NULL NULL BTREE
|
||||
NULL mysql help_topic 0 mysql PRIMARY 1 help_topic_id A 0 NULL NULL BTREE
|
||||
NULL mysql help_topic 0 mysql name 1 name A 0 NULL NULL BTREE
|
File diff suppressed because it is too large
Load diff
|
@ -1 +0,0 @@
|
|||
SET @NO_REFRESH = IF( '' = '', 0, 1);
|
|
@ -1,67 +1,3 @@
|
|||
SET @NO_REFRESH = IF( '' = '', 0, 1);
|
||||
USE test;
|
||||
drop table if exists tb4;
|
||||
create table tb4 (
|
||||
f176 numeric (0) unsigned not null DEFAULT 9,
|
||||
f177 numeric (64) unsigned not null DEFAULT 9,
|
||||
f178 numeric (0) zerofill not null DEFAULT 9,
|
||||
f179 numeric (64) zerofill not null DEFAULT 9,
|
||||
f180 numeric (0) unsigned zerofill not null DEFAULT 9,
|
||||
f181 numeric (64) unsigned zerofill not null DEFAULT 9,
|
||||
f182 numeric (0,0) not null DEFAULT 9,
|
||||
f183 numeric (63,30) not null DEFAULT 9,
|
||||
f184 numeric (0,0) unsigned not null DEFAULT 9,
|
||||
f185 numeric (63,30) unsigned not null DEFAULT 9,
|
||||
f186 numeric (0,0) zerofill not null DEFAULT 9,
|
||||
f187 numeric (63,30) zerofill not null DEFAULT 9,
|
||||
f188 numeric (0,0) unsigned zerofill not null DEFAULT 9,
|
||||
f189 numeric (63,30) unsigned zerofill not null DEFAULT 9,
|
||||
f190 real not null DEFAULT 88.8,
|
||||
f191 real unsigned not null DEFAULT 88.8,
|
||||
f192 real zerofill not null DEFAULT 88.8,
|
||||
f193 real unsigned zerofill not null DEFAULT 88.8,
|
||||
f194 double not null DEFAULT 55.5,
|
||||
f195 double unsigned not null DEFAULT 55.5,
|
||||
f196 double zerofill not null DEFAULT 55.5,
|
||||
f197 double unsigned zerofill not null DEFAULT 55.5,
|
||||
f198 float,
|
||||
f199 float unsigned,
|
||||
f200 float zerofill,
|
||||
f201 float unsigned zerofill,
|
||||
f202 float(0),
|
||||
f203 float(23),
|
||||
f204 float(0) unsigned,
|
||||
f205 float(23) unsigned,
|
||||
f206 float(0) zerofill,
|
||||
f207 float(23) zerofill,
|
||||
f208 float(0) unsigned zerofill,
|
||||
f209 float(23) unsigned zerofill,
|
||||
f210 float(24),
|
||||
f211 float(53),
|
||||
f212 float(24) unsigned,
|
||||
f213 float(53) unsigned,
|
||||
f214 float(24) zerofill,
|
||||
f215 float(53) zerofill,
|
||||
f216 float(24) unsigned zerofill,
|
||||
f217 float(53) unsigned zerofill,
|
||||
f218 date,
|
||||
f219 time,
|
||||
f220 datetime,
|
||||
f221 timestamp,
|
||||
f222 year,
|
||||
f223 year(3),
|
||||
f224 year(4),
|
||||
f225 enum("1enum","2enum"),
|
||||
f226 set("1set","2set"),
|
||||
f235 char(0) unicode,
|
||||
f236 char(90),
|
||||
f237 char(255) ascii,
|
||||
f238 varchar(0),
|
||||
f239 varchar(20000) binary,
|
||||
f240 varchar(2000) unicode,
|
||||
f241 char(100) unicode
|
||||
) engine = innodb;
|
||||
load data infile 'MYSQL_TEST_DIR/suite/funcs_1/data/innodb_tb4.txt' into table tb4 ;
|
||||
|
||||
NOT YET IMPLEMENTED: bitdata tests
|
||||
--------------------------------------------------------------------------------
|
||||
|
|
|
@ -1,81 +1,3 @@
|
|||
SET @NO_REFRESH = IF( '' = '', 0, 1);
|
||||
USE test;
|
||||
drop table if exists tb1 ;
|
||||
create table tb1 (
|
||||
f1 char(0),
|
||||
f2 char(0) binary,
|
||||
f3 char(0) ascii,
|
||||
f4 tinytext unicode,
|
||||
f5 text,
|
||||
f6 mediumtext,
|
||||
f7 longtext,
|
||||
f8 tinyblob,
|
||||
f9 blob,
|
||||
f10 mediumblob,
|
||||
f11 longblob,
|
||||
f12 binary,
|
||||
f13 tinyint,
|
||||
f14 tinyint unsigned,
|
||||
f15 tinyint zerofill,
|
||||
f16 tinyint unsigned zerofill,
|
||||
f17 smallint,
|
||||
f18 smallint unsigned,
|
||||
f19 smallint zerofill,
|
||||
f20 smallint unsigned zerofill,
|
||||
f21 mediumint,
|
||||
f22 mediumint unsigned,
|
||||
f23 mediumint zerofill,
|
||||
f24 mediumint unsigned zerofill,
|
||||
f25 int,
|
||||
f26 int unsigned,
|
||||
f27 int zerofill,
|
||||
f28 int unsigned zerofill,
|
||||
f29 bigint,
|
||||
f30 bigint unsigned,
|
||||
f31 bigint zerofill,
|
||||
f32 bigint unsigned zerofill,
|
||||
f33 decimal,
|
||||
f34 decimal unsigned,
|
||||
f35 decimal zerofill,
|
||||
f36 decimal unsigned zerofill not null DEFAULT 9.9,
|
||||
f37 decimal (0) not null DEFAULT 9.9,
|
||||
f38 decimal (64) not null DEFAULT 9.9,
|
||||
f39 decimal (0) unsigned not null DEFAULT 9.9,
|
||||
f40 decimal (64) unsigned not null DEFAULT 9.9,
|
||||
f41 decimal (0) zerofill not null DEFAULT 9.9,
|
||||
f42 decimal (64) zerofill not null DEFAULT 9.9,
|
||||
f43 decimal (0) unsigned zerofill not null DEFAULT 9.9,
|
||||
f44 decimal (64) unsigned zerofill not null DEFAULT 9.9,
|
||||
f45 decimal (0,0) not null DEFAULT 9.9,
|
||||
f46 decimal (63,30) not null DEFAULT 9.9,
|
||||
f47 decimal (0,0) unsigned not null DEFAULT 9.9,
|
||||
f48 decimal (63,30) unsigned not null DEFAULT 9.9,
|
||||
f49 decimal (0,0) zerofill not null DEFAULT 9.9,
|
||||
f50 decimal (63,30) zerofill not null DEFAULT 9.9,
|
||||
f51 decimal (0,0) unsigned zerofill not null DEFAULT 9.9,
|
||||
f52 decimal (63,30) unsigned zerofill not null DEFAULT 9.9,
|
||||
f53 numeric not null DEFAULT 99,
|
||||
f54 numeric unsigned not null DEFAULT 99,
|
||||
f55 numeric zerofill not null DEFAULT 99,
|
||||
f56 numeric unsigned zerofill not null DEFAULT 99,
|
||||
f57 numeric (0) not null DEFAULT 99,
|
||||
f58 numeric (64) not null DEFAULT 99
|
||||
) engine = innodb;
|
||||
Warnings:
|
||||
Note 1265 Data truncated for column 'f36' at row 1
|
||||
Note 1265 Data truncated for column 'f37' at row 1
|
||||
Note 1265 Data truncated for column 'f38' at row 1
|
||||
Note 1265 Data truncated for column 'f39' at row 1
|
||||
Note 1265 Data truncated for column 'f40' at row 1
|
||||
Note 1265 Data truncated for column 'f41' at row 1
|
||||
Note 1265 Data truncated for column 'f42' at row 1
|
||||
Note 1265 Data truncated for column 'f43' at row 1
|
||||
Note 1265 Data truncated for column 'f44' at row 1
|
||||
Note 1265 Data truncated for column 'f45' at row 1
|
||||
Note 1265 Data truncated for column 'f47' at row 1
|
||||
Note 1265 Data truncated for column 'f49' at row 1
|
||||
Note 1265 Data truncated for column 'f51' at row 1
|
||||
load data infile 'MYSQL_TEST_DIR/suite/funcs_1/data/innodb_tb1.txt' into table tb1 ;
|
||||
|
||||
NOT YET IMPLEMENTED: cursor tests
|
||||
--------------------------------------------------------------------------------
|
||||
|
|
|
@ -307,7 +307,7 @@ A ---äÖüß@µ*$-- ---äÖüß@µ*$-- 4
|
|||
A-1 -1 5
|
||||
SHOW CREATE VIEW v1;
|
||||
View Create View character_set_client collation_connection
|
||||
v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select concat(_latin1'A',`t1_values`.`my_char_30`) AS `CONCAT('A',my_char_30)`,`t1_values`.`my_char_30` AS `my_char_30`,`t1_values`.`id` AS `id` from `t1_values` latin1 latin1_swedish_ci
|
||||
v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select concat('A',`t1_values`.`my_char_30`) AS `CONCAT('A',my_char_30)`,`t1_values`.`my_char_30` AS `my_char_30`,`t1_values`.`id` AS `id` from `t1_values` latin1 latin1_swedish_ci
|
||||
SELECT v1.* FROM v1
|
||||
WHERE v1.id IN (SELECT id FROM t1_values
|
||||
WHERE select_id = 192 OR select_id IS NULL) order by id;
|
||||
|
@ -439,7 +439,7 @@ my_decimal, id FROM t1_values
|
|||
WHERE select_id = 183 OR select_id IS NULL order by id;
|
||||
SHOW CREATE VIEW v1;
|
||||
View Create View character_set_client collation_connection
|
||||
v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select locate(_latin1'-',_latin1' - -ABC',`t1_values`.`my_decimal`) AS `LOCATE('-', ' - -ABC', my_decimal)`,`t1_values`.`my_decimal` AS `my_decimal`,`t1_values`.`id` AS `id` from `t1_values` latin1 latin1_swedish_ci
|
||||
v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select locate('-',' - -ABC',`t1_values`.`my_decimal`) AS `LOCATE('-', ' - -ABC', my_decimal)`,`t1_values`.`my_decimal` AS `my_decimal`,`t1_values`.`id` AS `id` from `t1_values` latin1 latin1_swedish_ci
|
||||
SELECT v1.* FROM v1
|
||||
WHERE v1.id IN (SELECT id FROM t1_values
|
||||
WHERE select_id = 183 OR select_id IS NULL) order by id;
|
||||
|
@ -453,7 +453,7 @@ my_double, id FROM t1_values
|
|||
WHERE select_id = 182 OR select_id IS NULL order by id;
|
||||
SHOW CREATE VIEW v1;
|
||||
View Create View character_set_client collation_connection
|
||||
v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select locate(_latin1'-',_latin1' - -ABC',`t1_values`.`my_double`) AS `LOCATE('-', ' - -ABC', my_double)`,`t1_values`.`my_double` AS `my_double`,`t1_values`.`id` AS `id` from `t1_values` latin1 latin1_swedish_ci
|
||||
v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select locate('-',' - -ABC',`t1_values`.`my_double`) AS `LOCATE('-', ' - -ABC', my_double)`,`t1_values`.`my_double` AS `my_double`,`t1_values`.`id` AS `id` from `t1_values` latin1 latin1_swedish_ci
|
||||
SELECT v1.* FROM v1
|
||||
WHERE v1.id IN (SELECT id FROM t1_values
|
||||
WHERE select_id = 182 OR select_id IS NULL) order by id;
|
||||
|
@ -467,7 +467,7 @@ my_bigint, id FROM t1_values
|
|||
WHERE select_id = 181 OR select_id IS NULL order by id;
|
||||
SHOW CREATE VIEW v1;
|
||||
View Create View character_set_client collation_connection
|
||||
v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select locate(_latin1'-',_latin1' - -ABC',`t1_values`.`my_bigint`) AS `LOCATE('-', ' - -ABC', my_bigint)`,`t1_values`.`my_bigint` AS `my_bigint`,`t1_values`.`id` AS `id` from `t1_values` latin1 latin1_swedish_ci
|
||||
v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select locate('-',' - -ABC',`t1_values`.`my_bigint`) AS `LOCATE('-', ' - -ABC', my_bigint)`,`t1_values`.`my_bigint` AS `my_bigint`,`t1_values`.`id` AS `id` from `t1_values` latin1 latin1_swedish_ci
|
||||
SELECT v1.* FROM v1
|
||||
WHERE v1.id IN (SELECT id FROM t1_values
|
||||
WHERE select_id = 181 OR select_id IS NULL) order by id;
|
||||
|
@ -481,7 +481,7 @@ my_varbinary_1000, id FROM t1_values
|
|||
WHERE select_id = 180 OR select_id IS NULL order by id;
|
||||
SHOW CREATE VIEW v1;
|
||||
View Create View character_set_client collation_connection
|
||||
v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select locate(_latin1'-',`t1_values`.`my_varbinary_1000`,3) AS `LOCATE('-', my_varbinary_1000, 3)`,`t1_values`.`my_varbinary_1000` AS `my_varbinary_1000`,`t1_values`.`id` AS `id` from `t1_values` latin1 latin1_swedish_ci
|
||||
v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select locate('-',`t1_values`.`my_varbinary_1000`,3) AS `LOCATE('-', my_varbinary_1000, 3)`,`t1_values`.`my_varbinary_1000` AS `my_varbinary_1000`,`t1_values`.`id` AS `id` from `t1_values` latin1 latin1_swedish_ci
|
||||
SELECT v1.* FROM v1
|
||||
WHERE v1.id IN (SELECT id FROM t1_values
|
||||
WHERE select_id = 180 OR select_id IS NULL) order by id;
|
||||
|
@ -495,7 +495,7 @@ my_binary_30, id FROM t1_values
|
|||
WHERE select_id = 179 OR select_id IS NULL order by id;
|
||||
SHOW CREATE VIEW v1;
|
||||
View Create View character_set_client collation_connection
|
||||
v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select locate(_latin1'-',`t1_values`.`my_binary_30`,3) AS `LOCATE('-', my_binary_30, 3)`,`t1_values`.`my_binary_30` AS `my_binary_30`,`t1_values`.`id` AS `id` from `t1_values` latin1 latin1_swedish_ci
|
||||
v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select locate('-',`t1_values`.`my_binary_30`,3) AS `LOCATE('-', my_binary_30, 3)`,`t1_values`.`my_binary_30` AS `my_binary_30`,`t1_values`.`id` AS `id` from `t1_values` latin1 latin1_swedish_ci
|
||||
SELECT v1.* FROM v1
|
||||
WHERE v1.id IN (SELECT id FROM t1_values
|
||||
WHERE select_id = 179 OR select_id IS NULL) order by id;
|
||||
|
@ -509,7 +509,7 @@ my_varchar_1000, id FROM t1_values
|
|||
WHERE select_id = 178 OR select_id IS NULL order by id;
|
||||
SHOW CREATE VIEW v1;
|
||||
View Create View character_set_client collation_connection
|
||||
v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select locate(_latin1'-',`t1_values`.`my_varchar_1000`,3) AS `LOCATE('-', my_varchar_1000, 3)`,`t1_values`.`my_varchar_1000` AS `my_varchar_1000`,`t1_values`.`id` AS `id` from `t1_values` latin1 latin1_swedish_ci
|
||||
v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select locate('-',`t1_values`.`my_varchar_1000`,3) AS `LOCATE('-', my_varchar_1000, 3)`,`t1_values`.`my_varchar_1000` AS `my_varchar_1000`,`t1_values`.`id` AS `id` from `t1_values` latin1 latin1_swedish_ci
|
||||
SELECT v1.* FROM v1
|
||||
WHERE v1.id IN (SELECT id FROM t1_values
|
||||
WHERE select_id = 178 OR select_id IS NULL) order by id;
|
||||
|
@ -523,7 +523,7 @@ my_char_30, id FROM t1_values
|
|||
WHERE select_id = 177 OR select_id IS NULL order by id;
|
||||
SHOW CREATE VIEW v1;
|
||||
View Create View character_set_client collation_connection
|
||||
v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select locate(_latin1'-',`t1_values`.`my_char_30`,3) AS `LOCATE('-', my_char_30, 3)`,`t1_values`.`my_char_30` AS `my_char_30`,`t1_values`.`id` AS `id` from `t1_values` latin1 latin1_swedish_ci
|
||||
v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select locate('-',`t1_values`.`my_char_30`,3) AS `LOCATE('-', my_char_30, 3)`,`t1_values`.`my_char_30` AS `my_char_30`,`t1_values`.`id` AS `id` from `t1_values` latin1 latin1_swedish_ci
|
||||
SELECT v1.* FROM v1
|
||||
WHERE v1.id IN (SELECT id FROM t1_values
|
||||
WHERE select_id = 177 OR select_id IS NULL) order by id;
|
||||
|
@ -761,7 +761,7 @@ my_varbinary_1000, id FROM t1_values
|
|||
WHERE select_id = 160 OR select_id IS NULL order by id;
|
||||
SHOW CREATE VIEW v1;
|
||||
View Create View character_set_client collation_connection
|
||||
v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select locate(_latin1'char',`t1_values`.`my_varbinary_1000`) AS `LOCATE('char', my_varbinary_1000)`,`t1_values`.`my_varbinary_1000` AS `my_varbinary_1000`,`t1_values`.`id` AS `id` from `t1_values` latin1 latin1_swedish_ci
|
||||
v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select locate('char',`t1_values`.`my_varbinary_1000`) AS `LOCATE('char', my_varbinary_1000)`,`t1_values`.`my_varbinary_1000` AS `my_varbinary_1000`,`t1_values`.`id` AS `id` from `t1_values` latin1 latin1_swedish_ci
|
||||
SELECT v1.* FROM v1
|
||||
WHERE v1.id IN (SELECT id FROM t1_values
|
||||
WHERE select_id = 160 OR select_id IS NULL) order by id;
|
||||
|
@ -775,7 +775,7 @@ my_binary_30, id FROM t1_values
|
|||
WHERE select_id = 159 OR select_id IS NULL order by id;
|
||||
SHOW CREATE VIEW v1;
|
||||
View Create View character_set_client collation_connection
|
||||
v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select locate(_latin1'char',`t1_values`.`my_binary_30`) AS `LOCATE('char', my_binary_30)`,`t1_values`.`my_binary_30` AS `my_binary_30`,`t1_values`.`id` AS `id` from `t1_values` latin1 latin1_swedish_ci
|
||||
v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select locate('char',`t1_values`.`my_binary_30`) AS `LOCATE('char', my_binary_30)`,`t1_values`.`my_binary_30` AS `my_binary_30`,`t1_values`.`id` AS `id` from `t1_values` latin1 latin1_swedish_ci
|
||||
SELECT v1.* FROM v1
|
||||
WHERE v1.id IN (SELECT id FROM t1_values
|
||||
WHERE select_id = 159 OR select_id IS NULL) order by id;
|
||||
|
@ -789,7 +789,7 @@ my_varchar_1000, id FROM t1_values
|
|||
WHERE select_id = 158 OR select_id IS NULL order by id;
|
||||
SHOW CREATE VIEW v1;
|
||||
View Create View character_set_client collation_connection
|
||||
v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select locate(_latin1'char',`t1_values`.`my_varchar_1000`) AS `LOCATE('char', my_varchar_1000)`,`t1_values`.`my_varchar_1000` AS `my_varchar_1000`,`t1_values`.`id` AS `id` from `t1_values` latin1 latin1_swedish_ci
|
||||
v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select locate('char',`t1_values`.`my_varchar_1000`) AS `LOCATE('char', my_varchar_1000)`,`t1_values`.`my_varchar_1000` AS `my_varchar_1000`,`t1_values`.`id` AS `id` from `t1_values` latin1 latin1_swedish_ci
|
||||
SELECT v1.* FROM v1
|
||||
WHERE v1.id IN (SELECT id FROM t1_values
|
||||
WHERE select_id = 158 OR select_id IS NULL) order by id;
|
||||
|
@ -803,7 +803,7 @@ my_char_30, id FROM t1_values
|
|||
WHERE select_id = 157 OR select_id IS NULL order by id;
|
||||
SHOW CREATE VIEW v1;
|
||||
View Create View character_set_client collation_connection
|
||||
v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select locate(_latin1'char',`t1_values`.`my_char_30`) AS `LOCATE('char', my_char_30)`,`t1_values`.`my_char_30` AS `my_char_30`,`t1_values`.`id` AS `id` from `t1_values` latin1 latin1_swedish_ci
|
||||
v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select locate('char',`t1_values`.`my_char_30`) AS `LOCATE('char', my_char_30)`,`t1_values`.`my_char_30` AS `my_char_30`,`t1_values`.`id` AS `id` from `t1_values` latin1 latin1_swedish_ci
|
||||
SELECT v1.* FROM v1
|
||||
WHERE v1.id IN (SELECT id FROM t1_values
|
||||
WHERE select_id = 157 OR select_id IS NULL) order by id;
|
||||
|
@ -826,7 +826,7 @@ LOAD_FILE('../tmp/func_view.dat') id
|
|||
5
|
||||
SHOW CREATE VIEW v1;
|
||||
View Create View character_set_client collation_connection
|
||||
v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select load_file(_latin1'../tmp/func_view.dat') AS `LOAD_FILE('../tmp/func_view.dat')`,`t1_values`.`id` AS `id` from `t1_values` latin1 latin1_swedish_ci
|
||||
v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select load_file('../tmp/func_view.dat') AS `LOAD_FILE('../tmp/func_view.dat')`,`t1_values`.`id` AS `id` from `t1_values` latin1 latin1_swedish_ci
|
||||
SELECT v1.* FROM v1
|
||||
WHERE v1.id IN (SELECT id FROM t1_values
|
||||
WHERE select_id = 156 OR select_id IS NULL) order by id;
|
||||
|
@ -914,7 +914,7 @@ Warning 1292 Truncated incorrect INTEGER value: '-1.7976931348623e+308'
|
|||
Warning 1292 Truncated incorrect INTEGER value: '1.7976931348623e+308'
|
||||
SHOW CREATE VIEW v1;
|
||||
View Create View character_set_client collation_connection
|
||||
v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select left(_latin1'AaBbCcDdEeFfGgHhIiJjÄäÜüÖö',`t1_values`.`my_double`) AS `LEFT('AaBbCcDdEeFfGgHhIiJjÄäÜüÖö', my_double)`,`t1_values`.`my_double` AS `my_double`,`t1_values`.`id` AS `id` from `t1_values` latin1 latin1_swedish_ci
|
||||
v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select left('AaBbCcDdEeFfGgHhIiJjÄäÜüÖö',`t1_values`.`my_double`) AS `LEFT('AaBbCcDdEeFfGgHhIiJjÄäÜüÖö', my_double)`,`t1_values`.`my_double` AS `my_double`,`t1_values`.`id` AS `id` from `t1_values` latin1 latin1_swedish_ci
|
||||
SELECT v1.* FROM v1
|
||||
WHERE v1.id IN (SELECT id FROM t1_values
|
||||
WHERE select_id = 151 OR select_id IS NULL) order by id;
|
||||
|
@ -944,7 +944,7 @@ Error 1292 Truncated incorrect DECIMAL value: ''
|
|||
Error 1292 Truncated incorrect DECIMAL value: ''
|
||||
SHOW CREATE VIEW v1;
|
||||
View Create View character_set_client collation_connection
|
||||
v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select left(_latin1'AaBbCcDdEeFfGgHhIiJjÄäÜüÖö',`t1_values`.`my_decimal`) AS `LEFT('AaBbCcDdEeFfGgHhIiJjÄäÜüÖö', my_decimal)`,`t1_values`.`my_decimal` AS `my_decimal`,`t1_values`.`id` AS `id` from `t1_values` latin1 latin1_swedish_ci
|
||||
v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select left('AaBbCcDdEeFfGgHhIiJjÄäÜüÖö',`t1_values`.`my_decimal`) AS `LEFT('AaBbCcDdEeFfGgHhIiJjÄäÜüÖö', my_decimal)`,`t1_values`.`my_decimal` AS `my_decimal`,`t1_values`.`id` AS `id` from `t1_values` latin1 latin1_swedish_ci
|
||||
SELECT v1.* FROM v1
|
||||
WHERE v1.id IN (SELECT id FROM t1_values
|
||||
WHERE select_id = 150 OR select_id IS NULL) order by id;
|
||||
|
@ -971,7 +971,7 @@ AaBbCcDdEeFfGgHhIiJjÄäÜüÖö 9223372036854775807 3
|
|||
-1 5
|
||||
SHOW CREATE VIEW v1;
|
||||
View Create View character_set_client collation_connection
|
||||
v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select left(_latin1'AaBbCcDdEeFfGgHhIiJjÄäÜüÖö',`t1_values`.`my_bigint`) AS `LEFT('AaBbCcDdEeFfGgHhIiJjÄäÜüÖö', my_bigint)`,`t1_values`.`my_bigint` AS `my_bigint`,`t1_values`.`id` AS `id` from `t1_values` latin1 latin1_swedish_ci
|
||||
v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select left('AaBbCcDdEeFfGgHhIiJjÄäÜüÖö',`t1_values`.`my_bigint`) AS `LEFT('AaBbCcDdEeFfGgHhIiJjÄäÜüÖö', my_bigint)`,`t1_values`.`my_bigint` AS `my_bigint`,`t1_values`.`id` AS `id` from `t1_values` latin1 latin1_swedish_ci
|
||||
SELECT v1.* FROM v1
|
||||
WHERE v1.id IN (SELECT id FROM t1_values
|
||||
WHERE select_id = 149 OR select_id IS NULL) order by id;
|
||||
|
@ -1101,7 +1101,7 @@ my_char_30, id FROM t1_values
|
|||
WHERE select_id = 143 OR select_id IS NULL order by id;
|
||||
SHOW CREATE VIEW v1;
|
||||
View Create View character_set_client collation_connection
|
||||
v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select locate(_latin1'char',`t1_values`.`my_char_30`) AS `INSTR(my_char_30, 'char')`,`t1_values`.`my_char_30` AS `my_char_30`,`t1_values`.`id` AS `id` from `t1_values` latin1 latin1_swedish_ci
|
||||
v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select locate('char',`t1_values`.`my_char_30`) AS `INSTR(my_char_30, 'char')`,`t1_values`.`my_char_30` AS `my_char_30`,`t1_values`.`id` AS `id` from `t1_values` latin1 latin1_swedish_ci
|
||||
SELECT v1.* FROM v1
|
||||
WHERE v1.id IN (SELECT id FROM t1_values
|
||||
WHERE select_id = 143 OR select_id IS NULL) order by id;
|
||||
|
@ -1225,7 +1225,7 @@ IS_NULL NULL 1
|
|||
2005 2005 5
|
||||
SHOW CREATE VIEW v1;
|
||||
View Create View character_set_client collation_connection
|
||||
v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select ifnull(`t1_values`.`my_year`,_latin1'IS_NULL') AS `IFNULL(my_year,'IS_NULL')`,`t1_values`.`my_year` AS `my_year`,`t1_values`.`id` AS `id` from `t1_values` latin1 latin1_swedish_ci
|
||||
v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select ifnull(`t1_values`.`my_year`,'IS_NULL') AS `IFNULL(my_year,'IS_NULL')`,`t1_values`.`my_year` AS `my_year`,`t1_values`.`id` AS `id` from `t1_values` latin1 latin1_swedish_ci
|
||||
SELECT v1.* FROM v1
|
||||
WHERE v1.id IN (SELECT id FROM t1_values
|
||||
WHERE select_id = 138 OR select_id IS NULL) order by id;
|
||||
|
@ -1251,7 +1251,7 @@ IS_NULL NULL 1
|
|||
10:00:00 10:00:00 5
|
||||
SHOW CREATE VIEW v1;
|
||||
View Create View character_set_client collation_connection
|
||||
v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select ifnull(`t1_values`.`my_time`,_latin1'IS_NULL') AS `IFNULL(my_time,'IS_NULL')`,`t1_values`.`my_time` AS `my_time`,`t1_values`.`id` AS `id` from `t1_values` latin1 latin1_swedish_ci
|
||||
v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select ifnull(`t1_values`.`my_time`,'IS_NULL') AS `IFNULL(my_time,'IS_NULL')`,`t1_values`.`my_time` AS `my_time`,`t1_values`.`id` AS `id` from `t1_values` latin1 latin1_swedish_ci
|
||||
SELECT v1.* FROM v1
|
||||
WHERE v1.id IN (SELECT id FROM t1_values
|
||||
WHERE select_id = 137 OR select_id IS NULL) order by id;
|
||||
|
@ -1277,7 +1277,7 @@ IFNULL(my_timestamp,'IS_NULL') my_timestamp id
|
|||
2005-06-28 10:00:00 2005-06-28 10:00:00 5
|
||||
SHOW CREATE VIEW v1;
|
||||
View Create View character_set_client collation_connection
|
||||
v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select ifnull(`t1_values`.`my_timestamp`,_latin1'IS_NULL') AS `IFNULL(my_timestamp,'IS_NULL')`,`t1_values`.`my_timestamp` AS `my_timestamp`,`t1_values`.`id` AS `id` from `t1_values` latin1 latin1_swedish_ci
|
||||
v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select ifnull(`t1_values`.`my_timestamp`,'IS_NULL') AS `IFNULL(my_timestamp,'IS_NULL')`,`t1_values`.`my_timestamp` AS `my_timestamp`,`t1_values`.`id` AS `id` from `t1_values` latin1 latin1_swedish_ci
|
||||
SELECT v1.* FROM v1
|
||||
WHERE v1.id IN (SELECT id FROM t1_values
|
||||
WHERE select_id = 136 OR select_id IS NULL) order by id;
|
||||
|
@ -1303,7 +1303,7 @@ IS_NULL NULL 1
|
|||
2005-06-28 2005-06-28 5
|
||||
SHOW CREATE VIEW v1;
|
||||
View Create View character_set_client collation_connection
|
||||
v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select ifnull(`t1_values`.`my_date`,_latin1'IS_NULL') AS `IFNULL(my_date,'IS_NULL')`,`t1_values`.`my_date` AS `my_date`,`t1_values`.`id` AS `id` from `t1_values` latin1 latin1_swedish_ci
|
||||
v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select ifnull(`t1_values`.`my_date`,'IS_NULL') AS `IFNULL(my_date,'IS_NULL')`,`t1_values`.`my_date` AS `my_date`,`t1_values`.`id` AS `id` from `t1_values` latin1 latin1_swedish_ci
|
||||
SELECT v1.* FROM v1
|
||||
WHERE v1.id IN (SELECT id FROM t1_values
|
||||
WHERE select_id = 135 OR select_id IS NULL) order by id;
|
||||
|
@ -1329,7 +1329,7 @@ IS_NULL NULL 1
|
|||
2005-06-28 10:00:00 2005-06-28 10:00:00 5
|
||||
SHOW CREATE VIEW v1;
|
||||
View Create View character_set_client collation_connection
|
||||
v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select ifnull(`t1_values`.`my_datetime`,_latin1'IS_NULL') AS `IFNULL(my_datetime,'IS_NULL')`,`t1_values`.`my_datetime` AS `my_datetime`,`t1_values`.`id` AS `id` from `t1_values` latin1 latin1_swedish_ci
|
||||
v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select ifnull(`t1_values`.`my_datetime`,'IS_NULL') AS `IFNULL(my_datetime,'IS_NULL')`,`t1_values`.`my_datetime` AS `my_datetime`,`t1_values`.`id` AS `id` from `t1_values` latin1 latin1_swedish_ci
|
||||
SELECT v1.* FROM v1
|
||||
WHERE v1.id IN (SELECT id FROM t1_values
|
||||
WHERE select_id = 134 OR select_id IS NULL) order by id;
|
||||
|
@ -1355,7 +1355,7 @@ IS_NULL NULL 1
|
|||
-1 -1 5
|
||||
SHOW CREATE VIEW v1;
|
||||
View Create View character_set_client collation_connection
|
||||
v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select ifnull(`t1_values`.`my_double`,_latin1'IS_NULL') AS `IFNULL(my_double,'IS_NULL')`,`t1_values`.`my_double` AS `my_double`,`t1_values`.`id` AS `id` from `t1_values` latin1 latin1_swedish_ci
|
||||
v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select ifnull(`t1_values`.`my_double`,'IS_NULL') AS `IFNULL(my_double,'IS_NULL')`,`t1_values`.`my_double` AS `my_double`,`t1_values`.`id` AS `id` from `t1_values` latin1 latin1_swedish_ci
|
||||
SELECT v1.* FROM v1
|
||||
WHERE v1.id IN (SELECT id FROM t1_values
|
||||
WHERE select_id = 133 OR select_id IS NULL) order by id;
|
||||
|
@ -1381,7 +1381,7 @@ IS_NULL NULL 1
|
|||
-1.000000000000000000000000000000 -1.000000000000000000000000000000 5
|
||||
SHOW CREATE VIEW v1;
|
||||
View Create View character_set_client collation_connection
|
||||
v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select ifnull(`t1_values`.`my_decimal`,_latin1'IS_NULL') AS `IFNULL(my_decimal,'IS_NULL')`,`t1_values`.`my_decimal` AS `my_decimal`,`t1_values`.`id` AS `id` from `t1_values` latin1 latin1_swedish_ci
|
||||
v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select ifnull(`t1_values`.`my_decimal`,'IS_NULL') AS `IFNULL(my_decimal,'IS_NULL')`,`t1_values`.`my_decimal` AS `my_decimal`,`t1_values`.`id` AS `id` from `t1_values` latin1 latin1_swedish_ci
|
||||
SELECT v1.* FROM v1
|
||||
WHERE v1.id IN (SELECT id FROM t1_values
|
||||
WHERE select_id = 132 OR select_id IS NULL) order by id;
|
||||
|
@ -1407,7 +1407,7 @@ IS_NULL NULL 1
|
|||
-1 -1 5
|
||||
SHOW CREATE VIEW v1;
|
||||
View Create View character_set_client collation_connection
|
||||
v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select ifnull(`t1_values`.`my_bigint`,_latin1'IS_NULL') AS `IFNULL(my_bigint,'IS_NULL')`,`t1_values`.`my_bigint` AS `my_bigint`,`t1_values`.`id` AS `id` from `t1_values` latin1 latin1_swedish_ci
|
||||
v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select ifnull(`t1_values`.`my_bigint`,'IS_NULL') AS `IFNULL(my_bigint,'IS_NULL')`,`t1_values`.`my_bigint` AS `my_bigint`,`t1_values`.`id` AS `id` from `t1_values` latin1 latin1_swedish_ci
|
||||
SELECT v1.* FROM v1
|
||||
WHERE v1.id IN (SELECT id FROM t1_values
|
||||
WHERE select_id = 131 OR select_id IS NULL) order by id;
|
||||
|
@ -1433,7 +1433,7 @@ IS_NULL NULL 1
|
|||
-1 -1 5
|
||||
SHOW CREATE VIEW v1;
|
||||
View Create View character_set_client collation_connection
|
||||
v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select ifnull(`t1_values`.`my_varbinary_1000`,_latin1'IS_NULL') AS `IFNULL(my_varbinary_1000,'IS_NULL')`,`t1_values`.`my_varbinary_1000` AS `my_varbinary_1000`,`t1_values`.`id` AS `id` from `t1_values` latin1 latin1_swedish_ci
|
||||
v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select ifnull(`t1_values`.`my_varbinary_1000`,'IS_NULL') AS `IFNULL(my_varbinary_1000,'IS_NULL')`,`t1_values`.`my_varbinary_1000` AS `my_varbinary_1000`,`t1_values`.`id` AS `id` from `t1_values` latin1 latin1_swedish_ci
|
||||
SELECT v1.* FROM v1
|
||||
WHERE v1.id IN (SELECT id FROM t1_values
|
||||
WHERE select_id = 130 OR select_id IS NULL) order by id;
|
||||
|
@ -1459,7 +1459,7 @@ IS_NULL NULL 1
|
|||
-1 |