mirror of
https://github.com/MariaDB/server.git
synced 2025-08-01 03:47:19 +03:00
Merge trift2.:/MySQL/M51/mysql-5.1
into trift2.:/MySQL/M51/push-5.1
This commit is contained in:
@ -1277,7 +1277,6 @@ mysql-test/r/*.err
|
|||||||
mysql-test/r/*.log
|
mysql-test/r/*.log
|
||||||
mysql-test/r/*.out
|
mysql-test/r/*.out
|
||||||
mysql-test/r/*.reject
|
mysql-test/r/*.reject
|
||||||
mysql-test/r/*.warnings
|
|
||||||
mysql-test/r/alter_table.err
|
mysql-test/r/alter_table.err
|
||||||
mysql-test/r/archive.err
|
mysql-test/r/archive.err
|
||||||
mysql-test/r/backup.log
|
mysql-test/r/backup.log
|
||||||
|
@ -635,6 +635,7 @@ Create_file event for file_id: %u\n",exv->file_id);
|
|||||||
print_event_info->common_header_len=
|
print_event_info->common_header_len=
|
||||||
glob_description_event->common_header_len;
|
glob_description_event->common_header_len;
|
||||||
ev->print(result_file, print_event_info);
|
ev->print(result_file, print_event_info);
|
||||||
|
ev->temp_buf= 0; // as the event ref is zeroed
|
||||||
/*
|
/*
|
||||||
We don't want this event to be deleted now, so let's hide it (I
|
We don't want this event to be deleted now, so let's hide it (I
|
||||||
(Guilhem) should later see if this triggers a non-serious Valgrind
|
(Guilhem) should later see if this triggers a non-serious Valgrind
|
||||||
@ -682,8 +683,16 @@ Begin_load_query event for file_id: %u\n", exlq->file_id);
|
|||||||
|
|
||||||
end:
|
end:
|
||||||
rec_count++;
|
rec_count++;
|
||||||
|
/*
|
||||||
|
Destroy the log_event object. If reading from a remote host,
|
||||||
|
set the temp_buf to NULL so that memory isn't freed twice.
|
||||||
|
*/
|
||||||
if (ev)
|
if (ev)
|
||||||
|
{
|
||||||
|
if (remote_opt)
|
||||||
|
ev->temp_buf= 0;
|
||||||
delete ev;
|
delete ev;
|
||||||
|
}
|
||||||
DBUG_RETURN(0);
|
DBUG_RETURN(0);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1172,6 +1181,12 @@ could be out of memory");
|
|||||||
error= 1;
|
error= 1;
|
||||||
goto err;
|
goto err;
|
||||||
}
|
}
|
||||||
|
/*
|
||||||
|
If reading from a remote host, ensure the temp_buf for the
|
||||||
|
Log_event class is pointing to the incoming stream.
|
||||||
|
*/
|
||||||
|
if (remote_opt)
|
||||||
|
ev->register_temp_buf((char*) net->read_pos + 1);
|
||||||
|
|
||||||
Log_event_type type= ev->get_type_code();
|
Log_event_type type= ev->get_type_code();
|
||||||
if (glob_description_event->binlog_version >= 3 ||
|
if (glob_description_event->binlog_version >= 3 ||
|
||||||
|
@ -348,7 +348,10 @@ inline double ulonglong2double(ulonglong value)
|
|||||||
#define SPRINTF_RETURNS_INT
|
#define SPRINTF_RETURNS_INT
|
||||||
#define HAVE_SETFILEPOINTER
|
#define HAVE_SETFILEPOINTER
|
||||||
#define HAVE_VIO_READ_BUFF
|
#define HAVE_VIO_READ_BUFF
|
||||||
|
#if defined(_MSC_VER) && _MSC_VER >= 1400
|
||||||
|
/* strnlen() appeared in Studio 2005 */
|
||||||
#define HAVE_STRNLEN
|
#define HAVE_STRNLEN
|
||||||
|
#endif
|
||||||
#define HAVE_WINSOCK2
|
#define HAVE_WINSOCK2
|
||||||
|
|
||||||
#define strcasecmp stricmp
|
#define strcasecmp stricmp
|
||||||
@ -409,16 +412,7 @@ inline double ulonglong2double(ulonglong value)
|
|||||||
#ifdef __NT__ /* This should also work on Win98 but .. */
|
#ifdef __NT__ /* This should also work on Win98 but .. */
|
||||||
#define thread_safe_add(V,C,L) InterlockedExchangeAdd((long*) &(V),(C))
|
#define thread_safe_add(V,C,L) InterlockedExchangeAdd((long*) &(V),(C))
|
||||||
#define thread_safe_sub(V,C,L) InterlockedExchangeAdd((long*) &(V),-(long) (C))
|
#define thread_safe_sub(V,C,L) InterlockedExchangeAdd((long*) &(V),-(long) (C))
|
||||||
#define statistic_add(V,C,L) thread_safe_add((V),(C),(L))
|
|
||||||
#else
|
|
||||||
#define thread_safe_add(V,C,L) \
|
|
||||||
pthread_mutex_lock((L)); (V)+=(C); pthread_mutex_unlock((L));
|
|
||||||
#define thread_safe_sub(V,C,L) \
|
|
||||||
pthread_mutex_lock((L)); (V)-=(C); pthread_mutex_unlock((L));
|
|
||||||
#define statistic_add(V,C,L) (V)+=(C)
|
|
||||||
#endif
|
#endif
|
||||||
#define statistic_increment(V,L) thread_safe_increment((V),(L))
|
|
||||||
#define statistic_decrement(V,L) thread_safe_decrement((V),(L))
|
|
||||||
|
|
||||||
#define shared_memory_buffer_length 16000
|
#define shared_memory_buffer_length 16000
|
||||||
#define default_shared_memory_base_name "MYSQL"
|
#define default_shared_memory_base_name "MYSQL"
|
||||||
|
@ -441,17 +441,7 @@ C_MODE_END
|
|||||||
#ifdef HAVE_ALLOCA_H
|
#ifdef HAVE_ALLOCA_H
|
||||||
#include <alloca.h>
|
#include <alloca.h>
|
||||||
#endif
|
#endif
|
||||||
#ifdef HAVE_ATOMIC_ADD
|
|
||||||
#define new my_arg_new
|
|
||||||
#define need_to_restore_new 1
|
|
||||||
C_MODE_START
|
|
||||||
#include <asm/atomic.h>
|
|
||||||
C_MODE_END
|
|
||||||
#ifdef need_to_restore_new /* probably safer than #ifdef new */
|
|
||||||
#undef new
|
|
||||||
#undef need_to_restore_new
|
|
||||||
#endif
|
|
||||||
#endif
|
|
||||||
#include <errno.h> /* Recommended by debian */
|
#include <errno.h> /* Recommended by debian */
|
||||||
/* We need the following to go around a problem with openssl on solaris */
|
/* We need the following to go around a problem with openssl on solaris */
|
||||||
#if defined(HAVE_CRYPT_H)
|
#if defined(HAVE_CRYPT_H)
|
||||||
@ -1431,10 +1421,13 @@ do { doubleget_union _tmp; \
|
|||||||
|
|
||||||
#ifndef THREAD
|
#ifndef THREAD
|
||||||
#define thread_safe_increment(V,L) (V)++
|
#define thread_safe_increment(V,L) (V)++
|
||||||
|
#define thread_safe_decrement(V,L) (V)--
|
||||||
#define thread_safe_add(V,C,L) (V)+=(C)
|
#define thread_safe_add(V,C,L) (V)+=(C)
|
||||||
#define thread_safe_sub(V,C,L) (V)-=(C)
|
#define thread_safe_sub(V,C,L) (V)-=(C)
|
||||||
#define statistic_increment(V,L) (V)++
|
#define statistic_increment(V,L) (V)++
|
||||||
|
#define statistic_decrement(V,L) (V)--
|
||||||
#define statistic_add(V,C,L) (V)+=(C)
|
#define statistic_add(V,C,L) (V)+=(C)
|
||||||
|
#define statistic_sub(V,C,L) (V)-=(C)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef HAVE_CHARSET_utf8
|
#ifdef HAVE_CHARSET_utf8
|
||||||
|
@ -710,33 +710,68 @@ extern uint my_thread_end_wait_time;
|
|||||||
|
|
||||||
extern uint thd_lib_detected;
|
extern uint thd_lib_detected;
|
||||||
|
|
||||||
/* statistics_xxx functions are for not essential statistic */
|
/*
|
||||||
|
thread_safe_xxx functions are for critical statistic or counters.
|
||||||
|
The implementation is guaranteed to be thread safe, on all platforms.
|
||||||
|
Note that the calling code should *not* assume the counter is protected
|
||||||
|
by the mutex given, as the implementation of these helpers may change
|
||||||
|
to use my_atomic operations instead.
|
||||||
|
*/
|
||||||
|
|
||||||
|
/*
|
||||||
|
Warning:
|
||||||
|
When compiling without threads, this file is not included.
|
||||||
|
See the *other* declarations of thread_safe_xxx in include/my_global.h
|
||||||
|
|
||||||
|
Second warning:
|
||||||
|
See include/config-win.h, for yet another implementation.
|
||||||
|
*/
|
||||||
|
#ifdef THREAD
|
||||||
#ifndef thread_safe_increment
|
#ifndef thread_safe_increment
|
||||||
#ifdef HAVE_ATOMIC_ADD
|
|
||||||
#define thread_safe_increment(V,L) atomic_inc((atomic_t*) &V)
|
|
||||||
#define thread_safe_decrement(V,L) atomic_dec((atomic_t*) &V)
|
|
||||||
#define thread_safe_add(V,C,L) atomic_add((C),(atomic_t*) &V)
|
|
||||||
#define thread_safe_sub(V,C,L) atomic_sub((C),(atomic_t*) &V)
|
|
||||||
#else
|
|
||||||
#define thread_safe_increment(V,L) \
|
#define thread_safe_increment(V,L) \
|
||||||
(pthread_mutex_lock((L)), (V)++, pthread_mutex_unlock((L)))
|
(pthread_mutex_lock((L)), (V)++, pthread_mutex_unlock((L)))
|
||||||
#define thread_safe_decrement(V,L) \
|
#define thread_safe_decrement(V,L) \
|
||||||
(pthread_mutex_lock((L)), (V)--, pthread_mutex_unlock((L)))
|
(pthread_mutex_lock((L)), (V)--, pthread_mutex_unlock((L)))
|
||||||
#define thread_safe_add(V,C,L) (pthread_mutex_lock((L)), (V)+=(C), pthread_mutex_unlock((L)))
|
#endif
|
||||||
|
|
||||||
|
#ifndef thread_safe_add
|
||||||
|
#define thread_safe_add(V,C,L) \
|
||||||
|
(pthread_mutex_lock((L)), (V)+=(C), pthread_mutex_unlock((L)))
|
||||||
#define thread_safe_sub(V,C,L) \
|
#define thread_safe_sub(V,C,L) \
|
||||||
(pthread_mutex_lock((L)), (V)-=(C), pthread_mutex_unlock((L)))
|
(pthread_mutex_lock((L)), (V)-=(C), pthread_mutex_unlock((L)))
|
||||||
#endif /* HAVE_ATOMIC_ADD */
|
#endif
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/*
|
||||||
|
statistics_xxx functions are for non critical statistic,
|
||||||
|
maintained in global variables.
|
||||||
|
When compiling with SAFE_STATISTICS:
|
||||||
|
- race conditions can not occur.
|
||||||
|
- some locking occurs, which may cause performance degradation.
|
||||||
|
|
||||||
|
When compiling without SAFE_STATISTICS:
|
||||||
|
- race conditions can occur, making the result slightly inaccurate.
|
||||||
|
- the lock given is not honored.
|
||||||
|
*/
|
||||||
#ifdef SAFE_STATISTICS
|
#ifdef SAFE_STATISTICS
|
||||||
#define statistic_increment(V,L) thread_safe_increment((V),(L))
|
#define statistic_increment(V,L) thread_safe_increment((V),(L))
|
||||||
#define statistic_decrement(V,L) thread_safe_decrement((V),(L))
|
#define statistic_decrement(V,L) thread_safe_decrement((V),(L))
|
||||||
#define statistic_add(V,C,L) thread_safe_add((V),(C),(L))
|
#define statistic_add(V,C,L) thread_safe_add((V),(C),(L))
|
||||||
|
#define statistic_sub(V,C,L) thread_safe_sub((V),(C),(L))
|
||||||
#else
|
#else
|
||||||
#define statistic_decrement(V,L) (V)--
|
#define statistic_decrement(V,L) (V)--
|
||||||
#define statistic_increment(V,L) (V)++
|
#define statistic_increment(V,L) (V)++
|
||||||
#define statistic_add(V,C,L) (V)+=(C)
|
#define statistic_add(V,C,L) (V)+=(C)
|
||||||
|
#define statistic_sub(V,C,L) (V)-=(C)
|
||||||
#endif /* SAFE_STATISTICS */
|
#endif /* SAFE_STATISTICS */
|
||||||
#endif /* thread_safe_increment */
|
|
||||||
|
/*
|
||||||
|
No locking needed, the counter is owned by the thread
|
||||||
|
*/
|
||||||
|
#define status_var_increment(V) (V)++
|
||||||
|
#define status_var_decrement(V) (V)--
|
||||||
|
#define status_var_add(V,C) (V)+=(C)
|
||||||
|
#define status_var_sub(V,C) (V)-=(C)
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
}
|
}
|
||||||
|
@ -15,6 +15,7 @@
|
|||||||
# Last_slave_errno in SHOW SLAVE STATUS (1st and 3rd commands did not: bug 986)
|
# Last_slave_errno in SHOW SLAVE STATUS (1st and 3rd commands did not: bug 986)
|
||||||
|
|
||||||
-- source include/master-slave.inc
|
-- source include/master-slave.inc
|
||||||
|
source include/have_innodb.inc;
|
||||||
|
|
||||||
connection slave;
|
connection slave;
|
||||||
reset master;
|
reset master;
|
||||||
@ -156,4 +157,15 @@ drop table t2;
|
|||||||
connection master;
|
connection master;
|
||||||
drop table t2;
|
drop table t2;
|
||||||
drop table t1;
|
drop table t1;
|
||||||
|
|
||||||
|
# BUG#17233 LOAD DATA INFILE: failure causes mysqld dbug_assert, binlog not flushed
|
||||||
|
CREATE TABLE t1 (word CHAR(20) NOT NULL PRIMARY KEY) ENGINE=INNODB;
|
||||||
|
|
||||||
|
--error ER_DUP_ENTRY_WITH_KEY_NAME
|
||||||
|
LOAD DATA INFILE "../std_data_ln/words.dat" INTO TABLE t1;
|
||||||
|
|
||||||
|
--disable warnings
|
||||||
|
DROP TABLE IF EXISTS t1;
|
||||||
|
--enable warnings
|
||||||
|
|
||||||
# End of 4.1 tests
|
# End of 4.1 tests
|
||||||
|
@ -1,13 +1,42 @@
|
|||||||
# Grant tests not performed with embedded server
|
################### include/grant_cache.inc ####################
|
||||||
-- source include/not_embedded.inc
|
#
|
||||||
-- source include/have_query_cache.inc
|
# Test grants with query cache
|
||||||
# See at the end of the test why we disable the ps protocol (*)
|
#
|
||||||
-- disable_ps_protocol
|
# Last update:
|
||||||
|
# 2007-05-03 ML - Move t/grant_cache.test to include/grant_cache.inc
|
||||||
|
# - Remove the disabling of the ps-protocol
|
||||||
|
# - minor improvements like error names instead of numbers
|
||||||
|
# - Create two toplevel tests sourcing this routine
|
||||||
|
#
|
||||||
|
# Running this test with and without "--ps-protocol" produces different
|
||||||
|
# Qcache_not_cached results because of the following reason:
|
||||||
|
# In normal protocol, a SELECT failing due to insufficient privileges
|
||||||
|
# increments Qcache_not_cached, while in ps-protocol, no.
|
||||||
|
# In detail:
|
||||||
|
# - In normal protocol,
|
||||||
|
# the "access denied" errors on SELECT are issued at (stack trace):
|
||||||
|
# mysql_parse/mysql_execute_command/execute_sqlcom_select/handle_select/
|
||||||
|
# mysql_select/JOIN::prepare/setup_wild/insert_fields/
|
||||||
|
# check_grant_all_columns/my_error/my_message_sql, which then calls
|
||||||
|
# push_warning/query_cache_abort: at this moment,
|
||||||
|
# query_cache_store_query() has been called, so query exists in cache,
|
||||||
|
# so thd->net.query_cache_query!=NULL, so query_cache_abort() removes
|
||||||
|
# the query from cache, which causes a query_cache.refused++ (thus,
|
||||||
|
# a Qcache_not_cached++).
|
||||||
|
# - In ps-protocol,
|
||||||
|
# the error is issued at prepare time;
|
||||||
|
# for this mysql_test_select() is called, not execute_sqlcom_select()
|
||||||
|
# (and that also leads to JOIN::prepare/etc). Thus, as
|
||||||
|
# query_cache_store_query() has not been called,
|
||||||
|
# thd->net.query_cache_query==NULL, so query_cache_abort() does nothing:
|
||||||
|
# Qcache_not_cached is not incremented.
|
||||||
|
#
|
||||||
|
# A run of this tests with sp/cursor/view protocol does not make sense
|
||||||
|
# because these protocols serve totally different purposes than this test.
|
||||||
|
#
|
||||||
|
|
||||||
--source include/add_anonymous_users.inc
|
--source include/add_anonymous_users.inc
|
||||||
|
|
||||||
#
|
|
||||||
# Test grants with query cache
|
|
||||||
#
|
#
|
||||||
--disable_warnings
|
--disable_warnings
|
||||||
drop table if exists test.t1,mysqltest.t1,mysqltest.t2;
|
drop table if exists test.t1,mysqltest.t1,mysqltest.t2;
|
||||||
@ -18,6 +47,7 @@ set GLOBAL query_cache_size=1355776;
|
|||||||
|
|
||||||
reset query cache;
|
reset query cache;
|
||||||
flush status;
|
flush status;
|
||||||
|
--echo ----- establish connection root -----
|
||||||
connect (root,localhost,root,,test,$MASTER_MYPORT,$MASTER_MYSOCK);
|
connect (root,localhost,root,,test,$MASTER_MYPORT,$MASTER_MYSOCK);
|
||||||
connection root;
|
connection root;
|
||||||
show grants for current_user;
|
show grants for current_user;
|
||||||
@ -33,6 +63,7 @@ insert into mysqltest.t2 values (3,3,3);
|
|||||||
create table test.t1 (a char (10));
|
create table test.t1 (a char (10));
|
||||||
insert into test.t1 values ("test.t1");
|
insert into test.t1 values ("test.t1");
|
||||||
select * from t1;
|
select * from t1;
|
||||||
|
--echo ----- establish connection root2 -----
|
||||||
connect (root2,localhost,root,,mysqltest,$MASTER_MYPORT,$MASTER_MYSOCK);
|
connect (root2,localhost,root,,mysqltest,$MASTER_MYPORT,$MASTER_MYSOCK);
|
||||||
connection root2;
|
connection root2;
|
||||||
# put queries in cache
|
# put queries in cache
|
||||||
@ -51,6 +82,7 @@ grant SELECT on test.t1 to mysqltest_2@localhost;
|
|||||||
grant SELECT(a) on mysqltest.t1 to mysqltest_3@localhost;
|
grant SELECT(a) on mysqltest.t1 to mysqltest_3@localhost;
|
||||||
|
|
||||||
# The following queries should be fetched from cache
|
# The following queries should be fetched from cache
|
||||||
|
--echo ----- establish connection user1 (user=mysqltest_1) -----
|
||||||
connect (user1,localhost,mysqltest_1,,mysqltest,$MASTER_MYPORT,$MASTER_MYSOCK);
|
connect (user1,localhost,mysqltest_1,,mysqltest,$MASTER_MYPORT,$MASTER_MYSOCK);
|
||||||
connection user1;
|
connection user1;
|
||||||
show grants for current_user();
|
show grants for current_user();
|
||||||
@ -76,12 +108,14 @@ show status like "Qcache_hits";
|
|||||||
show status like "Qcache_not_cached";
|
show status like "Qcache_not_cached";
|
||||||
|
|
||||||
|
|
||||||
|
--echo ----- establish connection unkuser (user=unkuser) -----
|
||||||
# Don't use '' as user because it will pick Unix login
|
# Don't use '' as user because it will pick Unix login
|
||||||
connect (unkuser,localhost,unkuser,,,$MASTER_MYPORT,$MASTER_MYSOCK);
|
connect (unkuser,localhost,unkuser,,,$MASTER_MYPORT,$MASTER_MYSOCK);
|
||||||
connection unkuser;
|
connection unkuser;
|
||||||
show grants for current_user();
|
show grants for current_user();
|
||||||
|
|
||||||
# The following queries should be fetched from cache
|
# The following queries should be fetched from cache
|
||||||
|
--echo ----- establish connection user2 (user=mysqltest_2) -----
|
||||||
connect (user2,localhost,mysqltest_2,,mysqltest,$MASTER_MYPORT,$MASTER_MYSOCK);
|
connect (user2,localhost,mysqltest_2,,mysqltest,$MASTER_MYPORT,$MASTER_MYSOCK);
|
||||||
connection user2;
|
connection user2;
|
||||||
select "user2";
|
select "user2";
|
||||||
@ -90,39 +124,41 @@ select a from t1;
|
|||||||
select c from t1;
|
select c from t1;
|
||||||
select * from mysqltest.t1,test.t1;
|
select * from mysqltest.t1,test.t1;
|
||||||
--replace_result 127.0.0.1 localhost
|
--replace_result 127.0.0.1 localhost
|
||||||
--error 1142
|
--error ER_TABLEACCESS_DENIED_ERROR
|
||||||
select * from t2;
|
select * from t2;
|
||||||
show status like "Qcache_queries_in_cache";
|
show status like "Qcache_queries_in_cache";
|
||||||
show status like "Qcache_hits";
|
show status like "Qcache_hits";
|
||||||
show status like "Qcache_not_cached";
|
show status like "Qcache_not_cached";
|
||||||
|
|
||||||
# The following queries should not be fetched from cache
|
# The following queries should not be fetched from cache
|
||||||
|
--echo ----- establish connection user3 (user=mysqltest_3) -----
|
||||||
connect (user3,localhost,mysqltest_3,,mysqltest,$MASTER_MYPORT,$MASTER_MYSOCK);
|
connect (user3,localhost,mysqltest_3,,mysqltest,$MASTER_MYPORT,$MASTER_MYSOCK);
|
||||||
connection user3;
|
connection user3;
|
||||||
select "user3";
|
select "user3";
|
||||||
--replace_result 127.0.0.1 localhost
|
--replace_result 127.0.0.1 localhost
|
||||||
--error 1143
|
--error ER_COLUMNACCESS_DENIED_ERROR
|
||||||
select * from t1;
|
select * from t1;
|
||||||
select a from t1;
|
select a from t1;
|
||||||
--replace_result 127.0.0.1 localhost
|
--replace_result 127.0.0.1 localhost
|
||||||
--error 1143
|
--error ER_COLUMNACCESS_DENIED_ERROR
|
||||||
select c from t1;
|
select c from t1;
|
||||||
--replace_result 127.0.0.1 localhost
|
--replace_result 127.0.0.1 localhost
|
||||||
--error 1142
|
--error ER_TABLEACCESS_DENIED_ERROR
|
||||||
select * from t2;
|
select * from t2;
|
||||||
--replace_result 127.0.0.1 localhost
|
--replace_result 127.0.0.1 localhost
|
||||||
--error 1143
|
--error ER_COLUMNACCESS_DENIED_ERROR
|
||||||
select mysqltest.t1.c from test.t1,mysqltest.t1;
|
select mysqltest.t1.c from test.t1,mysqltest.t1;
|
||||||
show status like "Qcache_queries_in_cache";
|
show status like "Qcache_queries_in_cache";
|
||||||
show status like "Qcache_hits";
|
show status like "Qcache_hits";
|
||||||
show status like "Qcache_not_cached";
|
show status like "Qcache_not_cached";
|
||||||
|
|
||||||
# Connect without a database
|
# Connect without a database
|
||||||
|
--echo ----- establish connection user4 (user=mysqltest_1) -----
|
||||||
connect (user4,localhost,mysqltest_1,,*NO-ONE*,$MASTER_MYPORT,$MASTER_MYSOCK);
|
connect (user4,localhost,mysqltest_1,,*NO-ONE*,$MASTER_MYPORT,$MASTER_MYSOCK);
|
||||||
connection user4;
|
connection user4;
|
||||||
select "user4";
|
select "user4";
|
||||||
show grants;
|
show grants;
|
||||||
--error 1046
|
--error ER_NO_DB_ERROR
|
||||||
select a from t1;
|
select a from t1;
|
||||||
# The following query is not cached before (different database)
|
# The following query is not cached before (different database)
|
||||||
select * from mysqltest.t1,test.t1;
|
select * from mysqltest.t1,test.t1;
|
||||||
@ -135,7 +171,16 @@ show status like "Qcache_not_cached";
|
|||||||
|
|
||||||
# Cleanup
|
# Cleanup
|
||||||
|
|
||||||
connection root;
|
--echo ----- switch to connection default and close connections -----
|
||||||
|
connection default;
|
||||||
|
disconnect root;
|
||||||
|
disconnect root2;
|
||||||
|
disconnect user1;
|
||||||
|
disconnect user2;
|
||||||
|
disconnect user3;
|
||||||
|
disconnect user4;
|
||||||
|
disconnect unkuser;
|
||||||
|
|
||||||
#
|
#
|
||||||
# A temporary 4.1 workaround to make this test pass if
|
# A temporary 4.1 workaround to make this test pass if
|
||||||
# mysql was compiled with other than latin1 --with-charset=XXX.
|
# mysql was compiled with other than latin1 --with-charset=XXX.
|
||||||
@ -156,30 +201,3 @@ drop database mysqltest;
|
|||||||
set GLOBAL query_cache_size=default;
|
set GLOBAL query_cache_size=default;
|
||||||
|
|
||||||
--source include/delete_anonymous_users.inc
|
--source include/delete_anonymous_users.inc
|
||||||
|
|
||||||
|
|
||||||
# End of 4.1 tests
|
|
||||||
|
|
||||||
# (*) Why we disable the ps protocol: because in normal protocol,
|
|
||||||
# a SELECT failing due to insufficient privileges increments
|
|
||||||
# Qcache_not_cached, while in ps-protocol, no.
|
|
||||||
# In detail: in normal protocol,
|
|
||||||
# the "access denied" errors on SELECT are issued at (stack trace):
|
|
||||||
# mysql_parse/mysql_execute_command/execute_sqlcom_select/handle_select/
|
|
||||||
# mysql_select/JOIN::prepare/setup_wild/insert_fields/
|
|
||||||
# check_grant_all_columns/my_error/my_message_sql, which then calls
|
|
||||||
# push_warning/query_cache_abort: at this moment,
|
|
||||||
# query_cache_store_query() has been called, so query exists in cache,
|
|
||||||
# so thd->net.query_cache_query!=NULL, so query_cache_abort() removes
|
|
||||||
# the query from cache, which causes a query_cache.refused++ (thus,
|
|
||||||
# a Qcache_not_cached++).
|
|
||||||
# While in ps-protocol, the error is issued at prepare time;
|
|
||||||
# for this mysql_test_select() is called, not execute_sqlcom_select()
|
|
||||||
# (and that also leads to JOIN::prepare/etc). Thus, as
|
|
||||||
# query_cache_store_query() has not been called,
|
|
||||||
# thd->net.query_cache_query==NULL, so query_cache_abort() does nothing:
|
|
||||||
# Qcache_not_cached is not incremented.
|
|
||||||
# As this test prints Qcache_not_cached after SELECT failures,
|
|
||||||
# we cannot enable this test in ps-protocol.
|
|
||||||
|
|
||||||
--enable_ps_protocol
|
|
@ -787,4 +787,33 @@ alter table t2 modify i int default 4, rename t1;
|
|||||||
unlock tables;
|
unlock tables;
|
||||||
drop table t1;
|
drop table t1;
|
||||||
|
|
||||||
|
|
||||||
|
#
|
||||||
|
# Some more tests for ALTER TABLE and LOCK TABLES for transactional tables.
|
||||||
|
#
|
||||||
|
# Table which is altered under LOCK TABLES should stay in list of locked
|
||||||
|
# tables and be available after alter takes place unless ALTER contains
|
||||||
|
# RENAME clause. We should see the new definition of table, of course.
|
||||||
|
# Before 5.1 this behavior was inconsistent across the platforms and
|
||||||
|
# different engines. See also tests in alter_table.test
|
||||||
|
#
|
||||||
|
--disable_warnings
|
||||||
|
drop table if exists t1;
|
||||||
|
--enable_warnings
|
||||||
|
create table t1 (i int);
|
||||||
|
insert into t1 values ();
|
||||||
|
lock table t1 write;
|
||||||
|
# Example of so-called 'fast' ALTER TABLE
|
||||||
|
alter table t1 modify i int default 1;
|
||||||
|
insert into t1 values ();
|
||||||
|
select * from t1;
|
||||||
|
# And now full-blown ALTER TABLE
|
||||||
|
alter table t1 change i c char(10) default "Two";
|
||||||
|
insert into t1 values ();
|
||||||
|
select * from t1;
|
||||||
|
unlock tables;
|
||||||
|
select * from t1;
|
||||||
|
drop tables t1;
|
||||||
|
|
||||||
|
|
||||||
--echo End of 5.1 tests
|
--echo End of 5.1 tests
|
||||||
|
271
mysql-test/include/query_cache_sql_prepare.inc
Normal file
271
mysql-test/include/query_cache_sql_prepare.inc
Normal file
@ -0,0 +1,271 @@
|
|||||||
|
############### include/query_cache_sql_prepare.inc ################
|
||||||
|
#
|
||||||
|
# This is to see how statements prepared via the PREPARE SQL command
|
||||||
|
# go into the query cache: if using parameters they cannot; if not
|
||||||
|
# using parameters they can.
|
||||||
|
# Query cache is abbreviated as "QC"
|
||||||
|
#
|
||||||
|
# Last update:
|
||||||
|
# 2007-05-03 ML - Move t/query_cache_sql_prepare.test
|
||||||
|
# to include/query_cache_sql_prepare.inc
|
||||||
|
# - Create two toplevel tests sourcing this routine
|
||||||
|
# - Add tests checking that
|
||||||
|
# - another connection gets the same amount of QC hits
|
||||||
|
# - statements running via ps-protocol do not hit QC results
|
||||||
|
# of preceding sql EXECUTEs
|
||||||
|
#
|
||||||
|
|
||||||
|
--source include/have_query_cache.inc
|
||||||
|
# embedded can't make more than one connection, which this test needs
|
||||||
|
-- source include/not_embedded.inc
|
||||||
|
|
||||||
|
--echo ---- establish connection con1 (root) ----
|
||||||
|
connect (con1,localhost,root,,test,$MASTER_MYPORT,);
|
||||||
|
--echo ---- switch to connection default ----
|
||||||
|
connection default;
|
||||||
|
|
||||||
|
set @initial_query_cache_size = @@global.query_cache_size;
|
||||||
|
set @@global.query_cache_size=100000;
|
||||||
|
flush status;
|
||||||
|
--disable_warnings
|
||||||
|
drop table if exists t1;
|
||||||
|
--enable_warnings
|
||||||
|
create table t1(c1 int);
|
||||||
|
insert into t1 values(1),(10),(100);
|
||||||
|
|
||||||
|
# Prepared statements has no parameters, query caching should happen
|
||||||
|
prepare stmt1 from "select * from t1 where c1=10";
|
||||||
|
show status like 'Qcache_hits';
|
||||||
|
execute stmt1;
|
||||||
|
show status like 'Qcache_hits';
|
||||||
|
execute stmt1;
|
||||||
|
show status like 'Qcache_hits';
|
||||||
|
execute stmt1;
|
||||||
|
show status like 'Qcache_hits';
|
||||||
|
# Another prepared statement (same text, same connection), should hit the QC
|
||||||
|
prepare stmt2 from "select * from t1 where c1=10";
|
||||||
|
execute stmt2;
|
||||||
|
show status like 'Qcache_hits';
|
||||||
|
execute stmt2;
|
||||||
|
show status like 'Qcache_hits';
|
||||||
|
execute stmt2;
|
||||||
|
show status like 'Qcache_hits';
|
||||||
|
# Another prepared statement (same text, other connection), should hit the QC
|
||||||
|
--echo ---- switch to connection con1 ----
|
||||||
|
connection con1;
|
||||||
|
prepare stmt3 from "select * from t1 where c1=10";
|
||||||
|
execute stmt3;
|
||||||
|
show status like 'Qcache_hits';
|
||||||
|
execute stmt3;
|
||||||
|
show status like 'Qcache_hits';
|
||||||
|
execute stmt3;
|
||||||
|
show status like 'Qcache_hits';
|
||||||
|
--echo ---- switch to connection default ----
|
||||||
|
connection default;
|
||||||
|
|
||||||
|
# Mixup tests, where statements without PREPARE.../EXECUTE.... meet statements
|
||||||
|
# with PREPARE.../EXECUTE.... (text protocol). Both statements have the
|
||||||
|
# same text. QC hits occur only when both statements use the same protocol.
|
||||||
|
# The outcome of the test depends on the mysqltest startup options
|
||||||
|
# - with "--ps-protocol"
|
||||||
|
# Statements without PREPARE.../EXECUTE.... run as prepared statements
|
||||||
|
# with binary protocol. Expect to get no QC hits.
|
||||||
|
# - without any "--<whatever>-protocol"
|
||||||
|
# Statements without PREPARE.../EXECUTE run as non prepared statements
|
||||||
|
# with text protocol. Expect to get QC hits.
|
||||||
|
############################################################################
|
||||||
|
#
|
||||||
|
# Statement with PREPARE.../EXECUTE.... first
|
||||||
|
let $my_stmt= SELECT * FROM t1 WHERE c1 = 100;
|
||||||
|
eval prepare stmt10 from "$my_stmt";
|
||||||
|
show status like 'Qcache_hits';
|
||||||
|
execute stmt10;
|
||||||
|
show status like 'Qcache_hits';
|
||||||
|
execute stmt10;
|
||||||
|
show status like 'Qcache_hits';
|
||||||
|
eval $my_stmt;
|
||||||
|
show status like 'Qcache_hits';
|
||||||
|
--echo ---- switch to connection con1 ----
|
||||||
|
connection con1;
|
||||||
|
eval $my_stmt;
|
||||||
|
show status like 'Qcache_hits';
|
||||||
|
--echo ---- switch to connection default ----
|
||||||
|
connection default;
|
||||||
|
#
|
||||||
|
# Statement without PREPARE.../EXECUTE.... first
|
||||||
|
let $my_stmt= SELECT * FROM t1 WHERE c1 = 1;
|
||||||
|
eval prepare stmt11 from "$my_stmt";
|
||||||
|
--echo ---- switch to connection con1 ----
|
||||||
|
connection con1;
|
||||||
|
eval prepare stmt12 from "$my_stmt";
|
||||||
|
--echo ---- switch to connection default ----
|
||||||
|
connection default;
|
||||||
|
eval $my_stmt;
|
||||||
|
show status like 'Qcache_hits';
|
||||||
|
eval $my_stmt;
|
||||||
|
show status like 'Qcache_hits';
|
||||||
|
execute stmt11;
|
||||||
|
show status like 'Qcache_hits';
|
||||||
|
--echo ---- switch to connection con1 ----
|
||||||
|
connection con1;
|
||||||
|
execute stmt12;
|
||||||
|
show status like 'Qcache_hits';
|
||||||
|
--echo ---- switch to connection default ----
|
||||||
|
connection default;
|
||||||
|
|
||||||
|
# Prepared statement has parameters, query caching should not happen
|
||||||
|
prepare stmt1 from "select * from t1 where c1=?";
|
||||||
|
show status like 'Qcache_hits';
|
||||||
|
set @a=1;
|
||||||
|
execute stmt1 using @a;
|
||||||
|
show status like 'Qcache_hits';
|
||||||
|
execute stmt1 using @a;
|
||||||
|
show status like 'Qcache_hits';
|
||||||
|
--echo ---- switch to connection con1 ----
|
||||||
|
connection con1;
|
||||||
|
set @a=1;
|
||||||
|
prepare stmt4 from "select * from t1 where c1=?";
|
||||||
|
execute stmt4 using @a;
|
||||||
|
show status like 'Qcache_hits';
|
||||||
|
--echo ---- switch to connection default ----
|
||||||
|
connection default;
|
||||||
|
|
||||||
|
# See if enabling/disabling the query cache between PREPARE and
|
||||||
|
# EXECUTE is an issue; the expected result is that the query cache
|
||||||
|
# will not be used.
|
||||||
|
# Indeed, decision to read/write the query cache is taken at PREPARE
|
||||||
|
# time, so if the query cache was disabled at PREPARE time then no
|
||||||
|
# execution of the statement will read/write the query cache.
|
||||||
|
# If the query cache was enabled at PREPARE time, but disabled at
|
||||||
|
# EXECUTE time, at EXECUTE time the query cache internal functions do
|
||||||
|
# nothing so again the query cache is not read/written. But if the
|
||||||
|
# query cache is re-enabled before another execution then that
|
||||||
|
# execution will read/write the query cache.
|
||||||
|
|
||||||
|
# QC is enabled at PREPARE
|
||||||
|
prepare stmt1 from "select * from t1 where c1=10";
|
||||||
|
# then QC is disabled at EXECUTE
|
||||||
|
# Expect to see no additional Qcache_hits.
|
||||||
|
set global query_cache_size=0;
|
||||||
|
show status like 'Qcache_hits';
|
||||||
|
execute stmt1;
|
||||||
|
show status like 'Qcache_hits';
|
||||||
|
execute stmt1;
|
||||||
|
show status like 'Qcache_hits';
|
||||||
|
execute stmt1;
|
||||||
|
show status like 'Qcache_hits';
|
||||||
|
# The QC is global = affects also other connections.
|
||||||
|
# Expect to see no additional Qcache_hits.
|
||||||
|
--echo ---- switch to connection con1 ----
|
||||||
|
connection con1;
|
||||||
|
execute stmt3;
|
||||||
|
show status like 'Qcache_hits';
|
||||||
|
execute stmt3;
|
||||||
|
show status like 'Qcache_hits';
|
||||||
|
execute stmt3;
|
||||||
|
show status like 'Qcache_hits';
|
||||||
|
#
|
||||||
|
# then QC is re-enabled for more EXECUTE.
|
||||||
|
--echo ---- switch to connection default ----
|
||||||
|
connection default;
|
||||||
|
set global query_cache_size=100000;
|
||||||
|
# Expect to see additional Qcache_hits.
|
||||||
|
# The fact that the QC was temporary disabled should have no affect
|
||||||
|
# except that the first execute will not hit results from the
|
||||||
|
# beginning of the test (because QC has been emptied meanwhile by
|
||||||
|
# setting its size to 0).
|
||||||
|
execute stmt1;
|
||||||
|
show status like 'Qcache_hits';
|
||||||
|
execute stmt1;
|
||||||
|
show status like 'Qcache_hits';
|
||||||
|
execute stmt1;
|
||||||
|
show status like 'Qcache_hits';
|
||||||
|
# The QC is global = affects also other connections.
|
||||||
|
--echo ---- switch to connection con1 ----
|
||||||
|
connection con1;
|
||||||
|
execute stmt3;
|
||||||
|
show status like 'Qcache_hits';
|
||||||
|
execute stmt3;
|
||||||
|
show status like 'Qcache_hits';
|
||||||
|
execute stmt3;
|
||||||
|
show status like 'Qcache_hits';
|
||||||
|
--echo ---- switch to connection default ----
|
||||||
|
connection default;
|
||||||
|
#
|
||||||
|
# then QC is re-disabled for more EXECUTE.
|
||||||
|
# Expect to see no additional Qcache_hits.
|
||||||
|
# The fact that the QC was temporary enabled should have no affect.
|
||||||
|
set global query_cache_size=0;
|
||||||
|
show status like 'Qcache_hits';
|
||||||
|
execute stmt1;
|
||||||
|
show status like 'Qcache_hits';
|
||||||
|
execute stmt1;
|
||||||
|
show status like 'Qcache_hits';
|
||||||
|
execute stmt1;
|
||||||
|
show status like 'Qcache_hits';
|
||||||
|
# The QC is global = affects also other connections.
|
||||||
|
--echo ---- switch to connection con1 ----
|
||||||
|
connection con1;
|
||||||
|
execute stmt3;
|
||||||
|
show status like 'Qcache_hits';
|
||||||
|
execute stmt3;
|
||||||
|
show status like 'Qcache_hits';
|
||||||
|
execute stmt3;
|
||||||
|
show status like 'Qcache_hits';
|
||||||
|
#
|
||||||
|
|
||||||
|
--echo ---- switch to connection default ----
|
||||||
|
connection default;
|
||||||
|
# QC is disabled at PREPARE
|
||||||
|
set global query_cache_size=0;
|
||||||
|
prepare stmt1 from "select * from t1 where c1=10";
|
||||||
|
--echo ---- switch to connection con1 ----
|
||||||
|
connection con1;
|
||||||
|
prepare stmt3 from "select * from t1 where c1=10";
|
||||||
|
--echo ---- switch to connection default ----
|
||||||
|
connection default;
|
||||||
|
# then QC is enabled at EXECUTE
|
||||||
|
set global query_cache_size=100000;
|
||||||
|
show status like 'Qcache_hits';
|
||||||
|
execute stmt1;
|
||||||
|
show status like 'Qcache_hits';
|
||||||
|
execute stmt1;
|
||||||
|
show status like 'Qcache_hits';
|
||||||
|
execute stmt1;
|
||||||
|
show status like 'Qcache_hits';
|
||||||
|
# The QC is global = affects also other connections.
|
||||||
|
--echo ---- switch to connection con1 ----
|
||||||
|
connection con1;
|
||||||
|
show status like 'Qcache_hits';
|
||||||
|
execute stmt3;
|
||||||
|
show status like 'Qcache_hits';
|
||||||
|
execute stmt3;
|
||||||
|
show status like 'Qcache_hits';
|
||||||
|
execute stmt3;
|
||||||
|
show status like 'Qcache_hits';
|
||||||
|
--echo ---- switch to connection default ----
|
||||||
|
connection default;
|
||||||
|
#
|
||||||
|
# QC is disabled at PREPARE
|
||||||
|
set global query_cache_size=0;
|
||||||
|
prepare stmt1 from "select * from t1 where c1=?";
|
||||||
|
# then QC is enabled at EXECUTE
|
||||||
|
set global query_cache_size=100000;
|
||||||
|
show status like 'Qcache_hits';
|
||||||
|
set @a=1;
|
||||||
|
execute stmt1 using @a;
|
||||||
|
show status like 'Qcache_hits';
|
||||||
|
set @a=100;
|
||||||
|
execute stmt1 using @a;
|
||||||
|
show status like 'Qcache_hits';
|
||||||
|
set @a=10;
|
||||||
|
execute stmt1 using @a;
|
||||||
|
show status like 'Qcache_hits';
|
||||||
|
|
||||||
|
|
||||||
|
drop table t1;
|
||||||
|
--echo ---- disconnect connection con1 ----
|
||||||
|
disconnect con1;
|
||||||
|
|
||||||
|
set @@global.query_cache_size=@initial_query_cache_size;
|
||||||
|
flush status; # reset Qcache status variables for next tests
|
@ -283,8 +283,19 @@ sub mtr_report_stats ($) {
|
|||||||
mtr_warning("can't read $errlog");
|
mtr_warning("can't read $errlog");
|
||||||
next;
|
next;
|
||||||
}
|
}
|
||||||
|
my $leak_reports_expected= undef;
|
||||||
while ( <ERR> )
|
while ( <ERR> )
|
||||||
{
|
{
|
||||||
|
# There is a test case that purposely provokes a
|
||||||
|
# SAFEMALLOC leak report, even though there is no actual
|
||||||
|
# leak. We need to detect this, and ignore the warning in
|
||||||
|
# that case.
|
||||||
|
if (/Begin safemalloc memory dump:/) {
|
||||||
|
$leak_reports_expected= 1;
|
||||||
|
} elsif (/End safemalloc memory dump./) {
|
||||||
|
$leak_reports_expected= undef;
|
||||||
|
}
|
||||||
|
|
||||||
# Skip some non fatal warnings from the log files
|
# Skip some non fatal warnings from the log files
|
||||||
if (
|
if (
|
||||||
/\"SELECT UNIX_TIMESTAMP\(\)\" failed on master/ or
|
/\"SELECT UNIX_TIMESTAMP\(\)\" failed on master/ or
|
||||||
@ -354,6 +365,9 @@ sub mtr_report_stats ($) {
|
|||||||
}
|
}
|
||||||
if ( /$pattern/ )
|
if ( /$pattern/ )
|
||||||
{
|
{
|
||||||
|
if ($leak_reports_expected) {
|
||||||
|
next;
|
||||||
|
}
|
||||||
$found_problems= 1;
|
$found_problems= 1;
|
||||||
print WARN $_;
|
print WARN $_;
|
||||||
}
|
}
|
||||||
|
@ -1804,6 +1804,18 @@ sub environment_setup () {
|
|||||||
$ENV{'CHARSETSDIR'}= $path_charsetsdir;
|
$ENV{'CHARSETSDIR'}= $path_charsetsdir;
|
||||||
$ENV{'UMASK'}= "0660"; # The octal *string*
|
$ENV{'UMASK'}= "0660"; # The octal *string*
|
||||||
$ENV{'UMASK_DIR'}= "0770"; # The octal *string*
|
$ENV{'UMASK_DIR'}= "0770"; # The octal *string*
|
||||||
|
|
||||||
|
#
|
||||||
|
# MySQL tests can produce output in various character sets
|
||||||
|
# (especially, ctype_xxx.test). To avoid confusing Perl
|
||||||
|
# with output which is incompatible with the current locale
|
||||||
|
# settings, we reset the current values of LC_ALL and LC_CTYPE to "C".
|
||||||
|
# For details, please see
|
||||||
|
# Bug#27636 tests fails if LC_* variables set to *_*.UTF-8
|
||||||
|
#
|
||||||
|
$ENV{'LC_ALL'}= "C";
|
||||||
|
$ENV{'LC_CTYPE'}= "C";
|
||||||
|
|
||||||
$ENV{'LC_COLLATE'}= "C";
|
$ENV{'LC_COLLATE'}= "C";
|
||||||
$ENV{'USE_RUNNING_SERVER'}= $opt_extern;
|
$ENV{'USE_RUNNING_SERVER'}= $opt_extern;
|
||||||
$ENV{'MYSQL_TEST_DIR'}= $glob_mysql_test_dir;
|
$ENV{'MYSQL_TEST_DIR'}= $glob_mysql_test_dir;
|
||||||
@ -3850,13 +3862,15 @@ sub mysqld_arguments ($$$$) {
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
mtr_add_arg($args, "%s--master-user=root", $prefix);
|
if ($mysql_version_id < 50200)
|
||||||
mtr_add_arg($args, "%s--master-connect-retry=1", $prefix);
|
{
|
||||||
mtr_add_arg($args, "%s--master-host=127.0.0.1", $prefix);
|
mtr_add_arg($args, "%s--master-user=root", $prefix);
|
||||||
mtr_add_arg($args, "%s--master-password=", $prefix);
|
mtr_add_arg($args, "%s--master-connect-retry=1", $prefix);
|
||||||
mtr_add_arg($args, "%s--master-port=%d", $prefix,
|
mtr_add_arg($args, "%s--master-host=127.0.0.1", $prefix);
|
||||||
$master->[0]->{'port'}); # First master
|
mtr_add_arg($args, "%s--master-password=", $prefix);
|
||||||
|
mtr_add_arg($args, "%s--master-port=%d", $prefix,
|
||||||
|
$master->[0]->{'port'}); # First master
|
||||||
|
}
|
||||||
my $slave_server_id= 2 + $idx;
|
my $slave_server_id= 2 + $idx;
|
||||||
my $slave_rpl_rank= $slave_server_id;
|
my $slave_rpl_rank= $slave_server_id;
|
||||||
mtr_add_arg($args, "%s--server-id=%d", $prefix, $slave_server_id);
|
mtr_add_arg($args, "%s--server-id=%d", $prefix, $slave_server_id);
|
||||||
|
@ -5,14 +5,53 @@ key (n2, n3, n1),
|
|||||||
key (n3, n1, n2));
|
key (n3, n1, n2));
|
||||||
create table t2 (i int);
|
create table t2 (i int);
|
||||||
alter table t1 disable keys;
|
alter table t1 disable keys;
|
||||||
|
insert into t1 values (RAND()*1000, RAND()*1000, RAND()*1000);
|
||||||
reset master;
|
reset master;
|
||||||
|
set session debug="+d,sleep_alter_enable_indexes";
|
||||||
alter table t1 enable keys;;
|
alter table t1 enable keys;;
|
||||||
insert into t2 values (1);
|
insert into t2 values (1);
|
||||||
insert into t1 values (1, 1, 1);
|
insert into t1 values (1, 1, 1);
|
||||||
show binlog events in 'master-bin.000001' from 102;
|
set session debug="-d,sleep_alter_enable_indexes";
|
||||||
|
show binlog events in 'master-bin.000001' from 106;
|
||||||
Log_name Pos Event_type Server_id End_log_pos Info
|
Log_name Pos Event_type Server_id End_log_pos Info
|
||||||
master-bin.000001 # Query 1 # use `test`; insert into t2 values (1)
|
master-bin.000001 # Query 1 # use `test`; insert into t2 values (1)
|
||||||
master-bin.000001 # Query 1 # use `test`; alter table t1 enable keys
|
master-bin.000001 # Query 1 # use `test`; alter table t1 enable keys
|
||||||
master-bin.000001 # Query 1 # use `test`; insert into t1 values (1, 1, 1)
|
master-bin.000001 # Query 1 # use `test`; insert into t1 values (1, 1, 1)
|
||||||
drop tables t1, t2;
|
drop tables t1, t2;
|
||||||
End of 5.0 tests
|
End of 5.0 tests
|
||||||
|
drop table if exists t1, t2, t3;
|
||||||
|
create table t1 (i int);
|
||||||
|
reset master;
|
||||||
|
set session debug="+d,sleep_alter_before_main_binlog";
|
||||||
|
alter table t1 change i c char(10) default 'Test1';;
|
||||||
|
insert into t1 values ();
|
||||||
|
select * from t1;
|
||||||
|
c
|
||||||
|
Test1
|
||||||
|
alter table t1 change c vc varchar(100) default 'Test2';;
|
||||||
|
rename table t1 to t2;
|
||||||
|
drop table t2;
|
||||||
|
create table t1 (i int);
|
||||||
|
alter table t1 change i c char(10) default 'Test3', rename to t2;;
|
||||||
|
insert into t2 values ();
|
||||||
|
select * from t2;
|
||||||
|
c
|
||||||
|
Test3
|
||||||
|
alter table t2 change c vc varchar(100) default 'Test2', rename to t1;;
|
||||||
|
rename table t1 to t3;
|
||||||
|
drop table t3;
|
||||||
|
set session debug="-d,sleep_alter_before_main_binlog";
|
||||||
|
show binlog events in 'master-bin.000001' from 106;
|
||||||
|
Log_name Pos Event_type Server_id End_log_pos Info
|
||||||
|
master-bin.000001 # Query 1 # use `test`; alter table t1 change i c char(10) default 'Test1'
|
||||||
|
master-bin.000001 # Query 1 # use `test`; insert into t1 values ()
|
||||||
|
master-bin.000001 # Query 1 # use `test`; alter table t1 change c vc varchar(100) default 'Test2'
|
||||||
|
master-bin.000001 # Query 1 # use `test`; rename table t1 to t2
|
||||||
|
master-bin.000001 # Query 1 # use `test`; drop table t2
|
||||||
|
master-bin.000001 # Query 1 # use `test`; create table t1 (i int)
|
||||||
|
master-bin.000001 # Query 1 # use `test`; alter table t1 change i c char(10) default 'Test3', rename to t2
|
||||||
|
master-bin.000001 # Query 1 # use `test`; insert into t2 values ()
|
||||||
|
master-bin.000001 # Query 1 # use `test`; alter table t2 change c vc varchar(100) default 'Test2', rename to t1
|
||||||
|
master-bin.000001 # Query 1 # use `test`; rename table t1 to t3
|
||||||
|
master-bin.000001 # Query 1 # use `test`; drop table t3
|
||||||
|
End of 5.1 tests
|
||||||
|
@ -977,6 +977,59 @@ SELECT * FROM t1;
|
|||||||
v b
|
v b
|
||||||
abc 5
|
abc 5
|
||||||
DROP TABLE t1;
|
DROP TABLE t1;
|
||||||
|
End of 5.0 tests
|
||||||
|
drop table if exists t1, t2, t3;
|
||||||
|
create table t1 (i int);
|
||||||
|
create table t3 (j int);
|
||||||
|
insert into t1 values ();
|
||||||
|
insert into t3 values ();
|
||||||
|
lock table t1 write, t3 read;
|
||||||
|
alter table t1 modify i int default 1;
|
||||||
|
insert into t1 values ();
|
||||||
|
select * from t1;
|
||||||
|
i
|
||||||
|
NULL
|
||||||
|
1
|
||||||
|
alter table t1 change i c char(10) default "Two";
|
||||||
|
insert into t1 values ();
|
||||||
|
select * from t1;
|
||||||
|
c
|
||||||
|
NULL
|
||||||
|
1
|
||||||
|
Two
|
||||||
|
alter table t1 modify c char(10) default "Three", rename to t2;
|
||||||
|
select * from t1;
|
||||||
|
ERROR HY000: Table 't1' was not locked with LOCK TABLES
|
||||||
|
select * from t2;
|
||||||
|
ERROR HY000: Table 't2' was not locked with LOCK TABLES
|
||||||
|
select * from t3;
|
||||||
|
j
|
||||||
|
NULL
|
||||||
|
unlock tables;
|
||||||
|
insert into t2 values ();
|
||||||
|
select * from t2;
|
||||||
|
c
|
||||||
|
NULL
|
||||||
|
1
|
||||||
|
Three
|
||||||
|
lock table t2 write, t3 read;
|
||||||
|
alter table t2 change c vc varchar(100) default "Four", rename to t1;
|
||||||
|
select * from t1;
|
||||||
|
ERROR HY000: Table 't1' was not locked with LOCK TABLES
|
||||||
|
select * from t2;
|
||||||
|
ERROR HY000: Table 't2' was not locked with LOCK TABLES
|
||||||
|
select * from t3;
|
||||||
|
j
|
||||||
|
NULL
|
||||||
|
unlock tables;
|
||||||
|
insert into t1 values ();
|
||||||
|
select * from t1;
|
||||||
|
vc
|
||||||
|
NULL
|
||||||
|
1
|
||||||
|
Three
|
||||||
|
Four
|
||||||
|
drop tables t1, t3;
|
||||||
DROP TABLE IF EXISTS `t+1`, `t+2`;
|
DROP TABLE IF EXISTS `t+1`, `t+2`;
|
||||||
CREATE TABLE `t+1` (c1 INT);
|
CREATE TABLE `t+1` (c1 INT);
|
||||||
ALTER TABLE `t+1` RENAME `t+2`;
|
ALTER TABLE `t+1` RENAME `t+2`;
|
||||||
|
12
mysql-test/r/binlog_killed.result
Normal file
12
mysql-test/r/binlog_killed.result
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
create table t1 (a int auto_increment, b int, PRIMARY KEY (a)) ENGINE=InnoDB;
|
||||||
|
create table t2 (a int auto_increment, b int, PRIMARY KEY (a)) ENGINE=MyISAM;
|
||||||
|
create table t3 (a int auto_increment, b int, PRIMARY KEY (a)) ENGINE=InnoDB;
|
||||||
|
select get_lock("a", 20);
|
||||||
|
get_lock("a", 20)
|
||||||
|
1
|
||||||
|
reset master;
|
||||||
|
insert into t2 values (null, null), (null, get_lock("a", 10));
|
||||||
|
select @result /* must be zero either way */;
|
||||||
|
@result
|
||||||
|
0
|
||||||
|
drop table t1,t2,t3;
|
@ -162,3 +162,86 @@ t1 CREATE TABLE `t1` (
|
|||||||
`j` int(11) DEFAULT NULL
|
`j` int(11) DEFAULT NULL
|
||||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||||
drop table t1, t2, t3;
|
drop table t1, t2, t3;
|
||||||
|
drop table if exists t1,t2;
|
||||||
|
create table t1 (i int);
|
||||||
|
set session debug="+d,sleep_create_like_before_check_if_exists";
|
||||||
|
reset master;
|
||||||
|
create table t2 like t1;;
|
||||||
|
insert into t1 values (1);
|
||||||
|
drop table t1;
|
||||||
|
show create table t2;
|
||||||
|
Table Create Table
|
||||||
|
t2 CREATE TABLE `t2` (
|
||||||
|
`i` int(11) DEFAULT NULL
|
||||||
|
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||||
|
drop table t2;
|
||||||
|
show binlog events in 'master-bin.000001' from 106;
|
||||||
|
Log_name Pos Event_type Server_id End_log_pos Info
|
||||||
|
master-bin.000001 # Query 1 # use `test`; insert into t1 values (1)
|
||||||
|
master-bin.000001 # Query 1 # use `test`; create table t2 like t1
|
||||||
|
master-bin.000001 # Query 1 # use `test`; drop table t1
|
||||||
|
master-bin.000001 # Query 1 # use `test`; drop table t2
|
||||||
|
create table t1 (i int);
|
||||||
|
set session debug="-d,sleep_create_like_before_check_if_exists:+d,sleep_create_like_before_copy";
|
||||||
|
create table t2 like t1;;
|
||||||
|
create table if not exists t2 (j int);
|
||||||
|
Warnings:
|
||||||
|
Note 1050 Table 't2' already exists
|
||||||
|
show create table t2;
|
||||||
|
Table Create Table
|
||||||
|
t2 CREATE TABLE `t2` (
|
||||||
|
`i` int(11) DEFAULT NULL
|
||||||
|
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||||
|
drop table t2;
|
||||||
|
reset master;
|
||||||
|
create table t2 like t1;;
|
||||||
|
drop table t1;
|
||||||
|
drop table t2;
|
||||||
|
show binlog events in 'master-bin.000001' from 106;
|
||||||
|
Log_name Pos Event_type Server_id End_log_pos Info
|
||||||
|
master-bin.000001 # Query 1 # use `test`; create table t2 like t1
|
||||||
|
master-bin.000001 # Query 1 # use `test`; drop table t1
|
||||||
|
master-bin.000001 # Query 1 # use `test`; drop table t2
|
||||||
|
create table t1 (i int);
|
||||||
|
set session debug="-d,sleep_create_like_before_copy:+d,sleep_create_like_before_ha_create";
|
||||||
|
reset master;
|
||||||
|
create table t2 like t1;;
|
||||||
|
insert into t2 values (1);
|
||||||
|
drop table t2;
|
||||||
|
create table t2 like t1;;
|
||||||
|
drop table t2;
|
||||||
|
create table t2 like t1;;
|
||||||
|
drop table t1;
|
||||||
|
drop table t2;
|
||||||
|
show binlog events in 'master-bin.000001' from 106;
|
||||||
|
Log_name Pos Event_type Server_id End_log_pos Info
|
||||||
|
master-bin.000001 # Query 1 # use `test`; create table t2 like t1
|
||||||
|
master-bin.000001 # Query 1 # use `test`; insert into t2 values (1)
|
||||||
|
master-bin.000001 # Query 1 # use `test`; drop table t2
|
||||||
|
master-bin.000001 # Query 1 # use `test`; create table t2 like t1
|
||||||
|
master-bin.000001 # Query 1 # use `test`; drop table t2
|
||||||
|
master-bin.000001 # Query 1 # use `test`; create table t2 like t1
|
||||||
|
master-bin.000001 # Query 1 # use `test`; drop table t1
|
||||||
|
master-bin.000001 # Query 1 # use `test`; drop table t2
|
||||||
|
create table t1 (i int);
|
||||||
|
set session debug="-d,sleep_create_like_before_ha_create:+d,sleep_create_like_before_binlogging";
|
||||||
|
reset master;
|
||||||
|
create table t2 like t1;;
|
||||||
|
insert into t2 values (1);
|
||||||
|
drop table t2;
|
||||||
|
create table t2 like t1;;
|
||||||
|
drop table t2;
|
||||||
|
create table t2 like t1;;
|
||||||
|
drop table t1;
|
||||||
|
drop table t2;
|
||||||
|
show binlog events in 'master-bin.000001' from 106;
|
||||||
|
Log_name Pos Event_type Server_id End_log_pos Info
|
||||||
|
master-bin.000001 # Query 1 # use `test`; create table t2 like t1
|
||||||
|
master-bin.000001 # Query 1 # use `test`; insert into t2 values (1)
|
||||||
|
master-bin.000001 # Query 1 # use `test`; drop table t2
|
||||||
|
master-bin.000001 # Query 1 # use `test`; create table t2 like t1
|
||||||
|
master-bin.000001 # Query 1 # use `test`; drop table t2
|
||||||
|
master-bin.000001 # Query 1 # use `test`; create table t2 like t1
|
||||||
|
master-bin.000001 # Query 1 # use `test`; drop table t1
|
||||||
|
master-bin.000001 # Query 1 # use `test`; drop table t2
|
||||||
|
set session debug="-d,sleep_create_like_before_binlogging";
|
@ -371,7 +371,7 @@ ERROR 42S01: Table 't3' already exists
|
|||||||
create table non_existing_database.t1 like t1;
|
create table non_existing_database.t1 like t1;
|
||||||
ERROR 42000: Unknown database 'non_existing_database'
|
ERROR 42000: Unknown database 'non_existing_database'
|
||||||
create table t3 like non_existing_table;
|
create table t3 like non_existing_table;
|
||||||
ERROR 42S02: Unknown table 'non_existing_table'
|
ERROR 42S02: Table 'test.non_existing_table' doesn't exist
|
||||||
create temporary table t3 like t1;
|
create temporary table t3 like t1;
|
||||||
ERROR 42S01: Table 't3' already exists
|
ERROR 42S01: Table 't3' already exists
|
||||||
drop table t1, t2, t3;
|
drop table t1, t2, t3;
|
||||||
|
@ -528,4 +528,33 @@ DROP EVENT e3;
|
|||||||
DROP EVENT e2;
|
DROP EVENT e2;
|
||||||
DROP EVENT e1;
|
DROP EVENT e1;
|
||||||
SET TIME_ZONE=@save_time_zone;
|
SET TIME_ZONE=@save_time_zone;
|
||||||
drop database events_test;
|
drop event if exists new_event;
|
||||||
|
CREATE EVENT new_event ON SCHEDULE EVERY 0 SECOND DO SELECT 1;
|
||||||
|
ERROR HY000: INTERVAL is either not positive or too big
|
||||||
|
CREATE EVENT new_event ON SCHEDULE EVERY (SELECT 0) SECOND DO SELECT 1;
|
||||||
|
ERROR HY000: INTERVAL is either not positive or too big
|
||||||
|
CREATE EVENT new_event ON SCHEDULE EVERY "abcdef" SECOND DO SELECT 1;
|
||||||
|
ERROR HY000: INTERVAL is either not positive or too big
|
||||||
|
CREATE EVENT new_event ON SCHEDULE EVERY "0abcdef" SECOND DO SELECT 1;
|
||||||
|
ERROR HY000: INTERVAL is either not positive or too big
|
||||||
|
CREATE EVENT new_event ON SCHEDULE EVERY "a1bcdef" SECOND DO SELECT 1;
|
||||||
|
ERROR HY000: INTERVAL is either not positive or too big
|
||||||
|
CREATE EVENT new_event ON SCHEDULE EVERY (SELECT "abcdef" UNION SELECT "abcdef") SECOND DO SELECT 1;
|
||||||
|
ERROR HY000: INTERVAL is either not positive or too big
|
||||||
|
CREATE EVENT new_event ON SCHEDULE EVERY (SELECT "0abcdef") SECOND DO SELECT 1;
|
||||||
|
ERROR HY000: INTERVAL is either not positive or too big
|
||||||
|
CREATE EVENT new_event ON SCHEDULE EVERY (SELECT "a1bcdef") SECOND DO SELECT 1;
|
||||||
|
ERROR HY000: INTERVAL is either not positive or too big
|
||||||
|
CREATE EVENT new_event ON SCHEDULE AT "every day" DO SELECT 1;
|
||||||
|
ERROR HY000: Incorrect AT value: 'every day'
|
||||||
|
CREATE EVENT new_event ON SCHEDULE AT "0every day" DO SELECT 1;
|
||||||
|
ERROR HY000: Incorrect AT value: '0every day'
|
||||||
|
CREATE EVENT new_event ON SCHEDULE AT (SELECT "every day") DO SELECT 1;
|
||||||
|
ERROR HY000: Incorrect AT value: 'every day'
|
||||||
|
CREATE EVENT new_event ON SCHEDULE AT NOW() STARTS NOW() DO SELECT 1;
|
||||||
|
ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'STARTS NOW() DO SELECT 1' at line 1
|
||||||
|
CREATE EVENT new_event ON SCHEDULE AT NOW() ENDS NOW() DO SELECT 1;
|
||||||
|
ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'ENDS NOW() DO SELECT 1' at line 1
|
||||||
|
CREATE EVENT new_event ON SCHEDULE AT NOW() STARTS NOW() ENDS NOW() DO SELECT 1;
|
||||||
|
ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'STARTS NOW() ENDS NOW() DO SELECT 1' at line 1
|
||||||
|
DROP DATABASE events_test;
|
||||||
|
@ -2,11 +2,5 @@ use events_test;
|
|||||||
select @@event_scheduler;
|
select @@event_scheduler;
|
||||||
@@event_scheduler
|
@@event_scheduler
|
||||||
ON
|
ON
|
||||||
"Should get 3 rows : abc1, abc2, abc3
|
|
||||||
select distinct name from execution_log order by name;
|
|
||||||
name
|
|
||||||
abc1
|
|
||||||
abc2
|
|
||||||
abc3
|
|
||||||
drop table execution_log;
|
drop table execution_log;
|
||||||
drop database events_test;
|
drop database events_test;
|
||||||
|
@ -381,3 +381,27 @@ drop table t2;
|
|||||||
REVOKE ALL PRIVILEGES, GRANT OPTION FROM `a@`@localhost;
|
REVOKE ALL PRIVILEGES, GRANT OPTION FROM `a@`@localhost;
|
||||||
drop user `a@`@localhost;
|
drop user `a@`@localhost;
|
||||||
SET GLOBAL log_bin_trust_function_creators = 0;
|
SET GLOBAL log_bin_trust_function_creators = 0;
|
||||||
|
drop database if exists mysqltest_1;
|
||||||
|
drop database if exists mysqltest_2;
|
||||||
|
drop user mysqltest_u1@localhost;
|
||||||
|
create database mysqltest_1;
|
||||||
|
create database mysqltest_2;
|
||||||
|
grant all on mysqltest_1.* to mysqltest_u1@localhost;
|
||||||
|
use mysqltest_2;
|
||||||
|
create table t1 (i int);
|
||||||
|
show create table mysqltest_2.t1;
|
||||||
|
ERROR 42000: SELECT command denied to user 'mysqltest_u1'@'localhost' for table 't1'
|
||||||
|
create table t1 like mysqltest_2.t1;
|
||||||
|
ERROR 42000: SELECT command denied to user 'mysqltest_u1'@'localhost' for table 't1'
|
||||||
|
grant select on mysqltest_2.t1 to mysqltest_u1@localhost;
|
||||||
|
show create table mysqltest_2.t1;
|
||||||
|
Table Create Table
|
||||||
|
t1 CREATE TABLE `t1` (
|
||||||
|
`i` int(11) DEFAULT NULL
|
||||||
|
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||||
|
create table t1 like mysqltest_2.t1;
|
||||||
|
use test;
|
||||||
|
drop database mysqltest_1;
|
||||||
|
drop database mysqltest_2;
|
||||||
|
drop user mysqltest_u1@localhost;
|
||||||
|
End of 5.0 tests
|
||||||
|
@ -3,6 +3,7 @@ drop database if exists mysqltest;
|
|||||||
set GLOBAL query_cache_size=1355776;
|
set GLOBAL query_cache_size=1355776;
|
||||||
reset query cache;
|
reset query cache;
|
||||||
flush status;
|
flush status;
|
||||||
|
----- establish connection root -----
|
||||||
show grants for current_user;
|
show grants for current_user;
|
||||||
Grants for root@localhost
|
Grants for root@localhost
|
||||||
GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' WITH GRANT OPTION
|
GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' WITH GRANT OPTION
|
||||||
@ -19,6 +20,7 @@ insert into test.t1 values ("test.t1");
|
|||||||
select * from t1;
|
select * from t1;
|
||||||
a
|
a
|
||||||
test.t1
|
test.t1
|
||||||
|
----- establish connection root2 -----
|
||||||
select * from t1;
|
select * from t1;
|
||||||
a b c
|
a b c
|
||||||
1 1 1
|
1 1 1
|
||||||
@ -48,6 +50,7 @@ grant SELECT on mysqltest.* to mysqltest_1@localhost;
|
|||||||
grant SELECT on mysqltest.t1 to mysqltest_2@localhost;
|
grant SELECT on mysqltest.t1 to mysqltest_2@localhost;
|
||||||
grant SELECT on test.t1 to mysqltest_2@localhost;
|
grant SELECT on test.t1 to mysqltest_2@localhost;
|
||||||
grant SELECT(a) on mysqltest.t1 to mysqltest_3@localhost;
|
grant SELECT(a) on mysqltest.t1 to mysqltest_3@localhost;
|
||||||
|
----- establish connection user1 (user=mysqltest_1) -----
|
||||||
show grants for current_user();
|
show grants for current_user();
|
||||||
Grants for mysqltest_1@localhost
|
Grants for mysqltest_1@localhost
|
||||||
GRANT USAGE ON *.* TO 'mysqltest_1'@'localhost'
|
GRANT USAGE ON *.* TO 'mysqltest_1'@'localhost'
|
||||||
@ -112,9 +115,11 @@ Qcache_hits 3
|
|||||||
show status like "Qcache_not_cached";
|
show status like "Qcache_not_cached";
|
||||||
Variable_name Value
|
Variable_name Value
|
||||||
Qcache_not_cached 1
|
Qcache_not_cached 1
|
||||||
|
----- establish connection unkuser (user=unkuser) -----
|
||||||
show grants for current_user();
|
show grants for current_user();
|
||||||
Grants for @localhost
|
Grants for @localhost
|
||||||
GRANT USAGE ON *.* TO ''@'localhost'
|
GRANT USAGE ON *.* TO ''@'localhost'
|
||||||
|
----- establish connection user2 (user=mysqltest_2) -----
|
||||||
select "user2";
|
select "user2";
|
||||||
user2
|
user2
|
||||||
user2
|
user2
|
||||||
@ -145,6 +150,7 @@ Qcache_hits 7
|
|||||||
show status like "Qcache_not_cached";
|
show status like "Qcache_not_cached";
|
||||||
Variable_name Value
|
Variable_name Value
|
||||||
Qcache_not_cached 2
|
Qcache_not_cached 2
|
||||||
|
----- establish connection user3 (user=mysqltest_3) -----
|
||||||
select "user3";
|
select "user3";
|
||||||
user3
|
user3
|
||||||
user3
|
user3
|
||||||
@ -169,6 +175,7 @@ Qcache_hits 7
|
|||||||
show status like "Qcache_not_cached";
|
show status like "Qcache_not_cached";
|
||||||
Variable_name Value
|
Variable_name Value
|
||||||
Qcache_not_cached 7
|
Qcache_not_cached 7
|
||||||
|
----- establish connection user4 (user=mysqltest_1) -----
|
||||||
select "user4";
|
select "user4";
|
||||||
user4
|
user4
|
||||||
user4
|
user4
|
||||||
@ -199,6 +206,7 @@ Qcache_hits 8
|
|||||||
show status like "Qcache_not_cached";
|
show status like "Qcache_not_cached";
|
||||||
Variable_name Value
|
Variable_name Value
|
||||||
Qcache_not_cached 8
|
Qcache_not_cached 8
|
||||||
|
----- switch to connection default and close connections -----
|
||||||
set names binary;
|
set names binary;
|
||||||
delete from mysql.user where user in ("mysqltest_1","mysqltest_2","mysqltest_3");
|
delete from mysql.user where user in ("mysqltest_1","mysqltest_2","mysqltest_3");
|
||||||
delete from mysql.db where user in ("mysqltest_1","mysqltest_2","mysqltest_3");
|
delete from mysql.db where user in ("mysqltest_1","mysqltest_2","mysqltest_3");
|
218
mysql-test/r/grant_cache_ps_prot.result
Normal file
218
mysql-test/r/grant_cache_ps_prot.result
Normal file
@ -0,0 +1,218 @@
|
|||||||
|
drop table if exists test.t1,mysqltest.t1,mysqltest.t2;
|
||||||
|
drop database if exists mysqltest;
|
||||||
|
set GLOBAL query_cache_size=1355776;
|
||||||
|
reset query cache;
|
||||||
|
flush status;
|
||||||
|
----- establish connection root -----
|
||||||
|
show grants for current_user;
|
||||||
|
Grants for root@localhost
|
||||||
|
GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' WITH GRANT OPTION
|
||||||
|
show grants;
|
||||||
|
Grants for root@localhost
|
||||||
|
GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' WITH GRANT OPTION
|
||||||
|
create database if not exists mysqltest;
|
||||||
|
create table mysqltest.t1 (a int,b int,c int);
|
||||||
|
create table mysqltest.t2 (a int,b int,c int);
|
||||||
|
insert into mysqltest.t1 values (1,1,1),(2,2,2);
|
||||||
|
insert into mysqltest.t2 values (3,3,3);
|
||||||
|
create table test.t1 (a char (10));
|
||||||
|
insert into test.t1 values ("test.t1");
|
||||||
|
select * from t1;
|
||||||
|
a
|
||||||
|
test.t1
|
||||||
|
----- establish connection root2 -----
|
||||||
|
select * from t1;
|
||||||
|
a b c
|
||||||
|
1 1 1
|
||||||
|
2 2 2
|
||||||
|
select a from t1;
|
||||||
|
a
|
||||||
|
1
|
||||||
|
2
|
||||||
|
select c from t1;
|
||||||
|
c
|
||||||
|
1
|
||||||
|
2
|
||||||
|
select * from t2;
|
||||||
|
a b c
|
||||||
|
3 3 3
|
||||||
|
select * from mysqltest.t1,test.t1;
|
||||||
|
a b c a
|
||||||
|
1 1 1 test.t1
|
||||||
|
2 2 2 test.t1
|
||||||
|
show status like "Qcache_queries_in_cache";
|
||||||
|
Variable_name Value
|
||||||
|
Qcache_queries_in_cache 6
|
||||||
|
show status like "Qcache_hits%";
|
||||||
|
Variable_name Value
|
||||||
|
Qcache_hits 0
|
||||||
|
grant SELECT on mysqltest.* to mysqltest_1@localhost;
|
||||||
|
grant SELECT on mysqltest.t1 to mysqltest_2@localhost;
|
||||||
|
grant SELECT on test.t1 to mysqltest_2@localhost;
|
||||||
|
grant SELECT(a) on mysqltest.t1 to mysqltest_3@localhost;
|
||||||
|
----- establish connection user1 (user=mysqltest_1) -----
|
||||||
|
show grants for current_user();
|
||||||
|
Grants for mysqltest_1@localhost
|
||||||
|
GRANT USAGE ON *.* TO 'mysqltest_1'@'localhost'
|
||||||
|
GRANT SELECT ON `mysqltest`.* TO 'mysqltest_1'@'localhost'
|
||||||
|
show status like "Qcache_queries_in_cache";
|
||||||
|
Variable_name Value
|
||||||
|
Qcache_queries_in_cache 6
|
||||||
|
show status like "Qcache_hits";
|
||||||
|
Variable_name Value
|
||||||
|
Qcache_hits 0
|
||||||
|
show status like "Qcache_not_cached";
|
||||||
|
Variable_name Value
|
||||||
|
Qcache_not_cached 0
|
||||||
|
select "user1";
|
||||||
|
user1
|
||||||
|
user1
|
||||||
|
show status like "Qcache_queries_in_cache";
|
||||||
|
Variable_name Value
|
||||||
|
Qcache_queries_in_cache 6
|
||||||
|
show status like "Qcache_hits";
|
||||||
|
Variable_name Value
|
||||||
|
Qcache_hits 0
|
||||||
|
show status like "Qcache_not_cached";
|
||||||
|
Variable_name Value
|
||||||
|
Qcache_not_cached 1
|
||||||
|
select * from t1;
|
||||||
|
a b c
|
||||||
|
1 1 1
|
||||||
|
2 2 2
|
||||||
|
show status like "Qcache_queries_in_cache";
|
||||||
|
Variable_name Value
|
||||||
|
Qcache_queries_in_cache 6
|
||||||
|
show status like "Qcache_hits";
|
||||||
|
Variable_name Value
|
||||||
|
Qcache_hits 1
|
||||||
|
show status like "Qcache_not_cached";
|
||||||
|
Variable_name Value
|
||||||
|
Qcache_not_cached 1
|
||||||
|
select a from t1 ;
|
||||||
|
a
|
||||||
|
1
|
||||||
|
2
|
||||||
|
show status like "Qcache_queries_in_cache";
|
||||||
|
Variable_name Value
|
||||||
|
Qcache_queries_in_cache 6
|
||||||
|
show status like "Qcache_hits";
|
||||||
|
Variable_name Value
|
||||||
|
Qcache_hits 2
|
||||||
|
show status like "Qcache_not_cached";
|
||||||
|
Variable_name Value
|
||||||
|
Qcache_not_cached 1
|
||||||
|
select c from t1;
|
||||||
|
c
|
||||||
|
1
|
||||||
|
2
|
||||||
|
show status like "Qcache_queries_in_cache";
|
||||||
|
Variable_name Value
|
||||||
|
Qcache_queries_in_cache 6
|
||||||
|
show status like "Qcache_hits";
|
||||||
|
Variable_name Value
|
||||||
|
Qcache_hits 3
|
||||||
|
show status like "Qcache_not_cached";
|
||||||
|
Variable_name Value
|
||||||
|
Qcache_not_cached 1
|
||||||
|
----- establish connection unkuser (user=unkuser) -----
|
||||||
|
show grants for current_user();
|
||||||
|
Grants for @localhost
|
||||||
|
GRANT USAGE ON *.* TO ''@'localhost'
|
||||||
|
----- establish connection user2 (user=mysqltest_2) -----
|
||||||
|
select "user2";
|
||||||
|
user2
|
||||||
|
user2
|
||||||
|
select * from t1;
|
||||||
|
a b c
|
||||||
|
1 1 1
|
||||||
|
2 2 2
|
||||||
|
select a from t1;
|
||||||
|
a
|
||||||
|
1
|
||||||
|
2
|
||||||
|
select c from t1;
|
||||||
|
c
|
||||||
|
1
|
||||||
|
2
|
||||||
|
select * from mysqltest.t1,test.t1;
|
||||||
|
a b c a
|
||||||
|
1 1 1 test.t1
|
||||||
|
2 2 2 test.t1
|
||||||
|
select * from t2;
|
||||||
|
ERROR 42000: SELECT command denied to user 'mysqltest_2'@'localhost' for table 't2'
|
||||||
|
show status like "Qcache_queries_in_cache";
|
||||||
|
Variable_name Value
|
||||||
|
Qcache_queries_in_cache 6
|
||||||
|
show status like "Qcache_hits";
|
||||||
|
Variable_name Value
|
||||||
|
Qcache_hits 7
|
||||||
|
show status like "Qcache_not_cached";
|
||||||
|
Variable_name Value
|
||||||
|
Qcache_not_cached 2
|
||||||
|
----- establish connection user3 (user=mysqltest_3) -----
|
||||||
|
select "user3";
|
||||||
|
user3
|
||||||
|
user3
|
||||||
|
select * from t1;
|
||||||
|
ERROR 42000: SELECT command denied to user 'mysqltest_3'@'localhost' for column 'b' in table 't1'
|
||||||
|
select a from t1;
|
||||||
|
a
|
||||||
|
1
|
||||||
|
2
|
||||||
|
select c from t1;
|
||||||
|
ERROR 42000: SELECT command denied to user 'mysqltest_3'@'localhost' for column 'c' in table 't1'
|
||||||
|
select * from t2;
|
||||||
|
ERROR 42000: SELECT command denied to user 'mysqltest_3'@'localhost' for table 't2'
|
||||||
|
select mysqltest.t1.c from test.t1,mysqltest.t1;
|
||||||
|
ERROR 42000: SELECT command denied to user 'mysqltest_3'@'localhost' for column 'c' in table 't1'
|
||||||
|
show status like "Qcache_queries_in_cache";
|
||||||
|
Variable_name Value
|
||||||
|
Qcache_queries_in_cache 6
|
||||||
|
show status like "Qcache_hits";
|
||||||
|
Variable_name Value
|
||||||
|
Qcache_hits 7
|
||||||
|
show status like "Qcache_not_cached";
|
||||||
|
Variable_name Value
|
||||||
|
Qcache_not_cached 4
|
||||||
|
----- establish connection user4 (user=mysqltest_1) -----
|
||||||
|
select "user4";
|
||||||
|
user4
|
||||||
|
user4
|
||||||
|
show grants;
|
||||||
|
Grants for mysqltest_1@localhost
|
||||||
|
GRANT USAGE ON *.* TO 'mysqltest_1'@'localhost'
|
||||||
|
GRANT SELECT ON `mysqltest`.* TO 'mysqltest_1'@'localhost'
|
||||||
|
select a from t1;
|
||||||
|
ERROR 3D000: No database selected
|
||||||
|
select * from mysqltest.t1,test.t1;
|
||||||
|
a b c a
|
||||||
|
1 1 1 test.t1
|
||||||
|
2 2 2 test.t1
|
||||||
|
select a from mysqltest.t1;
|
||||||
|
a
|
||||||
|
1
|
||||||
|
2
|
||||||
|
select a from mysqltest.t1;
|
||||||
|
a
|
||||||
|
1
|
||||||
|
2
|
||||||
|
show status like "Qcache_queries_in_cache";
|
||||||
|
Variable_name Value
|
||||||
|
Qcache_queries_in_cache 8
|
||||||
|
show status like "Qcache_hits";
|
||||||
|
Variable_name Value
|
||||||
|
Qcache_hits 8
|
||||||
|
show status like "Qcache_not_cached";
|
||||||
|
Variable_name Value
|
||||||
|
Qcache_not_cached 5
|
||||||
|
----- switch to connection default and close connections -----
|
||||||
|
set names binary;
|
||||||
|
delete from mysql.user where user in ("mysqltest_1","mysqltest_2","mysqltest_3");
|
||||||
|
delete from mysql.db where user in ("mysqltest_1","mysqltest_2","mysqltest_3");
|
||||||
|
delete from mysql.tables_priv where user in ("mysqltest_1","mysqltest_2","mysqltest_3");
|
||||||
|
delete from mysql.columns_priv where user in ("mysqltest_1","mysqltest_2","mysqltest_3");
|
||||||
|
flush privileges;
|
||||||
|
drop table test.t1,mysqltest.t1,mysqltest.t2;
|
||||||
|
drop database mysqltest;
|
||||||
|
set GLOBAL query_cache_size=default;
|
@ -817,4 +817,28 @@ lock table t2 write;
|
|||||||
alter table t2 modify i int default 4, rename t1;
|
alter table t2 modify i int default 4, rename t1;
|
||||||
unlock tables;
|
unlock tables;
|
||||||
drop table t1;
|
drop table t1;
|
||||||
|
drop table if exists t1;
|
||||||
|
create table t1 (i int);
|
||||||
|
insert into t1 values ();
|
||||||
|
lock table t1 write;
|
||||||
|
alter table t1 modify i int default 1;
|
||||||
|
insert into t1 values ();
|
||||||
|
select * from t1;
|
||||||
|
i
|
||||||
|
NULL
|
||||||
|
1
|
||||||
|
alter table t1 change i c char(10) default "Two";
|
||||||
|
insert into t1 values ();
|
||||||
|
select * from t1;
|
||||||
|
c
|
||||||
|
NULL
|
||||||
|
1
|
||||||
|
Two
|
||||||
|
unlock tables;
|
||||||
|
select * from t1;
|
||||||
|
c
|
||||||
|
NULL
|
||||||
|
1
|
||||||
|
Two
|
||||||
|
drop tables t1;
|
||||||
End of 5.1 tests
|
End of 5.1 tests
|
||||||
|
@ -1062,6 +1062,87 @@ EXECUTE stmt USING @a;
|
|||||||
0 0
|
0 0
|
||||||
DEALLOCATE PREPARE stmt;
|
DEALLOCATE PREPARE stmt;
|
||||||
DROP TABLE t1;
|
DROP TABLE t1;
|
||||||
|
DROP TABLE IF EXISTS t1, t2;
|
||||||
|
CREATE TABLE t1 (i INT);
|
||||||
|
PREPARE st_19182
|
||||||
|
FROM "CREATE TABLE t2 (i INT, j INT, KEY (i), KEY(j)) SELECT i FROM t1";
|
||||||
|
EXECUTE st_19182;
|
||||||
|
DESC t2;
|
||||||
|
Field Type Null Key Default Extra
|
||||||
|
j int(11) YES MUL NULL
|
||||||
|
i int(11) YES MUL NULL
|
||||||
|
DROP TABLE t2;
|
||||||
|
EXECUTE st_19182;
|
||||||
|
DESC t2;
|
||||||
|
Field Type Null Key Default Extra
|
||||||
|
j int(11) YES MUL NULL
|
||||||
|
i int(11) YES MUL NULL
|
||||||
|
DEALLOCATE PREPARE st_19182;
|
||||||
|
DROP TABLE t2, t1;
|
||||||
|
drop database if exists mysqltest;
|
||||||
|
drop table if exists t1, t2;
|
||||||
|
create database mysqltest character set utf8;
|
||||||
|
prepare stmt1 from "create table mysqltest.t1 (c char(10))";
|
||||||
|
prepare stmt2 from "create table mysqltest.t2 select 'test'";
|
||||||
|
execute stmt1;
|
||||||
|
execute stmt2;
|
||||||
|
show create table mysqltest.t1;
|
||||||
|
Table Create Table
|
||||||
|
t1 CREATE TABLE `t1` (
|
||||||
|
`c` char(10) DEFAULT NULL
|
||||||
|
) ENGINE=MyISAM DEFAULT CHARSET=utf8
|
||||||
|
show create table mysqltest.t2;
|
||||||
|
Table Create Table
|
||||||
|
t2 CREATE TABLE `t2` (
|
||||||
|
`test` varchar(4) CHARACTER SET latin1 NOT NULL DEFAULT ''
|
||||||
|
) ENGINE=MyISAM DEFAULT CHARSET=utf8
|
||||||
|
drop table mysqltest.t1;
|
||||||
|
drop table mysqltest.t2;
|
||||||
|
alter database mysqltest character set latin1;
|
||||||
|
execute stmt1;
|
||||||
|
execute stmt2;
|
||||||
|
show create table mysqltest.t1;
|
||||||
|
Table Create Table
|
||||||
|
t1 CREATE TABLE `t1` (
|
||||||
|
`c` char(10) DEFAULT NULL
|
||||||
|
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||||
|
show create table mysqltest.t2;
|
||||||
|
Table Create Table
|
||||||
|
t2 CREATE TABLE `t2` (
|
||||||
|
`test` varchar(4) NOT NULL DEFAULT ''
|
||||||
|
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||||
|
drop database mysqltest;
|
||||||
|
deallocate prepare stmt1;
|
||||||
|
deallocate prepare stmt2;
|
||||||
|
execute stmt;
|
||||||
|
show create table t1;
|
||||||
|
drop table t1;
|
||||||
|
execute stmt;
|
||||||
|
show create table t1;
|
||||||
|
drop table t1;
|
||||||
|
deallocate prepare stmt;
|
||||||
|
CREATE TABLE t1(a int);
|
||||||
|
INSERT INTO t1 VALUES (2), (3), (1);
|
||||||
|
PREPARE st1 FROM
|
||||||
|
'(SELECT a FROM t1) UNION (SELECT a+10 FROM t1) ORDER BY RAND()*0+a';
|
||||||
|
EXECUTE st1;
|
||||||
|
a
|
||||||
|
1
|
||||||
|
2
|
||||||
|
3
|
||||||
|
11
|
||||||
|
12
|
||||||
|
13
|
||||||
|
EXECUTE st1;
|
||||||
|
a
|
||||||
|
1
|
||||||
|
2
|
||||||
|
3
|
||||||
|
11
|
||||||
|
12
|
||||||
|
13
|
||||||
|
DEALLOCATE PREPARE st1;
|
||||||
|
DROP TABLE t1;
|
||||||
End of 4.1 tests.
|
End of 4.1 tests.
|
||||||
create table t1 (a varchar(20));
|
create table t1 (a varchar(20));
|
||||||
insert into t1 values ('foo');
|
insert into t1 values ('foo');
|
||||||
@ -1544,6 +1625,72 @@ a
|
|||||||
2
|
2
|
||||||
DEALLOCATE PREPARE stmt;
|
DEALLOCATE PREPARE stmt;
|
||||||
DROP TABLE t1,t2;
|
DROP TABLE t1,t2;
|
||||||
|
drop table if exists t1;
|
||||||
|
create table t1 (s1 char(20));
|
||||||
|
prepare stmt from "alter table t1 modify s1 int";
|
||||||
|
execute stmt;
|
||||||
|
execute stmt;
|
||||||
|
drop table t1;
|
||||||
|
deallocate prepare stmt;
|
||||||
|
drop table if exists t1;
|
||||||
|
create table t1 (a int, b int);
|
||||||
|
prepare s_6895 from "alter table t1 drop column b";
|
||||||
|
execute s_6895;
|
||||||
|
show columns from t1;
|
||||||
|
Field Type Null Key Default Extra
|
||||||
|
a int(11) YES NULL
|
||||||
|
drop table t1;
|
||||||
|
create table t1 (a int, b int);
|
||||||
|
execute s_6895;
|
||||||
|
show columns from t1;
|
||||||
|
Field Type Null Key Default Extra
|
||||||
|
a int(11) YES NULL
|
||||||
|
drop table t1;
|
||||||
|
create table t1 (a int, b int);
|
||||||
|
execute s_6895;
|
||||||
|
show columns from t1;
|
||||||
|
Field Type Null Key Default Extra
|
||||||
|
a int(11) YES NULL
|
||||||
|
deallocate prepare s_6895;
|
||||||
|
drop table t1;
|
||||||
|
create table t1 (i int primary key auto_increment) comment='comment for table t1';
|
||||||
|
create table t2 (i int, j int, k int);
|
||||||
|
prepare stmt from "alter table t1 auto_increment=100";
|
||||||
|
execute stmt;
|
||||||
|
show create table t1;
|
||||||
|
Table Create Table
|
||||||
|
t1 CREATE TABLE `t1` (
|
||||||
|
`i` int(11) NOT NULL AUTO_INCREMENT,
|
||||||
|
PRIMARY KEY (`i`)
|
||||||
|
) ENGINE=MyISAM AUTO_INCREMENT=100 DEFAULT CHARSET=latin1 COMMENT='comment for table t1'
|
||||||
|
flush tables;
|
||||||
|
select * from t2;
|
||||||
|
i j k
|
||||||
|
execute stmt;
|
||||||
|
show create table t1;
|
||||||
|
Table Create Table
|
||||||
|
t1 CREATE TABLE `t1` (
|
||||||
|
`i` int(11) NOT NULL AUTO_INCREMENT,
|
||||||
|
PRIMARY KEY (`i`)
|
||||||
|
) ENGINE=MyISAM AUTO_INCREMENT=100 DEFAULT CHARSET=latin1 COMMENT='comment for table t1'
|
||||||
|
deallocate prepare stmt;
|
||||||
|
drop table t1, t2;
|
||||||
|
set @old_character_set_server= @@character_set_server;
|
||||||
|
set @@character_set_server= latin1;
|
||||||
|
prepare stmt from "create database mysqltest_1";
|
||||||
|
execute stmt;
|
||||||
|
show create database mysqltest_1;
|
||||||
|
Database Create Database
|
||||||
|
mysqltest_1 CREATE DATABASE `mysqltest_1` /*!40100 DEFAULT CHARACTER SET latin1 */
|
||||||
|
drop database mysqltest_1;
|
||||||
|
set @@character_set_server= utf8;
|
||||||
|
execute stmt;
|
||||||
|
show create database mysqltest_1;
|
||||||
|
Database Create Database
|
||||||
|
mysqltest_1 CREATE DATABASE `mysqltest_1` /*!40100 DEFAULT CHARACTER SET utf8 */
|
||||||
|
drop database mysqltest_1;
|
||||||
|
deallocate prepare stmt;
|
||||||
|
set @@character_set_server= @old_character_set_server;
|
||||||
drop tables if exists t1;
|
drop tables if exists t1;
|
||||||
create table t1 (id int primary key auto_increment, value varchar(10));
|
create table t1 (id int primary key auto_increment, value varchar(10));
|
||||||
insert into t1 (id, value) values (1, 'FIRST'), (2, 'SECOND'), (3, 'THIRD');
|
insert into t1 (id, value) values (1, 'FIRST'), (2, 'SECOND'), (3, 'THIRD');
|
||||||
@ -2524,4 +2671,25 @@ i j
|
|||||||
4 5
|
4 5
|
||||||
3 NULL
|
3 NULL
|
||||||
DROP TABLE t1, t2;
|
DROP TABLE t1, t2;
|
||||||
|
drop table if exists t1;
|
||||||
|
Warnings:
|
||||||
|
Note 1051 Unknown table 't1'
|
||||||
|
prepare stmt
|
||||||
|
from "create table t1 (c char(100) character set utf8, key (c(10)))";
|
||||||
|
execute stmt;
|
||||||
|
show create table t1;
|
||||||
|
Table Create Table
|
||||||
|
t1 CREATE TABLE `t1` (
|
||||||
|
`c` char(100) CHARACTER SET utf8 DEFAULT NULL,
|
||||||
|
KEY `c` (`c`(10))
|
||||||
|
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||||
|
drop table t1;
|
||||||
|
execute stmt;
|
||||||
|
show create table t1;
|
||||||
|
Table Create Table
|
||||||
|
t1 CREATE TABLE `t1` (
|
||||||
|
`c` char(100) CHARACTER SET utf8 DEFAULT NULL,
|
||||||
|
KEY `c` (`c`(10))
|
||||||
|
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||||
|
drop table t1;
|
||||||
End of 5.1 tests.
|
End of 5.1 tests.
|
||||||
|
@ -1917,38 +1917,38 @@ from t9 where c1= 1 ;
|
|||||||
1 1 1 1 1 1 1 1 1 1 1.0000 1.0000 2004-02-29 2004-02-29 11:11:11 2004-02-29 11:11:11 11:11:11 2004 1 1 a 123456789a 123456789a123456789b123456789c tinyblob tinytext blob text mediumblob mediumtext longblob longtext one monday
|
1 1 1 1 1 1 1 1 1 1 1.0000 1.0000 2004-02-29 2004-02-29 11:11:11 2004-02-29 11:11:11 11:11:11 2004 1 1 a 123456789a 123456789a123456789b123456789c tinyblob tinytext blob text mediumblob mediumtext longblob longtext one monday
|
||||||
execute full_info ;
|
execute full_info ;
|
||||||
Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
|
Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
|
||||||
def @arg01 253 20 1 Y 128 0 63
|
def @arg01 8 20 1 Y 32896 0 63
|
||||||
def @arg02 253 20 1 Y 128 0 63
|
def @arg02 8 20 1 Y 32896 0 63
|
||||||
def @arg03 253 20 1 Y 128 0 63
|
def @arg03 8 20 1 Y 32896 0 63
|
||||||
def @arg04 253 20 1 Y 128 0 63
|
def @arg04 8 20 1 Y 32896 0 63
|
||||||
def @arg05 253 20 1 Y 128 0 63
|
def @arg05 8 20 1 Y 32896 0 63
|
||||||
def @arg06 253 20 1 Y 128 0 63
|
def @arg06 8 20 1 Y 32896 0 63
|
||||||
def @arg07 253 23 1 Y 128 31 63
|
def @arg07 5 23 1 Y 32896 31 63
|
||||||
def @arg08 253 23 1 Y 128 31 63
|
def @arg08 5 23 1 Y 32896 31 63
|
||||||
def @arg09 253 23 1 Y 128 31 63
|
def @arg09 5 23 1 Y 32896 31 63
|
||||||
def @arg10 253 23 1 Y 128 31 63
|
def @arg10 5 23 1 Y 32896 31 63
|
||||||
def @arg11 253 67 6 Y 128 30 63
|
def @arg11 246 67 6 Y 128 30 63
|
||||||
def @arg12 253 67 6 Y 128 30 63
|
def @arg12 246 67 6 Y 128 30 63
|
||||||
def @arg13 253 16777216 10 Y 128 31 63
|
def @arg13 251 16777216 10 Y 128 31 63
|
||||||
def @arg14 253 16777216 19 Y 128 31 63
|
def @arg14 251 16777216 19 Y 128 31 63
|
||||||
def @arg15 253 16777216 19 Y 128 31 63
|
def @arg15 251 16777216 19 Y 128 31 63
|
||||||
def @arg16 253 16777216 8 Y 128 31 63
|
def @arg16 251 16777216 8 Y 128 31 63
|
||||||
def @arg17 253 20 4 Y 128 0 63
|
def @arg17 8 20 4 Y 32928 0 63
|
||||||
def @arg18 253 20 1 Y 128 0 63
|
def @arg18 8 20 1 Y 32896 0 63
|
||||||
def @arg19 253 20 1 Y 128 0 63
|
def @arg19 8 20 1 Y 32896 0 63
|
||||||
def @arg20 253 16777216 1 Y 0 31 8
|
def @arg20 251 16777216 1 Y 0 31 8
|
||||||
def @arg21 253 16777216 10 Y 0 31 8
|
def @arg21 251 16777216 10 Y 0 31 8
|
||||||
def @arg22 253 16777216 30 Y 0 31 8
|
def @arg22 251 16777216 30 Y 0 31 8
|
||||||
def @arg23 253 16777216 8 Y 128 31 63
|
def @arg23 251 16777216 8 Y 128 31 63
|
||||||
def @arg24 253 16777216 8 Y 0 31 8
|
def @arg24 251 16777216 8 Y 0 31 8
|
||||||
def @arg25 253 16777216 4 Y 128 31 63
|
def @arg25 251 16777216 4 Y 128 31 63
|
||||||
def @arg26 253 16777216 4 Y 0 31 8
|
def @arg26 251 16777216 4 Y 0 31 8
|
||||||
def @arg27 253 16777216 10 Y 128 31 63
|
def @arg27 251 16777216 10 Y 128 31 63
|
||||||
def @arg28 253 16777216 10 Y 0 31 8
|
def @arg28 251 16777216 10 Y 0 31 8
|
||||||
def @arg29 253 16777216 8 Y 128 31 63
|
def @arg29 251 16777216 8 Y 128 31 63
|
||||||
def @arg30 253 16777216 8 Y 0 31 8
|
def @arg30 251 16777216 8 Y 0 31 8
|
||||||
def @arg31 253 16777216 3 Y 0 31 8
|
def @arg31 251 16777216 3 Y 0 31 8
|
||||||
def @arg32 253 16777216 6 Y 0 31 8
|
def @arg32 251 16777216 6 Y 0 31 8
|
||||||
@arg01 @arg02 @arg03 @arg04 @arg05 @arg06 @arg07 @arg08 @arg09 @arg10 @arg11 @arg12 @arg13 @arg14 @arg15 @arg16 @arg17 @arg18 @arg19 @arg20 @arg21 @arg22 @arg23 @arg24 @arg25 @arg26 @arg27 @arg28 @arg29 @arg30 @arg31 @arg32
|
@arg01 @arg02 @arg03 @arg04 @arg05 @arg06 @arg07 @arg08 @arg09 @arg10 @arg11 @arg12 @arg13 @arg14 @arg15 @arg16 @arg17 @arg18 @arg19 @arg20 @arg21 @arg22 @arg23 @arg24 @arg25 @arg26 @arg27 @arg28 @arg29 @arg30 @arg31 @arg32
|
||||||
1 1 1 1 1 1 1 1 1 1 1.0000 1.0000 2004-02-29 2004-02-29 11:11:11 2004-02-29 11:11:11 11:11:11 2004 1 1 a 123456789a 123456789a123456789b123456789c tinyblob tinytext blob text mediumblob mediumtext longblob longtext one monday
|
1 1 1 1 1 1 1 1 1 1 1.0000 1.0000 2004-02-29 2004-02-29 11:11:11 2004-02-29 11:11:11 11:11:11 2004 1 1 a 123456789a 123456789a123456789b123456789c tinyblob tinytext blob text mediumblob mediumtext longblob longtext one monday
|
||||||
select @arg01:= c1, @arg02:= c2, @arg03:= c3, @arg04:= c4,
|
select @arg01:= c1, @arg02:= c2, @arg03:= c3, @arg04:= c4,
|
||||||
@ -1964,38 +1964,38 @@ from t9 where c1= 0 ;
|
|||||||
0 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 1991-01-01 01:01:01 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
|
0 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 1991-01-01 01:01:01 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
|
||||||
execute full_info ;
|
execute full_info ;
|
||||||
Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
|
Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
|
||||||
def @arg01 253 20 1 Y 128 0 63
|
def @arg01 8 20 1 Y 32896 0 63
|
||||||
def @arg02 253 20 0 Y 128 0 63
|
def @arg02 8 20 0 Y 32896 0 63
|
||||||
def @arg03 253 20 0 Y 128 0 63
|
def @arg03 8 20 0 Y 32896 0 63
|
||||||
def @arg04 253 20 0 Y 128 0 63
|
def @arg04 8 20 0 Y 32896 0 63
|
||||||
def @arg05 253 20 0 Y 128 0 63
|
def @arg05 8 20 0 Y 32896 0 63
|
||||||
def @arg06 253 20 0 Y 128 0 63
|
def @arg06 8 20 0 Y 32896 0 63
|
||||||
def @arg07 253 23 0 Y 128 31 63
|
def @arg07 5 23 0 Y 32896 31 63
|
||||||
def @arg08 253 23 0 Y 128 31 63
|
def @arg08 5 23 0 Y 32896 31 63
|
||||||
def @arg09 253 23 0 Y 128 31 63
|
def @arg09 5 23 0 Y 32896 31 63
|
||||||
def @arg10 253 23 0 Y 128 31 63
|
def @arg10 5 23 0 Y 32896 31 63
|
||||||
def @arg11 253 67 0 Y 128 30 63
|
def @arg11 246 67 0 Y 128 30 63
|
||||||
def @arg12 253 67 0 Y 128 30 63
|
def @arg12 246 67 0 Y 128 30 63
|
||||||
def @arg13 253 16777216 0 Y 128 31 63
|
def @arg13 251 16777216 0 Y 128 31 63
|
||||||
def @arg14 253 16777216 0 Y 128 31 63
|
def @arg14 251 16777216 0 Y 128 31 63
|
||||||
def @arg15 253 16777216 19 Y 128 31 63
|
def @arg15 251 16777216 19 Y 128 31 63
|
||||||
def @arg16 253 16777216 0 Y 128 31 63
|
def @arg16 251 16777216 0 Y 128 31 63
|
||||||
def @arg17 253 20 0 Y 128 0 63
|
def @arg17 8 20 0 Y 32928 0 63
|
||||||
def @arg18 253 20 0 Y 128 0 63
|
def @arg18 8 20 0 Y 32896 0 63
|
||||||
def @arg19 253 20 0 Y 128 0 63
|
def @arg19 8 20 0 Y 32896 0 63
|
||||||
def @arg20 253 16777216 0 Y 0 31 8
|
def @arg20 251 16777216 0 Y 0 31 8
|
||||||
def @arg21 253 16777216 0 Y 0 31 8
|
def @arg21 251 16777216 0 Y 0 31 8
|
||||||
def @arg22 253 16777216 0 Y 0 31 8
|
def @arg22 251 16777216 0 Y 0 31 8
|
||||||
def @arg23 253 16777216 0 Y 128 31 63
|
def @arg23 251 16777216 0 Y 128 31 63
|
||||||
def @arg24 253 16777216 0 Y 0 31 8
|
def @arg24 251 16777216 0 Y 0 31 8
|
||||||
def @arg25 253 16777216 0 Y 128 31 63
|
def @arg25 251 16777216 0 Y 128 31 63
|
||||||
def @arg26 253 16777216 0 Y 0 31 8
|
def @arg26 251 16777216 0 Y 0 31 8
|
||||||
def @arg27 253 16777216 0 Y 128 31 63
|
def @arg27 251 16777216 0 Y 128 31 63
|
||||||
def @arg28 253 16777216 0 Y 0 31 8
|
def @arg28 251 16777216 0 Y 0 31 8
|
||||||
def @arg29 253 16777216 0 Y 128 31 63
|
def @arg29 251 16777216 0 Y 128 31 63
|
||||||
def @arg30 253 16777216 0 Y 0 31 8
|
def @arg30 251 16777216 0 Y 0 31 8
|
||||||
def @arg31 253 16777216 0 Y 0 31 8
|
def @arg31 251 16777216 0 Y 0 31 8
|
||||||
def @arg32 253 16777216 0 Y 0 31 8
|
def @arg32 251 16777216 0 Y 0 31 8
|
||||||
@arg01 @arg02 @arg03 @arg04 @arg05 @arg06 @arg07 @arg08 @arg09 @arg10 @arg11 @arg12 @arg13 @arg14 @arg15 @arg16 @arg17 @arg18 @arg19 @arg20 @arg21 @arg22 @arg23 @arg24 @arg25 @arg26 @arg27 @arg28 @arg29 @arg30 @arg31 @arg32
|
@arg01 @arg02 @arg03 @arg04 @arg05 @arg06 @arg07 @arg08 @arg09 @arg10 @arg11 @arg12 @arg13 @arg14 @arg15 @arg16 @arg17 @arg18 @arg19 @arg20 @arg21 @arg22 @arg23 @arg24 @arg25 @arg26 @arg27 @arg28 @arg29 @arg30 @arg31 @arg32
|
||||||
0 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 1991-01-01 01:01:01 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
|
0 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 1991-01-01 01:01:01 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
|
||||||
prepare stmt1 from "select
|
prepare stmt1 from "select
|
||||||
@ -2014,38 +2014,38 @@ execute stmt1 using @my_key ;
|
|||||||
1 1 1 1 1 1 1 1 1 1 1.0000 1.0000 2004-02-29 2004-02-29 11:11:11 2004-02-29 11:11:11 11:11:11 2004 1 1 a 123456789a 123456789a123456789b123456789c tinyblob tinytext blob text mediumblob mediumtext longblob longtext one monday
|
1 1 1 1 1 1 1 1 1 1 1.0000 1.0000 2004-02-29 2004-02-29 11:11:11 2004-02-29 11:11:11 11:11:11 2004 1 1 a 123456789a 123456789a123456789b123456789c tinyblob tinytext blob text mediumblob mediumtext longblob longtext one monday
|
||||||
execute full_info ;
|
execute full_info ;
|
||||||
Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
|
Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
|
||||||
def @arg01 253 20 1 Y 128 0 63
|
def @arg01 8 20 1 Y 32896 0 63
|
||||||
def @arg02 253 20 1 Y 128 0 63
|
def @arg02 8 20 1 Y 32896 0 63
|
||||||
def @arg03 253 20 1 Y 128 0 63
|
def @arg03 8 20 1 Y 32896 0 63
|
||||||
def @arg04 253 20 1 Y 128 0 63
|
def @arg04 8 20 1 Y 32896 0 63
|
||||||
def @arg05 253 20 1 Y 128 0 63
|
def @arg05 8 20 1 Y 32896 0 63
|
||||||
def @arg06 253 20 1 Y 128 0 63
|
def @arg06 8 20 1 Y 32896 0 63
|
||||||
def @arg07 253 23 1 Y 128 31 63
|
def @arg07 5 23 1 Y 32896 31 63
|
||||||
def @arg08 253 23 1 Y 128 31 63
|
def @arg08 5 23 1 Y 32896 31 63
|
||||||
def @arg09 253 23 1 Y 128 31 63
|
def @arg09 5 23 1 Y 32896 31 63
|
||||||
def @arg10 253 23 1 Y 128 31 63
|
def @arg10 5 23 1 Y 32896 31 63
|
||||||
def @arg11 253 67 6 Y 128 30 63
|
def @arg11 246 67 6 Y 128 30 63
|
||||||
def @arg12 253 67 6 Y 128 30 63
|
def @arg12 246 67 6 Y 128 30 63
|
||||||
def @arg13 253 16777216 10 Y 128 31 63
|
def @arg13 251 16777216 10 Y 128 31 63
|
||||||
def @arg14 253 16777216 19 Y 128 31 63
|
def @arg14 251 16777216 19 Y 128 31 63
|
||||||
def @arg15 253 16777216 19 Y 128 31 63
|
def @arg15 251 16777216 19 Y 128 31 63
|
||||||
def @arg16 253 16777216 8 Y 128 31 63
|
def @arg16 251 16777216 8 Y 128 31 63
|
||||||
def @arg17 253 20 4 Y 128 0 63
|
def @arg17 8 20 4 Y 32928 0 63
|
||||||
def @arg18 253 20 1 Y 128 0 63
|
def @arg18 8 20 1 Y 32896 0 63
|
||||||
def @arg19 253 20 1 Y 128 0 63
|
def @arg19 8 20 1 Y 32896 0 63
|
||||||
def @arg20 253 16777216 1 Y 0 31 8
|
def @arg20 251 16777216 1 Y 0 31 8
|
||||||
def @arg21 253 16777216 10 Y 0 31 8
|
def @arg21 251 16777216 10 Y 0 31 8
|
||||||
def @arg22 253 16777216 30 Y 0 31 8
|
def @arg22 251 16777216 30 Y 0 31 8
|
||||||
def @arg23 253 16777216 8 Y 128 31 63
|
def @arg23 251 16777216 8 Y 128 31 63
|
||||||
def @arg24 253 16777216 8 Y 0 31 8
|
def @arg24 251 16777216 8 Y 0 31 8
|
||||||
def @arg25 253 16777216 4 Y 128 31 63
|
def @arg25 251 16777216 4 Y 128 31 63
|
||||||
def @arg26 253 16777216 4 Y 0 31 8
|
def @arg26 251 16777216 4 Y 0 31 8
|
||||||
def @arg27 253 16777216 10 Y 128 31 63
|
def @arg27 251 16777216 10 Y 128 31 63
|
||||||
def @arg28 253 16777216 10 Y 0 31 8
|
def @arg28 251 16777216 10 Y 0 31 8
|
||||||
def @arg29 253 16777216 8 Y 128 31 63
|
def @arg29 251 16777216 8 Y 128 31 63
|
||||||
def @arg30 253 16777216 8 Y 0 31 8
|
def @arg30 251 16777216 8 Y 0 31 8
|
||||||
def @arg31 253 16777216 3 Y 0 31 8
|
def @arg31 251 16777216 3 Y 0 31 8
|
||||||
def @arg32 253 16777216 6 Y 0 31 8
|
def @arg32 251 16777216 6 Y 0 31 8
|
||||||
@arg01 @arg02 @arg03 @arg04 @arg05 @arg06 @arg07 @arg08 @arg09 @arg10 @arg11 @arg12 @arg13 @arg14 @arg15 @arg16 @arg17 @arg18 @arg19 @arg20 @arg21 @arg22 @arg23 @arg24 @arg25 @arg26 @arg27 @arg28 @arg29 @arg30 @arg31 @arg32
|
@arg01 @arg02 @arg03 @arg04 @arg05 @arg06 @arg07 @arg08 @arg09 @arg10 @arg11 @arg12 @arg13 @arg14 @arg15 @arg16 @arg17 @arg18 @arg19 @arg20 @arg21 @arg22 @arg23 @arg24 @arg25 @arg26 @arg27 @arg28 @arg29 @arg30 @arg31 @arg32
|
||||||
1 1 1 1 1 1 1 1 1 1 1.0000 1.0000 2004-02-29 2004-02-29 11:11:11 2004-02-29 11:11:11 11:11:11 2004 1 1 a 123456789a 123456789a123456789b123456789c tinyblob tinytext blob text mediumblob mediumtext longblob longtext one monday
|
1 1 1 1 1 1 1 1 1 1 1.0000 1.0000 2004-02-29 2004-02-29 11:11:11 2004-02-29 11:11:11 11:11:11 2004 1 1 a 123456789a 123456789a123456789b123456789c tinyblob tinytext blob text mediumblob mediumtext longblob longtext one monday
|
||||||
set @my_key= 0 ;
|
set @my_key= 0 ;
|
||||||
@ -2054,38 +2054,38 @@ execute stmt1 using @my_key ;
|
|||||||
0 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 1991-01-01 01:01:01 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
|
0 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 1991-01-01 01:01:01 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
|
||||||
execute full_info ;
|
execute full_info ;
|
||||||
Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
|
Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
|
||||||
def @arg01 253 20 1 Y 128 0 63
|
def @arg01 8 20 1 Y 32896 0 63
|
||||||
def @arg02 253 20 0 Y 128 0 63
|
def @arg02 8 20 0 Y 32896 0 63
|
||||||
def @arg03 253 20 0 Y 128 0 63
|
def @arg03 8 20 0 Y 32896 0 63
|
||||||
def @arg04 253 20 0 Y 128 0 63
|
def @arg04 8 20 0 Y 32896 0 63
|
||||||
def @arg05 253 20 0 Y 128 0 63
|
def @arg05 8 20 0 Y 32896 0 63
|
||||||
def @arg06 253 20 0 Y 128 0 63
|
def @arg06 8 20 0 Y 32896 0 63
|
||||||
def @arg07 253 23 0 Y 128 31 63
|
def @arg07 5 23 0 Y 32896 31 63
|
||||||
def @arg08 253 23 0 Y 128 31 63
|
def @arg08 5 23 0 Y 32896 31 63
|
||||||
def @arg09 253 23 0 Y 128 31 63
|
def @arg09 5 23 0 Y 32896 31 63
|
||||||
def @arg10 253 23 0 Y 128 31 63
|
def @arg10 5 23 0 Y 32896 31 63
|
||||||
def @arg11 253 67 0 Y 128 30 63
|
def @arg11 246 67 0 Y 128 30 63
|
||||||
def @arg12 253 67 0 Y 128 30 63
|
def @arg12 246 67 0 Y 128 30 63
|
||||||
def @arg13 253 16777216 0 Y 128 31 63
|
def @arg13 251 16777216 0 Y 128 31 63
|
||||||
def @arg14 253 16777216 0 Y 128 31 63
|
def @arg14 251 16777216 0 Y 128 31 63
|
||||||
def @arg15 253 16777216 19 Y 128 31 63
|
def @arg15 251 16777216 19 Y 128 31 63
|
||||||
def @arg16 253 16777216 0 Y 128 31 63
|
def @arg16 251 16777216 0 Y 128 31 63
|
||||||
def @arg17 253 20 0 Y 128 0 63
|
def @arg17 8 20 0 Y 32928 0 63
|
||||||
def @arg18 253 20 0 Y 128 0 63
|
def @arg18 8 20 0 Y 32896 0 63
|
||||||
def @arg19 253 20 0 Y 128 0 63
|
def @arg19 8 20 0 Y 32896 0 63
|
||||||
def @arg20 253 16777216 0 Y 0 31 8
|
def @arg20 251 16777216 0 Y 0 31 8
|
||||||
def @arg21 253 16777216 0 Y 0 31 8
|
def @arg21 251 16777216 0 Y 0 31 8
|
||||||
def @arg22 253 16777216 0 Y 0 31 8
|
def @arg22 251 16777216 0 Y 0 31 8
|
||||||
def @arg23 253 16777216 0 Y 128 31 63
|
def @arg23 251 16777216 0 Y 128 31 63
|
||||||
def @arg24 253 16777216 0 Y 0 31 8
|
def @arg24 251 16777216 0 Y 0 31 8
|
||||||
def @arg25 253 16777216 0 Y 128 31 63
|
def @arg25 251 16777216 0 Y 128 31 63
|
||||||
def @arg26 253 16777216 0 Y 0 31 8
|
def @arg26 251 16777216 0 Y 0 31 8
|
||||||
def @arg27 253 16777216 0 Y 128 31 63
|
def @arg27 251 16777216 0 Y 128 31 63
|
||||||
def @arg28 253 16777216 0 Y 0 31 8
|
def @arg28 251 16777216 0 Y 0 31 8
|
||||||
def @arg29 253 16777216 0 Y 128 31 63
|
def @arg29 251 16777216 0 Y 128 31 63
|
||||||
def @arg30 253 16777216 0 Y 0 31 8
|
def @arg30 251 16777216 0 Y 0 31 8
|
||||||
def @arg31 253 16777216 0 Y 0 31 8
|
def @arg31 251 16777216 0 Y 0 31 8
|
||||||
def @arg32 253 16777216 0 Y 0 31 8
|
def @arg32 251 16777216 0 Y 0 31 8
|
||||||
@arg01 @arg02 @arg03 @arg04 @arg05 @arg06 @arg07 @arg08 @arg09 @arg10 @arg11 @arg12 @arg13 @arg14 @arg15 @arg16 @arg17 @arg18 @arg19 @arg20 @arg21 @arg22 @arg23 @arg24 @arg25 @arg26 @arg27 @arg28 @arg29 @arg30 @arg31 @arg32
|
@arg01 @arg02 @arg03 @arg04 @arg05 @arg06 @arg07 @arg08 @arg09 @arg10 @arg11 @arg12 @arg13 @arg14 @arg15 @arg16 @arg17 @arg18 @arg19 @arg20 @arg21 @arg22 @arg23 @arg24 @arg25 @arg26 @arg27 @arg28 @arg29 @arg30 @arg31 @arg32
|
||||||
0 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 1991-01-01 01:01:01 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
|
0 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 1991-01-01 01:01:01 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
|
||||||
prepare stmt1 from "select ? := c1 from t9 where c1= 1" ;
|
prepare stmt1 from "select ? := c1 from t9 where c1= 1" ;
|
||||||
@ -2102,38 +2102,38 @@ into @arg01, @arg02, @arg03, @arg04, @arg05, @arg06, @arg07, @arg08,
|
|||||||
from t9 where c1= 1 ;
|
from t9 where c1= 1 ;
|
||||||
execute full_info ;
|
execute full_info ;
|
||||||
Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
|
Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
|
||||||
def @arg01 253 20 1 Y 128 0 63
|
def @arg01 8 20 1 Y 32896 0 63
|
||||||
def @arg02 253 20 1 Y 128 0 63
|
def @arg02 8 20 1 Y 32896 0 63
|
||||||
def @arg03 253 20 1 Y 128 0 63
|
def @arg03 8 20 1 Y 32896 0 63
|
||||||
def @arg04 253 20 1 Y 128 0 63
|
def @arg04 8 20 1 Y 32896 0 63
|
||||||
def @arg05 253 20 1 Y 128 0 63
|
def @arg05 8 20 1 Y 32896 0 63
|
||||||
def @arg06 253 20 1 Y 128 0 63
|
def @arg06 8 20 1 Y 32896 0 63
|
||||||
def @arg07 253 23 1 Y 128 31 63
|
def @arg07 5 23 1 Y 32896 31 63
|
||||||
def @arg08 253 23 1 Y 128 31 63
|
def @arg08 5 23 1 Y 32896 31 63
|
||||||
def @arg09 253 23 1 Y 128 31 63
|
def @arg09 5 23 1 Y 32896 31 63
|
||||||
def @arg10 253 23 1 Y 128 31 63
|
def @arg10 5 23 1 Y 32896 31 63
|
||||||
def @arg11 253 67 6 Y 128 30 63
|
def @arg11 246 67 6 Y 128 30 63
|
||||||
def @arg12 253 67 6 Y 128 30 63
|
def @arg12 246 67 6 Y 128 30 63
|
||||||
def @arg13 253 16777216 10 Y 128 31 63
|
def @arg13 251 16777216 10 Y 128 31 63
|
||||||
def @arg14 253 16777216 19 Y 128 31 63
|
def @arg14 251 16777216 19 Y 128 31 63
|
||||||
def @arg15 253 16777216 19 Y 128 31 63
|
def @arg15 251 16777216 19 Y 128 31 63
|
||||||
def @arg16 253 16777216 8 Y 128 31 63
|
def @arg16 251 16777216 8 Y 128 31 63
|
||||||
def @arg17 253 20 4 Y 128 0 63
|
def @arg17 8 20 4 Y 32928 0 63
|
||||||
def @arg18 253 20 1 Y 128 0 63
|
def @arg18 8 20 1 Y 32896 0 63
|
||||||
def @arg19 253 20 1 Y 128 0 63
|
def @arg19 8 20 1 Y 32896 0 63
|
||||||
def @arg20 253 16777216 1 Y 0 31 8
|
def @arg20 251 16777216 1 Y 0 31 8
|
||||||
def @arg21 253 16777216 10 Y 0 31 8
|
def @arg21 251 16777216 10 Y 0 31 8
|
||||||
def @arg22 253 16777216 30 Y 0 31 8
|
def @arg22 251 16777216 30 Y 0 31 8
|
||||||
def @arg23 253 16777216 8 Y 128 31 63
|
def @arg23 251 16777216 8 Y 128 31 63
|
||||||
def @arg24 253 16777216 8 Y 0 31 8
|
def @arg24 251 16777216 8 Y 0 31 8
|
||||||
def @arg25 253 16777216 4 Y 128 31 63
|
def @arg25 251 16777216 4 Y 128 31 63
|
||||||
def @arg26 253 16777216 4 Y 0 31 8
|
def @arg26 251 16777216 4 Y 0 31 8
|
||||||
def @arg27 253 16777216 10 Y 128 31 63
|
def @arg27 251 16777216 10 Y 128 31 63
|
||||||
def @arg28 253 16777216 10 Y 0 31 8
|
def @arg28 251 16777216 10 Y 0 31 8
|
||||||
def @arg29 253 16777216 8 Y 128 31 63
|
def @arg29 251 16777216 8 Y 128 31 63
|
||||||
def @arg30 253 16777216 8 Y 0 31 8
|
def @arg30 251 16777216 8 Y 0 31 8
|
||||||
def @arg31 253 16777216 3 Y 0 31 8
|
def @arg31 251 16777216 3 Y 0 31 8
|
||||||
def @arg32 253 16777216 6 Y 0 31 8
|
def @arg32 251 16777216 6 Y 0 31 8
|
||||||
@arg01 @arg02 @arg03 @arg04 @arg05 @arg06 @arg07 @arg08 @arg09 @arg10 @arg11 @arg12 @arg13 @arg14 @arg15 @arg16 @arg17 @arg18 @arg19 @arg20 @arg21 @arg22 @arg23 @arg24 @arg25 @arg26 @arg27 @arg28 @arg29 @arg30 @arg31 @arg32
|
@arg01 @arg02 @arg03 @arg04 @arg05 @arg06 @arg07 @arg08 @arg09 @arg10 @arg11 @arg12 @arg13 @arg14 @arg15 @arg16 @arg17 @arg18 @arg19 @arg20 @arg21 @arg22 @arg23 @arg24 @arg25 @arg26 @arg27 @arg28 @arg29 @arg30 @arg31 @arg32
|
||||||
1 1 1 1 1 1 1 1 1 1 1.0000 1.0000 2004-02-29 2004-02-29 11:11:11 2004-02-29 11:11:11 11:11:11 2004 1 1 a 123456789a 123456789a123456789b123456789c tinyblob tinytext blob text mediumblob mediumtext longblob longtext one monday
|
1 1 1 1 1 1 1 1 1 1 1.0000 1.0000 2004-02-29 2004-02-29 11:11:11 2004-02-29 11:11:11 11:11:11 2004 1 1 a 123456789a 123456789a123456789b123456789c tinyblob tinytext blob text mediumblob mediumtext longblob longtext one monday
|
||||||
select c1, c2, c3, c4, c5, c6, c7, c8, c9, c10, c11, c12,
|
select c1, c2, c3, c4, c5, c6, c7, c8, c9, c10, c11, c12,
|
||||||
@ -2146,38 +2146,38 @@ into @arg01, @arg02, @arg03, @arg04, @arg05, @arg06, @arg07, @arg08,
|
|||||||
from t9 where c1= 0 ;
|
from t9 where c1= 0 ;
|
||||||
execute full_info ;
|
execute full_info ;
|
||||||
Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
|
Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
|
||||||
def @arg01 253 20 1 Y 128 0 63
|
def @arg01 8 20 1 Y 32896 0 63
|
||||||
def @arg02 253 20 0 Y 128 0 63
|
def @arg02 8 20 0 Y 32896 0 63
|
||||||
def @arg03 253 20 0 Y 128 0 63
|
def @arg03 8 20 0 Y 32896 0 63
|
||||||
def @arg04 253 20 0 Y 128 0 63
|
def @arg04 8 20 0 Y 32896 0 63
|
||||||
def @arg05 253 20 0 Y 128 0 63
|
def @arg05 8 20 0 Y 32896 0 63
|
||||||
def @arg06 253 20 0 Y 128 0 63
|
def @arg06 8 20 0 Y 32896 0 63
|
||||||
def @arg07 253 23 0 Y 128 31 63
|
def @arg07 5 23 0 Y 32896 31 63
|
||||||
def @arg08 253 23 0 Y 128 31 63
|
def @arg08 5 23 0 Y 32896 31 63
|
||||||
def @arg09 253 23 0 Y 128 31 63
|
def @arg09 5 23 0 Y 32896 31 63
|
||||||
def @arg10 253 23 0 Y 128 31 63
|
def @arg10 5 23 0 Y 32896 31 63
|
||||||
def @arg11 253 67 0 Y 128 30 63
|
def @arg11 246 67 0 Y 128 30 63
|
||||||
def @arg12 253 67 0 Y 128 30 63
|
def @arg12 246 67 0 Y 128 30 63
|
||||||
def @arg13 253 16777216 0 Y 128 31 63
|
def @arg13 251 16777216 0 Y 128 31 63
|
||||||
def @arg14 253 16777216 0 Y 128 31 63
|
def @arg14 251 16777216 0 Y 128 31 63
|
||||||
def @arg15 253 16777216 19 Y 128 31 63
|
def @arg15 251 16777216 19 Y 128 31 63
|
||||||
def @arg16 253 16777216 0 Y 128 31 63
|
def @arg16 251 16777216 0 Y 128 31 63
|
||||||
def @arg17 253 20 0 Y 128 0 63
|
def @arg17 8 20 0 Y 32928 0 63
|
||||||
def @arg18 253 20 0 Y 128 0 63
|
def @arg18 8 20 0 Y 32896 0 63
|
||||||
def @arg19 253 20 0 Y 128 0 63
|
def @arg19 8 20 0 Y 32896 0 63
|
||||||
def @arg20 253 16777216 0 Y 0 31 8
|
def @arg20 251 16777216 0 Y 0 31 8
|
||||||
def @arg21 253 16777216 0 Y 0 31 8
|
def @arg21 251 16777216 0 Y 0 31 8
|
||||||
def @arg22 253 16777216 0 Y 0 31 8
|
def @arg22 251 16777216 0 Y 0 31 8
|
||||||
def @arg23 253 16777216 0 Y 128 31 63
|
def @arg23 251 16777216 0 Y 128 31 63
|
||||||
def @arg24 253 16777216 0 Y 0 31 8
|
def @arg24 251 16777216 0 Y 0 31 8
|
||||||
def @arg25 253 16777216 0 Y 128 31 63
|
def @arg25 251 16777216 0 Y 128 31 63
|
||||||
def @arg26 253 16777216 0 Y 0 31 8
|
def @arg26 251 16777216 0 Y 0 31 8
|
||||||
def @arg27 253 16777216 0 Y 128 31 63
|
def @arg27 251 16777216 0 Y 128 31 63
|
||||||
def @arg28 253 16777216 0 Y 0 31 8
|
def @arg28 251 16777216 0 Y 0 31 8
|
||||||
def @arg29 253 16777216 0 Y 128 31 63
|
def @arg29 251 16777216 0 Y 128 31 63
|
||||||
def @arg30 253 16777216 0 Y 0 31 8
|
def @arg30 251 16777216 0 Y 0 31 8
|
||||||
def @arg31 253 16777216 0 Y 0 31 8
|
def @arg31 251 16777216 0 Y 0 31 8
|
||||||
def @arg32 253 16777216 0 Y 0 31 8
|
def @arg32 251 16777216 0 Y 0 31 8
|
||||||
@arg01 @arg02 @arg03 @arg04 @arg05 @arg06 @arg07 @arg08 @arg09 @arg10 @arg11 @arg12 @arg13 @arg14 @arg15 @arg16 @arg17 @arg18 @arg19 @arg20 @arg21 @arg22 @arg23 @arg24 @arg25 @arg26 @arg27 @arg28 @arg29 @arg30 @arg31 @arg32
|
@arg01 @arg02 @arg03 @arg04 @arg05 @arg06 @arg07 @arg08 @arg09 @arg10 @arg11 @arg12 @arg13 @arg14 @arg15 @arg16 @arg17 @arg18 @arg19 @arg20 @arg21 @arg22 @arg23 @arg24 @arg25 @arg26 @arg27 @arg28 @arg29 @arg30 @arg31 @arg32
|
||||||
0 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 1991-01-01 01:01:01 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
|
0 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 1991-01-01 01:01:01 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
|
||||||
prepare stmt1 from "select c1, c2, c3, c4, c5, c6, c7, c8, c9, c10, c11, c12,
|
prepare stmt1 from "select c1, c2, c3, c4, c5, c6, c7, c8, c9, c10, c11, c12,
|
||||||
@ -2192,76 +2192,76 @@ set @my_key= 1 ;
|
|||||||
execute stmt1 using @my_key ;
|
execute stmt1 using @my_key ;
|
||||||
execute full_info ;
|
execute full_info ;
|
||||||
Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
|
Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
|
||||||
def @arg01 253 20 1 Y 128 0 63
|
def @arg01 8 20 1 Y 32896 0 63
|
||||||
def @arg02 253 20 1 Y 128 0 63
|
def @arg02 8 20 1 Y 32896 0 63
|
||||||
def @arg03 253 20 1 Y 128 0 63
|
def @arg03 8 20 1 Y 32896 0 63
|
||||||
def @arg04 253 20 1 Y 128 0 63
|
def @arg04 8 20 1 Y 32896 0 63
|
||||||
def @arg05 253 20 1 Y 128 0 63
|
def @arg05 8 20 1 Y 32896 0 63
|
||||||
def @arg06 253 20 1 Y 128 0 63
|
def @arg06 8 20 1 Y 32896 0 63
|
||||||
def @arg07 253 23 1 Y 128 31 63
|
def @arg07 5 23 1 Y 32896 31 63
|
||||||
def @arg08 253 23 1 Y 128 31 63
|
def @arg08 5 23 1 Y 32896 31 63
|
||||||
def @arg09 253 23 1 Y 128 31 63
|
def @arg09 5 23 1 Y 32896 31 63
|
||||||
def @arg10 253 23 1 Y 128 31 63
|
def @arg10 5 23 1 Y 32896 31 63
|
||||||
def @arg11 253 67 6 Y 128 30 63
|
def @arg11 246 67 6 Y 128 30 63
|
||||||
def @arg12 253 67 6 Y 128 30 63
|
def @arg12 246 67 6 Y 128 30 63
|
||||||
def @arg13 253 16777216 10 Y 128 31 63
|
def @arg13 251 16777216 10 Y 128 31 63
|
||||||
def @arg14 253 16777216 19 Y 128 31 63
|
def @arg14 251 16777216 19 Y 128 31 63
|
||||||
def @arg15 253 16777216 19 Y 128 31 63
|
def @arg15 251 16777216 19 Y 128 31 63
|
||||||
def @arg16 253 16777216 8 Y 128 31 63
|
def @arg16 251 16777216 8 Y 128 31 63
|
||||||
def @arg17 253 20 4 Y 128 0 63
|
def @arg17 8 20 4 Y 32928 0 63
|
||||||
def @arg18 253 20 1 Y 128 0 63
|
def @arg18 8 20 1 Y 32896 0 63
|
||||||
def @arg19 253 20 1 Y 128 0 63
|
def @arg19 8 20 1 Y 32896 0 63
|
||||||
def @arg20 253 16777216 1 Y 0 31 8
|
def @arg20 251 16777216 1 Y 0 31 8
|
||||||
def @arg21 253 16777216 10 Y 0 31 8
|
def @arg21 251 16777216 10 Y 0 31 8
|
||||||
def @arg22 253 16777216 30 Y 0 31 8
|
def @arg22 251 16777216 30 Y 0 31 8
|
||||||
def @arg23 253 16777216 8 Y 128 31 63
|
def @arg23 251 16777216 8 Y 128 31 63
|
||||||
def @arg24 253 16777216 8 Y 0 31 8
|
def @arg24 251 16777216 8 Y 0 31 8
|
||||||
def @arg25 253 16777216 4 Y 128 31 63
|
def @arg25 251 16777216 4 Y 128 31 63
|
||||||
def @arg26 253 16777216 4 Y 0 31 8
|
def @arg26 251 16777216 4 Y 0 31 8
|
||||||
def @arg27 253 16777216 10 Y 128 31 63
|
def @arg27 251 16777216 10 Y 128 31 63
|
||||||
def @arg28 253 16777216 10 Y 0 31 8
|
def @arg28 251 16777216 10 Y 0 31 8
|
||||||
def @arg29 253 16777216 8 Y 128 31 63
|
def @arg29 251 16777216 8 Y 128 31 63
|
||||||
def @arg30 253 16777216 8 Y 0 31 8
|
def @arg30 251 16777216 8 Y 0 31 8
|
||||||
def @arg31 253 16777216 3 Y 0 31 8
|
def @arg31 251 16777216 3 Y 0 31 8
|
||||||
def @arg32 253 16777216 6 Y 0 31 8
|
def @arg32 251 16777216 6 Y 0 31 8
|
||||||
@arg01 @arg02 @arg03 @arg04 @arg05 @arg06 @arg07 @arg08 @arg09 @arg10 @arg11 @arg12 @arg13 @arg14 @arg15 @arg16 @arg17 @arg18 @arg19 @arg20 @arg21 @arg22 @arg23 @arg24 @arg25 @arg26 @arg27 @arg28 @arg29 @arg30 @arg31 @arg32
|
@arg01 @arg02 @arg03 @arg04 @arg05 @arg06 @arg07 @arg08 @arg09 @arg10 @arg11 @arg12 @arg13 @arg14 @arg15 @arg16 @arg17 @arg18 @arg19 @arg20 @arg21 @arg22 @arg23 @arg24 @arg25 @arg26 @arg27 @arg28 @arg29 @arg30 @arg31 @arg32
|
||||||
1 1 1 1 1 1 1 1 1 1 1.0000 1.0000 2004-02-29 2004-02-29 11:11:11 2004-02-29 11:11:11 11:11:11 2004 1 1 a 123456789a 123456789a123456789b123456789c tinyblob tinytext blob text mediumblob mediumtext longblob longtext one monday
|
1 1 1 1 1 1 1 1 1 1 1.0000 1.0000 2004-02-29 2004-02-29 11:11:11 2004-02-29 11:11:11 11:11:11 2004 1 1 a 123456789a 123456789a123456789b123456789c tinyblob tinytext blob text mediumblob mediumtext longblob longtext one monday
|
||||||
set @my_key= 0 ;
|
set @my_key= 0 ;
|
||||||
execute stmt1 using @my_key ;
|
execute stmt1 using @my_key ;
|
||||||
execute full_info ;
|
execute full_info ;
|
||||||
Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
|
Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
|
||||||
def @arg01 253 20 1 Y 128 0 63
|
def @arg01 8 20 1 Y 32896 0 63
|
||||||
def @arg02 253 20 0 Y 128 0 63
|
def @arg02 8 20 0 Y 32896 0 63
|
||||||
def @arg03 253 20 0 Y 128 0 63
|
def @arg03 8 20 0 Y 32896 0 63
|
||||||
def @arg04 253 20 0 Y 128 0 63
|
def @arg04 8 20 0 Y 32896 0 63
|
||||||
def @arg05 253 20 0 Y 128 0 63
|
def @arg05 8 20 0 Y 32896 0 63
|
||||||
def @arg06 253 20 0 Y 128 0 63
|
def @arg06 8 20 0 Y 32896 0 63
|
||||||
def @arg07 253 23 0 Y 128 31 63
|
def @arg07 5 23 0 Y 32896 31 63
|
||||||
def @arg08 253 23 0 Y 128 31 63
|
def @arg08 5 23 0 Y 32896 31 63
|
||||||
def @arg09 253 23 0 Y 128 31 63
|
def @arg09 5 23 0 Y 32896 31 63
|
||||||
def @arg10 253 23 0 Y 128 31 63
|
def @arg10 5 23 0 Y 32896 31 63
|
||||||
def @arg11 253 67 0 Y 128 30 63
|
def @arg11 246 67 0 Y 128 30 63
|
||||||
def @arg12 253 67 0 Y 128 30 63
|
def @arg12 246 67 0 Y 128 30 63
|
||||||
def @arg13 253 16777216 0 Y 128 31 63
|
def @arg13 251 16777216 0 Y 128 31 63
|
||||||
def @arg14 253 16777216 0 Y 128 31 63
|
def @arg14 251 16777216 0 Y 128 31 63
|
||||||
def @arg15 253 16777216 19 Y 128 31 63
|
def @arg15 251 16777216 19 Y 128 31 63
|
||||||
def @arg16 253 16777216 0 Y 128 31 63
|
def @arg16 251 16777216 0 Y 128 31 63
|
||||||
def @arg17 253 20 0 Y 128 0 63
|
def @arg17 8 20 0 Y 32928 0 63
|
||||||
def @arg18 253 20 0 Y 128 0 63
|
def @arg18 8 20 0 Y 32896 0 63
|
||||||
def @arg19 253 20 0 Y 128 0 63
|
def @arg19 8 20 0 Y 32896 0 63
|
||||||
def @arg20 253 16777216 0 Y 0 31 8
|
def @arg20 251 16777216 0 Y 0 31 8
|
||||||
def @arg21 253 16777216 0 Y 0 31 8
|
def @arg21 251 16777216 0 Y 0 31 8
|
||||||
def @arg22 253 16777216 0 Y 0 31 8
|
def @arg22 251 16777216 0 Y 0 31 8
|
||||||
def @arg23 253 16777216 0 Y 128 31 63
|
def @arg23 251 16777216 0 Y 128 31 63
|
||||||
def @arg24 253 16777216 0 Y 0 31 8
|
def @arg24 251 16777216 0 Y 0 31 8
|
||||||
def @arg25 253 16777216 0 Y 128 31 63
|
def @arg25 251 16777216 0 Y 128 31 63
|
||||||
def @arg26 253 16777216 0 Y 0 31 8
|
def @arg26 251 16777216 0 Y 0 31 8
|
||||||
def @arg27 253 16777216 0 Y 128 31 63
|
def @arg27 251 16777216 0 Y 128 31 63
|
||||||
def @arg28 253 16777216 0 Y 0 31 8
|
def @arg28 251 16777216 0 Y 0 31 8
|
||||||
def @arg29 253 16777216 0 Y 128 31 63
|
def @arg29 251 16777216 0 Y 128 31 63
|
||||||
def @arg30 253 16777216 0 Y 0 31 8
|
def @arg30 251 16777216 0 Y 0 31 8
|
||||||
def @arg31 253 16777216 0 Y 0 31 8
|
def @arg31 251 16777216 0 Y 0 31 8
|
||||||
def @arg32 253 16777216 0 Y 0 31 8
|
def @arg32 251 16777216 0 Y 0 31 8
|
||||||
@arg01 @arg02 @arg03 @arg04 @arg05 @arg06 @arg07 @arg08 @arg09 @arg10 @arg11 @arg12 @arg13 @arg14 @arg15 @arg16 @arg17 @arg18 @arg19 @arg20 @arg21 @arg22 @arg23 @arg24 @arg25 @arg26 @arg27 @arg28 @arg29 @arg30 @arg31 @arg32
|
@arg01 @arg02 @arg03 @arg04 @arg05 @arg06 @arg07 @arg08 @arg09 @arg10 @arg11 @arg12 @arg13 @arg14 @arg15 @arg16 @arg17 @arg18 @arg19 @arg20 @arg21 @arg22 @arg23 @arg24 @arg25 @arg26 @arg27 @arg28 @arg29 @arg30 @arg31 @arg32
|
||||||
0 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 1991-01-01 01:01:01 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
|
0 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 1991-01-01 01:01:01 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
|
||||||
prepare stmt1 from "select c1 into ? from t9 where c1= 1" ;
|
prepare stmt1 from "select c1 into ? from t9 where c1= 1" ;
|
||||||
|
@ -1900,38 +1900,38 @@ from t9 where c1= 1 ;
|
|||||||
1 1 1 1 1 1 1 1 1 1 1.0000 1.0000 2004-02-29 2004-02-29 11:11:11 2004-02-29 11:11:11 11:11:11 2004 1 1 a 123456789a 123456789a123456789b123456789c tinyblob tinytext blob text mediumblob mediumtext longblob longtext one monday
|
1 1 1 1 1 1 1 1 1 1 1.0000 1.0000 2004-02-29 2004-02-29 11:11:11 2004-02-29 11:11:11 11:11:11 2004 1 1 a 123456789a 123456789a123456789b123456789c tinyblob tinytext blob text mediumblob mediumtext longblob longtext one monday
|
||||||
execute full_info ;
|
execute full_info ;
|
||||||
Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
|
Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
|
||||||
def @arg01 253 20 1 Y 128 0 63
|
def @arg01 8 20 1 Y 32896 0 63
|
||||||
def @arg02 253 20 1 Y 128 0 63
|
def @arg02 8 20 1 Y 32896 0 63
|
||||||
def @arg03 253 20 1 Y 128 0 63
|
def @arg03 8 20 1 Y 32896 0 63
|
||||||
def @arg04 253 20 1 Y 128 0 63
|
def @arg04 8 20 1 Y 32896 0 63
|
||||||
def @arg05 253 20 1 Y 128 0 63
|
def @arg05 8 20 1 Y 32896 0 63
|
||||||
def @arg06 253 20 1 Y 128 0 63
|
def @arg06 8 20 1 Y 32896 0 63
|
||||||
def @arg07 253 23 1 Y 128 31 63
|
def @arg07 5 23 1 Y 32896 31 63
|
||||||
def @arg08 253 23 1 Y 128 31 63
|
def @arg08 5 23 1 Y 32896 31 63
|
||||||
def @arg09 253 23 1 Y 128 31 63
|
def @arg09 5 23 1 Y 32896 31 63
|
||||||
def @arg10 253 23 1 Y 128 31 63
|
def @arg10 5 23 1 Y 32896 31 63
|
||||||
def @arg11 253 67 6 Y 128 30 63
|
def @arg11 246 67 6 Y 128 30 63
|
||||||
def @arg12 253 67 6 Y 128 30 63
|
def @arg12 246 67 6 Y 128 30 63
|
||||||
def @arg13 253 16777216 10 Y 128 31 63
|
def @arg13 251 16777216 10 Y 128 31 63
|
||||||
def @arg14 253 16777216 19 Y 128 31 63
|
def @arg14 251 16777216 19 Y 128 31 63
|
||||||
def @arg15 253 16777216 19 Y 128 31 63
|
def @arg15 251 16777216 19 Y 128 31 63
|
||||||
def @arg16 253 16777216 8 Y 128 31 63
|
def @arg16 251 16777216 8 Y 128 31 63
|
||||||
def @arg17 253 20 4 Y 128 0 63
|
def @arg17 8 20 4 Y 32928 0 63
|
||||||
def @arg18 253 20 1 Y 128 0 63
|
def @arg18 8 20 1 Y 32896 0 63
|
||||||
def @arg19 253 20 1 Y 128 0 63
|
def @arg19 8 20 1 Y 32896 0 63
|
||||||
def @arg20 253 16777216 1 Y 0 31 8
|
def @arg20 251 16777216 1 Y 0 31 8
|
||||||
def @arg21 253 16777216 10 Y 0 31 8
|
def @arg21 251 16777216 10 Y 0 31 8
|
||||||
def @arg22 253 16777216 30 Y 0 31 8
|
def @arg22 251 16777216 30 Y 0 31 8
|
||||||
def @arg23 253 16777216 8 Y 128 31 63
|
def @arg23 251 16777216 8 Y 128 31 63
|
||||||
def @arg24 253 16777216 8 Y 0 31 8
|
def @arg24 251 16777216 8 Y 0 31 8
|
||||||
def @arg25 253 16777216 4 Y 128 31 63
|
def @arg25 251 16777216 4 Y 128 31 63
|
||||||
def @arg26 253 16777216 4 Y 0 31 8
|
def @arg26 251 16777216 4 Y 0 31 8
|
||||||
def @arg27 253 16777216 10 Y 128 31 63
|
def @arg27 251 16777216 10 Y 128 31 63
|
||||||
def @arg28 253 16777216 10 Y 0 31 8
|
def @arg28 251 16777216 10 Y 0 31 8
|
||||||
def @arg29 253 16777216 8 Y 128 31 63
|
def @arg29 251 16777216 8 Y 128 31 63
|
||||||
def @arg30 253 16777216 8 Y 0 31 8
|
def @arg30 251 16777216 8 Y 0 31 8
|
||||||
def @arg31 253 16777216 3 Y 0 31 8
|
def @arg31 251 16777216 3 Y 0 31 8
|
||||||
def @arg32 253 16777216 6 Y 0 31 8
|
def @arg32 251 16777216 6 Y 0 31 8
|
||||||
@arg01 @arg02 @arg03 @arg04 @arg05 @arg06 @arg07 @arg08 @arg09 @arg10 @arg11 @arg12 @arg13 @arg14 @arg15 @arg16 @arg17 @arg18 @arg19 @arg20 @arg21 @arg22 @arg23 @arg24 @arg25 @arg26 @arg27 @arg28 @arg29 @arg30 @arg31 @arg32
|
@arg01 @arg02 @arg03 @arg04 @arg05 @arg06 @arg07 @arg08 @arg09 @arg10 @arg11 @arg12 @arg13 @arg14 @arg15 @arg16 @arg17 @arg18 @arg19 @arg20 @arg21 @arg22 @arg23 @arg24 @arg25 @arg26 @arg27 @arg28 @arg29 @arg30 @arg31 @arg32
|
||||||
1 1 1 1 1 1 1 1 1 1 1.0000 1.0000 2004-02-29 2004-02-29 11:11:11 2004-02-29 11:11:11 11:11:11 2004 1 1 a 123456789a 123456789a123456789b123456789c tinyblob tinytext blob text mediumblob mediumtext longblob longtext one monday
|
1 1 1 1 1 1 1 1 1 1 1.0000 1.0000 2004-02-29 2004-02-29 11:11:11 2004-02-29 11:11:11 11:11:11 2004 1 1 a 123456789a 123456789a123456789b123456789c tinyblob tinytext blob text mediumblob mediumtext longblob longtext one monday
|
||||||
select @arg01:= c1, @arg02:= c2, @arg03:= c3, @arg04:= c4,
|
select @arg01:= c1, @arg02:= c2, @arg03:= c3, @arg04:= c4,
|
||||||
@ -1947,38 +1947,38 @@ from t9 where c1= 0 ;
|
|||||||
0 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 1991-01-01 01:01:01 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
|
0 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 1991-01-01 01:01:01 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
|
||||||
execute full_info ;
|
execute full_info ;
|
||||||
Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
|
Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
|
||||||
def @arg01 253 20 1 Y 128 0 63
|
def @arg01 8 20 1 Y 32896 0 63
|
||||||
def @arg02 253 20 0 Y 128 0 63
|
def @arg02 8 20 0 Y 32896 0 63
|
||||||
def @arg03 253 20 0 Y 128 0 63
|
def @arg03 8 20 0 Y 32896 0 63
|
||||||
def @arg04 253 20 0 Y 128 0 63
|
def @arg04 8 20 0 Y 32896 0 63
|
||||||
def @arg05 253 20 0 Y 128 0 63
|
def @arg05 8 20 0 Y 32896 0 63
|
||||||
def @arg06 253 20 0 Y 128 0 63
|
def @arg06 8 20 0 Y 32896 0 63
|
||||||
def @arg07 253 23 0 Y 128 31 63
|
def @arg07 5 23 0 Y 32896 31 63
|
||||||
def @arg08 253 23 0 Y 128 31 63
|
def @arg08 5 23 0 Y 32896 31 63
|
||||||
def @arg09 253 23 0 Y 128 31 63
|
def @arg09 5 23 0 Y 32896 31 63
|
||||||
def @arg10 253 23 0 Y 128 31 63
|
def @arg10 5 23 0 Y 32896 31 63
|
||||||
def @arg11 253 67 0 Y 128 30 63
|
def @arg11 246 67 0 Y 128 30 63
|
||||||
def @arg12 253 67 0 Y 128 30 63
|
def @arg12 246 67 0 Y 128 30 63
|
||||||
def @arg13 253 16777216 0 Y 128 31 63
|
def @arg13 251 16777216 0 Y 128 31 63
|
||||||
def @arg14 253 16777216 0 Y 128 31 63
|
def @arg14 251 16777216 0 Y 128 31 63
|
||||||
def @arg15 253 16777216 19 Y 128 31 63
|
def @arg15 251 16777216 19 Y 128 31 63
|
||||||
def @arg16 253 16777216 0 Y 128 31 63
|
def @arg16 251 16777216 0 Y 128 31 63
|
||||||
def @arg17 253 20 0 Y 128 0 63
|
def @arg17 8 20 0 Y 32928 0 63
|
||||||
def @arg18 253 20 0 Y 128 0 63
|
def @arg18 8 20 0 Y 32896 0 63
|
||||||
def @arg19 253 20 0 Y 128 0 63
|
def @arg19 8 20 0 Y 32896 0 63
|
||||||
def @arg20 253 16777216 0 Y 0 31 8
|
def @arg20 251 16777216 0 Y 0 31 8
|
||||||
def @arg21 253 16777216 0 Y 0 31 8
|
def @arg21 251 16777216 0 Y 0 31 8
|
||||||
def @arg22 253 16777216 0 Y 0 31 8
|
def @arg22 251 16777216 0 Y 0 31 8
|
||||||
def @arg23 253 16777216 0 Y 128 31 63
|
def @arg23 251 16777216 0 Y 128 31 63
|
||||||
def @arg24 253 16777216 0 Y 0 31 8
|
def @arg24 251 16777216 0 Y 0 31 8
|
||||||
def @arg25 253 16777216 0 Y 128 31 63
|
def @arg25 251 16777216 0 Y 128 31 63
|
||||||
def @arg26 253 16777216 0 Y 0 31 8
|
def @arg26 251 16777216 0 Y 0 31 8
|
||||||
def @arg27 253 16777216 0 Y 128 31 63
|
def @arg27 251 16777216 0 Y 128 31 63
|
||||||
def @arg28 253 16777216 0 Y 0 31 8
|
def @arg28 251 16777216 0 Y 0 31 8
|
||||||
def @arg29 253 16777216 0 Y 128 31 63
|
def @arg29 251 16777216 0 Y 128 31 63
|
||||||
def @arg30 253 16777216 0 Y 0 31 8
|
def @arg30 251 16777216 0 Y 0 31 8
|
||||||
def @arg31 253 16777216 0 Y 0 31 8
|
def @arg31 251 16777216 0 Y 0 31 8
|
||||||
def @arg32 253 16777216 0 Y 0 31 8
|
def @arg32 251 16777216 0 Y 0 31 8
|
||||||
@arg01 @arg02 @arg03 @arg04 @arg05 @arg06 @arg07 @arg08 @arg09 @arg10 @arg11 @arg12 @arg13 @arg14 @arg15 @arg16 @arg17 @arg18 @arg19 @arg20 @arg21 @arg22 @arg23 @arg24 @arg25 @arg26 @arg27 @arg28 @arg29 @arg30 @arg31 @arg32
|
@arg01 @arg02 @arg03 @arg04 @arg05 @arg06 @arg07 @arg08 @arg09 @arg10 @arg11 @arg12 @arg13 @arg14 @arg15 @arg16 @arg17 @arg18 @arg19 @arg20 @arg21 @arg22 @arg23 @arg24 @arg25 @arg26 @arg27 @arg28 @arg29 @arg30 @arg31 @arg32
|
||||||
0 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 1991-01-01 01:01:01 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
|
0 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 1991-01-01 01:01:01 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
|
||||||
prepare stmt1 from "select
|
prepare stmt1 from "select
|
||||||
@ -1997,38 +1997,38 @@ execute stmt1 using @my_key ;
|
|||||||
1 1 1 1 1 1 1 1 1 1 1.0000 1.0000 2004-02-29 2004-02-29 11:11:11 2004-02-29 11:11:11 11:11:11 2004 1 1 a 123456789a 123456789a123456789b123456789c tinyblob tinytext blob text mediumblob mediumtext longblob longtext one monday
|
1 1 1 1 1 1 1 1 1 1 1.0000 1.0000 2004-02-29 2004-02-29 11:11:11 2004-02-29 11:11:11 11:11:11 2004 1 1 a 123456789a 123456789a123456789b123456789c tinyblob tinytext blob text mediumblob mediumtext longblob longtext one monday
|
||||||
execute full_info ;
|
execute full_info ;
|
||||||
Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
|
Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
|
||||||
def @arg01 253 20 1 Y 128 0 63
|
def @arg01 8 20 1 Y 32896 0 63
|
||||||
def @arg02 253 20 1 Y 128 0 63
|
def @arg02 8 20 1 Y 32896 0 63
|
||||||
def @arg03 253 20 1 Y 128 0 63
|
def @arg03 8 20 1 Y 32896 0 63
|
||||||
def @arg04 253 20 1 Y 128 0 63
|
def @arg04 8 20 1 Y 32896 0 63
|
||||||
def @arg05 253 20 1 Y 128 0 63
|
def @arg05 8 20 1 Y 32896 0 63
|
||||||
def @arg06 253 20 1 Y 128 0 63
|
def @arg06 8 20 1 Y 32896 0 63
|
||||||
def @arg07 253 23 1 Y 128 31 63
|
def @arg07 5 23 1 Y 32896 31 63
|
||||||
def @arg08 253 23 1 Y 128 31 63
|
def @arg08 5 23 1 Y 32896 31 63
|
||||||
def @arg09 253 23 1 Y 128 31 63
|
def @arg09 5 23 1 Y 32896 31 63
|
||||||
def @arg10 253 23 1 Y 128 31 63
|
def @arg10 5 23 1 Y 32896 31 63
|
||||||
def @arg11 253 67 6 Y 128 30 63
|
def @arg11 246 67 6 Y 128 30 63
|
||||||
def @arg12 253 67 6 Y 128 30 63
|
def @arg12 246 67 6 Y 128 30 63
|
||||||
def @arg13 253 16777216 10 Y 128 31 63
|
def @arg13 251 16777216 10 Y 128 31 63
|
||||||
def @arg14 253 16777216 19 Y 128 31 63
|
def @arg14 251 16777216 19 Y 128 31 63
|
||||||
def @arg15 253 16777216 19 Y 128 31 63
|
def @arg15 251 16777216 19 Y 128 31 63
|
||||||
def @arg16 253 16777216 8 Y 128 31 63
|
def @arg16 251 16777216 8 Y 128 31 63
|
||||||
def @arg17 253 20 4 Y 128 0 63
|
def @arg17 8 20 4 Y 32928 0 63
|
||||||
def @arg18 253 20 1 Y 128 0 63
|
def @arg18 8 20 1 Y 32896 0 63
|
||||||
def @arg19 253 20 1 Y 128 0 63
|
def @arg19 8 20 1 Y 32896 0 63
|
||||||
def @arg20 253 16777216 1 Y 0 31 8
|
def @arg20 251 16777216 1 Y 0 31 8
|
||||||
def @arg21 253 16777216 10 Y 0 31 8
|
def @arg21 251 16777216 10 Y 0 31 8
|
||||||
def @arg22 253 16777216 30 Y 0 31 8
|
def @arg22 251 16777216 30 Y 0 31 8
|
||||||
def @arg23 253 16777216 8 Y 128 31 63
|
def @arg23 251 16777216 8 Y 128 31 63
|
||||||
def @arg24 253 16777216 8 Y 0 31 8
|
def @arg24 251 16777216 8 Y 0 31 8
|
||||||
def @arg25 253 16777216 4 Y 128 31 63
|
def @arg25 251 16777216 4 Y 128 31 63
|
||||||
def @arg26 253 16777216 4 Y 0 31 8
|
def @arg26 251 16777216 4 Y 0 31 8
|
||||||
def @arg27 253 16777216 10 Y 128 31 63
|
def @arg27 251 16777216 10 Y 128 31 63
|
||||||
def @arg28 253 16777216 10 Y 0 31 8
|
def @arg28 251 16777216 10 Y 0 31 8
|
||||||
def @arg29 253 16777216 8 Y 128 31 63
|
def @arg29 251 16777216 8 Y 128 31 63
|
||||||
def @arg30 253 16777216 8 Y 0 31 8
|
def @arg30 251 16777216 8 Y 0 31 8
|
||||||
def @arg31 253 16777216 3 Y 0 31 8
|
def @arg31 251 16777216 3 Y 0 31 8
|
||||||
def @arg32 253 16777216 6 Y 0 31 8
|
def @arg32 251 16777216 6 Y 0 31 8
|
||||||
@arg01 @arg02 @arg03 @arg04 @arg05 @arg06 @arg07 @arg08 @arg09 @arg10 @arg11 @arg12 @arg13 @arg14 @arg15 @arg16 @arg17 @arg18 @arg19 @arg20 @arg21 @arg22 @arg23 @arg24 @arg25 @arg26 @arg27 @arg28 @arg29 @arg30 @arg31 @arg32
|
@arg01 @arg02 @arg03 @arg04 @arg05 @arg06 @arg07 @arg08 @arg09 @arg10 @arg11 @arg12 @arg13 @arg14 @arg15 @arg16 @arg17 @arg18 @arg19 @arg20 @arg21 @arg22 @arg23 @arg24 @arg25 @arg26 @arg27 @arg28 @arg29 @arg30 @arg31 @arg32
|
||||||
1 1 1 1 1 1 1 1 1 1 1.0000 1.0000 2004-02-29 2004-02-29 11:11:11 2004-02-29 11:11:11 11:11:11 2004 1 1 a 123456789a 123456789a123456789b123456789c tinyblob tinytext blob text mediumblob mediumtext longblob longtext one monday
|
1 1 1 1 1 1 1 1 1 1 1.0000 1.0000 2004-02-29 2004-02-29 11:11:11 2004-02-29 11:11:11 11:11:11 2004 1 1 a 123456789a 123456789a123456789b123456789c tinyblob tinytext blob text mediumblob mediumtext longblob longtext one monday
|
||||||
set @my_key= 0 ;
|
set @my_key= 0 ;
|
||||||
@ -2037,38 +2037,38 @@ execute stmt1 using @my_key ;
|
|||||||
0 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 1991-01-01 01:01:01 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
|
0 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 1991-01-01 01:01:01 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
|
||||||
execute full_info ;
|
execute full_info ;
|
||||||
Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
|
Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
|
||||||
def @arg01 253 20 1 Y 128 0 63
|
def @arg01 8 20 1 Y 32896 0 63
|
||||||
def @arg02 253 20 0 Y 128 0 63
|
def @arg02 8 20 0 Y 32896 0 63
|
||||||
def @arg03 253 20 0 Y 128 0 63
|
def @arg03 8 20 0 Y 32896 0 63
|
||||||
def @arg04 253 20 0 Y 128 0 63
|
def @arg04 8 20 0 Y 32896 0 63
|
||||||
def @arg05 253 20 0 Y 128 0 63
|
def @arg05 8 20 0 Y 32896 0 63
|
||||||
def @arg06 253 20 0 Y 128 0 63
|
def @arg06 8 20 0 Y 32896 0 63
|
||||||
def @arg07 253 23 0 Y 128 31 63
|
def @arg07 5 23 0 Y 32896 31 63
|
||||||
def @arg08 253 23 0 Y 128 31 63
|
def @arg08 5 23 0 Y 32896 31 63
|
||||||
def @arg09 253 23 0 Y 128 31 63
|
def @arg09 5 23 0 Y 32896 31 63
|
||||||
def @arg10 253 23 0 Y 128 31 63
|
def @arg10 5 23 0 Y 32896 31 63
|
||||||
def @arg11 253 67 0 Y 128 30 63
|
def @arg11 246 67 0 Y 128 30 63
|
||||||
def @arg12 253 67 0 Y 128 30 63
|
def @arg12 246 67 0 Y 128 30 63
|
||||||
def @arg13 253 16777216 0 Y 128 31 63
|
def @arg13 251 16777216 0 Y 128 31 63
|
||||||
def @arg14 253 16777216 0 Y 128 31 63
|
def @arg14 251 16777216 0 Y 128 31 63
|
||||||
def @arg15 253 16777216 19 Y 128 31 63
|
def @arg15 251 16777216 19 Y 128 31 63
|
||||||
def @arg16 253 16777216 0 Y 128 31 63
|
def @arg16 251 16777216 0 Y 128 31 63
|
||||||
def @arg17 253 20 0 Y 128 0 63
|
def @arg17 8 20 0 Y 32928 0 63
|
||||||
def @arg18 253 20 0 Y 128 0 63
|
def @arg18 8 20 0 Y 32896 0 63
|
||||||
def @arg19 253 20 0 Y 128 0 63
|
def @arg19 8 20 0 Y 32896 0 63
|
||||||
def @arg20 253 16777216 0 Y 0 31 8
|
def @arg20 251 16777216 0 Y 0 31 8
|
||||||
def @arg21 253 16777216 0 Y 0 31 8
|
def @arg21 251 16777216 0 Y 0 31 8
|
||||||
def @arg22 253 16777216 0 Y 0 31 8
|
def @arg22 251 16777216 0 Y 0 31 8
|
||||||
def @arg23 253 16777216 0 Y 128 31 63
|
def @arg23 251 16777216 0 Y 128 31 63
|
||||||
def @arg24 253 16777216 0 Y 0 31 8
|
def @arg24 251 16777216 0 Y 0 31 8
|
||||||
def @arg25 253 16777216 0 Y 128 31 63
|
def @arg25 251 16777216 0 Y 128 31 63
|
||||||
def @arg26 253 16777216 0 Y 0 31 8
|
def @arg26 251 16777216 0 Y 0 31 8
|
||||||
def @arg27 253 16777216 0 Y 128 31 63
|
def @arg27 251 16777216 0 Y 128 31 63
|
||||||
def @arg28 253 16777216 0 Y 0 31 8
|
def @arg28 251 16777216 0 Y 0 31 8
|
||||||
def @arg29 253 16777216 0 Y 128 31 63
|
def @arg29 251 16777216 0 Y 128 31 63
|
||||||
def @arg30 253 16777216 0 Y 0 31 8
|
def @arg30 251 16777216 0 Y 0 31 8
|
||||||
def @arg31 253 16777216 0 Y 0 31 8
|
def @arg31 251 16777216 0 Y 0 31 8
|
||||||
def @arg32 253 16777216 0 Y 0 31 8
|
def @arg32 251 16777216 0 Y 0 31 8
|
||||||
@arg01 @arg02 @arg03 @arg04 @arg05 @arg06 @arg07 @arg08 @arg09 @arg10 @arg11 @arg12 @arg13 @arg14 @arg15 @arg16 @arg17 @arg18 @arg19 @arg20 @arg21 @arg22 @arg23 @arg24 @arg25 @arg26 @arg27 @arg28 @arg29 @arg30 @arg31 @arg32
|
@arg01 @arg02 @arg03 @arg04 @arg05 @arg06 @arg07 @arg08 @arg09 @arg10 @arg11 @arg12 @arg13 @arg14 @arg15 @arg16 @arg17 @arg18 @arg19 @arg20 @arg21 @arg22 @arg23 @arg24 @arg25 @arg26 @arg27 @arg28 @arg29 @arg30 @arg31 @arg32
|
||||||
0 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 1991-01-01 01:01:01 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
|
0 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 1991-01-01 01:01:01 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
|
||||||
prepare stmt1 from "select ? := c1 from t9 where c1= 1" ;
|
prepare stmt1 from "select ? := c1 from t9 where c1= 1" ;
|
||||||
@ -2085,38 +2085,38 @@ into @arg01, @arg02, @arg03, @arg04, @arg05, @arg06, @arg07, @arg08,
|
|||||||
from t9 where c1= 1 ;
|
from t9 where c1= 1 ;
|
||||||
execute full_info ;
|
execute full_info ;
|
||||||
Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
|
Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
|
||||||
def @arg01 253 20 1 Y 128 0 63
|
def @arg01 8 20 1 Y 32896 0 63
|
||||||
def @arg02 253 20 1 Y 128 0 63
|
def @arg02 8 20 1 Y 32896 0 63
|
||||||
def @arg03 253 20 1 Y 128 0 63
|
def @arg03 8 20 1 Y 32896 0 63
|
||||||
def @arg04 253 20 1 Y 128 0 63
|
def @arg04 8 20 1 Y 32896 0 63
|
||||||
def @arg05 253 20 1 Y 128 0 63
|
def @arg05 8 20 1 Y 32896 0 63
|
||||||
def @arg06 253 20 1 Y 128 0 63
|
def @arg06 8 20 1 Y 32896 0 63
|
||||||
def @arg07 253 23 1 Y 128 31 63
|
def @arg07 5 23 1 Y 32896 31 63
|
||||||
def @arg08 253 23 1 Y 128 31 63
|
def @arg08 5 23 1 Y 32896 31 63
|
||||||
def @arg09 253 23 1 Y 128 31 63
|
def @arg09 5 23 1 Y 32896 31 63
|
||||||
def @arg10 253 23 1 Y 128 31 63
|
def @arg10 5 23 1 Y 32896 31 63
|
||||||
def @arg11 253 67 6 Y 128 30 63
|
def @arg11 246 67 6 Y 128 30 63
|
||||||
def @arg12 253 67 6 Y 128 30 63
|
def @arg12 246 67 6 Y 128 30 63
|
||||||
def @arg13 253 16777216 10 Y 128 31 63
|
def @arg13 251 16777216 10 Y 128 31 63
|
||||||
def @arg14 253 16777216 19 Y 128 31 63
|
def @arg14 251 16777216 19 Y 128 31 63
|
||||||
def @arg15 253 16777216 19 Y 128 31 63
|
def @arg15 251 16777216 19 Y 128 31 63
|
||||||
def @arg16 253 16777216 8 Y 128 31 63
|
def @arg16 251 16777216 8 Y 128 31 63
|
||||||
def @arg17 253 20 4 Y 128 0 63
|
def @arg17 8 20 4 Y 32928 0 63
|
||||||
def @arg18 253 20 1 Y 128 0 63
|
def @arg18 8 20 1 Y 32896 0 63
|
||||||
def @arg19 253 20 1 Y 128 0 63
|
def @arg19 8 20 1 Y 32896 0 63
|
||||||
def @arg20 253 16777216 1 Y 0 31 8
|
def @arg20 251 16777216 1 Y 0 31 8
|
||||||
def @arg21 253 16777216 10 Y 0 31 8
|
def @arg21 251 16777216 10 Y 0 31 8
|
||||||
def @arg22 253 16777216 30 Y 0 31 8
|
def @arg22 251 16777216 30 Y 0 31 8
|
||||||
def @arg23 253 16777216 8 Y 128 31 63
|
def @arg23 251 16777216 8 Y 128 31 63
|
||||||
def @arg24 253 16777216 8 Y 0 31 8
|
def @arg24 251 16777216 8 Y 0 31 8
|
||||||
def @arg25 253 16777216 4 Y 128 31 63
|
def @arg25 251 16777216 4 Y 128 31 63
|
||||||
def @arg26 253 16777216 4 Y 0 31 8
|
def @arg26 251 16777216 4 Y 0 31 8
|
||||||
def @arg27 253 16777216 10 Y 128 31 63
|
def @arg27 251 16777216 10 Y 128 31 63
|
||||||
def @arg28 253 16777216 10 Y 0 31 8
|
def @arg28 251 16777216 10 Y 0 31 8
|
||||||
def @arg29 253 16777216 8 Y 128 31 63
|
def @arg29 251 16777216 8 Y 128 31 63
|
||||||
def @arg30 253 16777216 8 Y 0 31 8
|
def @arg30 251 16777216 8 Y 0 31 8
|
||||||
def @arg31 253 16777216 3 Y 0 31 8
|
def @arg31 251 16777216 3 Y 0 31 8
|
||||||
def @arg32 253 16777216 6 Y 0 31 8
|
def @arg32 251 16777216 6 Y 0 31 8
|
||||||
@arg01 @arg02 @arg03 @arg04 @arg05 @arg06 @arg07 @arg08 @arg09 @arg10 @arg11 @arg12 @arg13 @arg14 @arg15 @arg16 @arg17 @arg18 @arg19 @arg20 @arg21 @arg22 @arg23 @arg24 @arg25 @arg26 @arg27 @arg28 @arg29 @arg30 @arg31 @arg32
|
@arg01 @arg02 @arg03 @arg04 @arg05 @arg06 @arg07 @arg08 @arg09 @arg10 @arg11 @arg12 @arg13 @arg14 @arg15 @arg16 @arg17 @arg18 @arg19 @arg20 @arg21 @arg22 @arg23 @arg24 @arg25 @arg26 @arg27 @arg28 @arg29 @arg30 @arg31 @arg32
|
||||||
1 1 1 1 1 1 1 1 1 1 1.0000 1.0000 2004-02-29 2004-02-29 11:11:11 2004-02-29 11:11:11 11:11:11 2004 1 1 a 123456789a 123456789a123456789b123456789c tinyblob tinytext blob text mediumblob mediumtext longblob longtext one monday
|
1 1 1 1 1 1 1 1 1 1 1.0000 1.0000 2004-02-29 2004-02-29 11:11:11 2004-02-29 11:11:11 11:11:11 2004 1 1 a 123456789a 123456789a123456789b123456789c tinyblob tinytext blob text mediumblob mediumtext longblob longtext one monday
|
||||||
select c1, c2, c3, c4, c5, c6, c7, c8, c9, c10, c11, c12,
|
select c1, c2, c3, c4, c5, c6, c7, c8, c9, c10, c11, c12,
|
||||||
@ -2129,38 +2129,38 @@ into @arg01, @arg02, @arg03, @arg04, @arg05, @arg06, @arg07, @arg08,
|
|||||||
from t9 where c1= 0 ;
|
from t9 where c1= 0 ;
|
||||||
execute full_info ;
|
execute full_info ;
|
||||||
Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
|
Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
|
||||||
def @arg01 253 20 1 Y 128 0 63
|
def @arg01 8 20 1 Y 32896 0 63
|
||||||
def @arg02 253 20 0 Y 128 0 63
|
def @arg02 8 20 0 Y 32896 0 63
|
||||||
def @arg03 253 20 0 Y 128 0 63
|
def @arg03 8 20 0 Y 32896 0 63
|
||||||
def @arg04 253 20 0 Y 128 0 63
|
def @arg04 8 20 0 Y 32896 0 63
|
||||||
def @arg05 253 20 0 Y 128 0 63
|
def @arg05 8 20 0 Y 32896 0 63
|
||||||
def @arg06 253 20 0 Y 128 0 63
|
def @arg06 8 20 0 Y 32896 0 63
|
||||||
def @arg07 253 23 0 Y 128 31 63
|
def @arg07 5 23 0 Y 32896 31 63
|
||||||
def @arg08 253 23 0 Y 128 31 63
|
def @arg08 5 23 0 Y 32896 31 63
|
||||||
def @arg09 253 23 0 Y 128 31 63
|
def @arg09 5 23 0 Y 32896 31 63
|
||||||
def @arg10 253 23 0 Y 128 31 63
|
def @arg10 5 23 0 Y 32896 31 63
|
||||||
def @arg11 253 67 0 Y 128 30 63
|
def @arg11 246 67 0 Y 128 30 63
|
||||||
def @arg12 253 67 0 Y 128 30 63
|
def @arg12 246 67 0 Y 128 30 63
|
||||||
def @arg13 253 16777216 0 Y 128 31 63
|
def @arg13 251 16777216 0 Y 128 31 63
|
||||||
def @arg14 253 16777216 0 Y 128 31 63
|
def @arg14 251 16777216 0 Y 128 31 63
|
||||||
def @arg15 253 16777216 19 Y 128 31 63
|
def @arg15 251 16777216 19 Y 128 31 63
|
||||||
def @arg16 253 16777216 0 Y 128 31 63
|
def @arg16 251 16777216 0 Y 128 31 63
|
||||||
def @arg17 253 20 0 Y 128 0 63
|
def @arg17 8 20 0 Y 32928 0 63
|
||||||
def @arg18 253 20 0 Y 128 0 63
|
def @arg18 8 20 0 Y 32896 0 63
|
||||||
def @arg19 253 20 0 Y 128 0 63
|
def @arg19 8 20 0 Y 32896 0 63
|
||||||
def @arg20 253 16777216 0 Y 0 31 8
|
def @arg20 251 16777216 0 Y 0 31 8
|
||||||
def @arg21 253 16777216 0 Y 0 31 8
|
def @arg21 251 16777216 0 Y 0 31 8
|
||||||
def @arg22 253 16777216 0 Y 0 31 8
|
def @arg22 251 16777216 0 Y 0 31 8
|
||||||
def @arg23 253 16777216 0 Y 128 31 63
|
def @arg23 251 16777216 0 Y 128 31 63
|
||||||
def @arg24 253 16777216 0 Y 0 31 8
|
def @arg24 251 16777216 0 Y 0 31 8
|
||||||
def @arg25 253 16777216 0 Y 128 31 63
|
def @arg25 251 16777216 0 Y 128 31 63
|
||||||
def @arg26 253 16777216 0 Y 0 31 8
|
def @arg26 251 16777216 0 Y 0 31 8
|
||||||
def @arg27 253 16777216 0 Y 128 31 63
|
def @arg27 251 16777216 0 Y 128 31 63
|
||||||
def @arg28 253 16777216 0 Y 0 31 8
|
def @arg28 251 16777216 0 Y 0 31 8
|
||||||
def @arg29 253 16777216 0 Y 128 31 63
|
def @arg29 251 16777216 0 Y 128 31 63
|
||||||
def @arg30 253 16777216 0 Y 0 31 8
|
def @arg30 251 16777216 0 Y 0 31 8
|
||||||
def @arg31 253 16777216 0 Y 0 31 8
|
def @arg31 251 16777216 0 Y 0 31 8
|
||||||
def @arg32 253 16777216 0 Y 0 31 8
|
def @arg32 251 16777216 0 Y 0 31 8
|
||||||
@arg01 @arg02 @arg03 @arg04 @arg05 @arg06 @arg07 @arg08 @arg09 @arg10 @arg11 @arg12 @arg13 @arg14 @arg15 @arg16 @arg17 @arg18 @arg19 @arg20 @arg21 @arg22 @arg23 @arg24 @arg25 @arg26 @arg27 @arg28 @arg29 @arg30 @arg31 @arg32
|
@arg01 @arg02 @arg03 @arg04 @arg05 @arg06 @arg07 @arg08 @arg09 @arg10 @arg11 @arg12 @arg13 @arg14 @arg15 @arg16 @arg17 @arg18 @arg19 @arg20 @arg21 @arg22 @arg23 @arg24 @arg25 @arg26 @arg27 @arg28 @arg29 @arg30 @arg31 @arg32
|
||||||
0 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 1991-01-01 01:01:01 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
|
0 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 1991-01-01 01:01:01 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
|
||||||
prepare stmt1 from "select c1, c2, c3, c4, c5, c6, c7, c8, c9, c10, c11, c12,
|
prepare stmt1 from "select c1, c2, c3, c4, c5, c6, c7, c8, c9, c10, c11, c12,
|
||||||
@ -2175,76 +2175,76 @@ set @my_key= 1 ;
|
|||||||
execute stmt1 using @my_key ;
|
execute stmt1 using @my_key ;
|
||||||
execute full_info ;
|
execute full_info ;
|
||||||
Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
|
Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
|
||||||
def @arg01 253 20 1 Y 128 0 63
|
def @arg01 8 20 1 Y 32896 0 63
|
||||||
def @arg02 253 20 1 Y 128 0 63
|
def @arg02 8 20 1 Y 32896 0 63
|
||||||
def @arg03 253 20 1 Y 128 0 63
|
def @arg03 8 20 1 Y 32896 0 63
|
||||||
def @arg04 253 20 1 Y 128 0 63
|
def @arg04 8 20 1 Y 32896 0 63
|
||||||
def @arg05 253 20 1 Y 128 0 63
|
def @arg05 8 20 1 Y 32896 0 63
|
||||||
def @arg06 253 20 1 Y 128 0 63
|
def @arg06 8 20 1 Y 32896 0 63
|
||||||
def @arg07 253 23 1 Y 128 31 63
|
def @arg07 5 23 1 Y 32896 31 63
|
||||||
def @arg08 253 23 1 Y 128 31 63
|
def @arg08 5 23 1 Y 32896 31 63
|
||||||
def @arg09 253 23 1 Y 128 31 63
|
def @arg09 5 23 1 Y 32896 31 63
|
||||||
def @arg10 253 23 1 Y 128 31 63
|
def @arg10 5 23 1 Y 32896 31 63
|
||||||
def @arg11 253 67 6 Y 128 30 63
|
def @arg11 246 67 6 Y 128 30 63
|
||||||
def @arg12 253 67 6 Y 128 30 63
|
def @arg12 246 67 6 Y 128 30 63
|
||||||
def @arg13 253 16777216 10 Y 128 31 63
|
def @arg13 251 16777216 10 Y 128 31 63
|
||||||
def @arg14 253 16777216 19 Y 128 31 63
|
def @arg14 251 16777216 19 Y 128 31 63
|
||||||
def @arg15 253 16777216 19 Y 128 31 63
|
def @arg15 251 16777216 19 Y 128 31 63
|
||||||
def @arg16 253 16777216 8 Y 128 31 63
|
def @arg16 251 16777216 8 Y 128 31 63
|
||||||
def @arg17 253 20 4 Y 128 0 63
|
def @arg17 8 20 4 Y 32928 0 63
|
||||||
def @arg18 253 20 1 Y 128 0 63
|
def @arg18 8 20 1 Y 32896 0 63
|
||||||
def @arg19 253 20 1 Y 128 0 63
|
def @arg19 8 20 1 Y 32896 0 63
|
||||||
def @arg20 253 16777216 1 Y 0 31 8
|
def @arg20 251 16777216 1 Y 0 31 8
|
||||||
def @arg21 253 16777216 10 Y 0 31 8
|
def @arg21 251 16777216 10 Y 0 31 8
|
||||||
def @arg22 253 16777216 30 Y 0 31 8
|
def @arg22 251 16777216 30 Y 0 31 8
|
||||||
def @arg23 253 16777216 8 Y 128 31 63
|
def @arg23 251 16777216 8 Y 128 31 63
|
||||||
def @arg24 253 16777216 8 Y 0 31 8
|
def @arg24 251 16777216 8 Y 0 31 8
|
||||||
def @arg25 253 16777216 4 Y 128 31 63
|
def @arg25 251 16777216 4 Y 128 31 63
|
||||||
def @arg26 253 16777216 4 Y 0 31 8
|
def @arg26 251 16777216 4 Y 0 31 8
|
||||||
def @arg27 253 16777216 10 Y 128 31 63
|
def @arg27 251 16777216 10 Y 128 31 63
|
||||||
def @arg28 253 16777216 10 Y 0 31 8
|
def @arg28 251 16777216 10 Y 0 31 8
|
||||||
def @arg29 253 16777216 8 Y 128 31 63
|
def @arg29 251 16777216 8 Y 128 31 63
|
||||||
def @arg30 253 16777216 8 Y 0 31 8
|
def @arg30 251 16777216 8 Y 0 31 8
|
||||||
def @arg31 253 16777216 3 Y 0 31 8
|
def @arg31 251 16777216 3 Y 0 31 8
|
||||||
def @arg32 253 16777216 6 Y 0 31 8
|
def @arg32 251 16777216 6 Y 0 31 8
|
||||||
@arg01 @arg02 @arg03 @arg04 @arg05 @arg06 @arg07 @arg08 @arg09 @arg10 @arg11 @arg12 @arg13 @arg14 @arg15 @arg16 @arg17 @arg18 @arg19 @arg20 @arg21 @arg22 @arg23 @arg24 @arg25 @arg26 @arg27 @arg28 @arg29 @arg30 @arg31 @arg32
|
@arg01 @arg02 @arg03 @arg04 @arg05 @arg06 @arg07 @arg08 @arg09 @arg10 @arg11 @arg12 @arg13 @arg14 @arg15 @arg16 @arg17 @arg18 @arg19 @arg20 @arg21 @arg22 @arg23 @arg24 @arg25 @arg26 @arg27 @arg28 @arg29 @arg30 @arg31 @arg32
|
||||||
1 1 1 1 1 1 1 1 1 1 1.0000 1.0000 2004-02-29 2004-02-29 11:11:11 2004-02-29 11:11:11 11:11:11 2004 1 1 a 123456789a 123456789a123456789b123456789c tinyblob tinytext blob text mediumblob mediumtext longblob longtext one monday
|
1 1 1 1 1 1 1 1 1 1 1.0000 1.0000 2004-02-29 2004-02-29 11:11:11 2004-02-29 11:11:11 11:11:11 2004 1 1 a 123456789a 123456789a123456789b123456789c tinyblob tinytext blob text mediumblob mediumtext longblob longtext one monday
|
||||||
set @my_key= 0 ;
|
set @my_key= 0 ;
|
||||||
execute stmt1 using @my_key ;
|
execute stmt1 using @my_key ;
|
||||||
execute full_info ;
|
execute full_info ;
|
||||||
Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
|
Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
|
||||||
def @arg01 253 20 1 Y 128 0 63
|
def @arg01 8 20 1 Y 32896 0 63
|
||||||
def @arg02 253 20 0 Y 128 0 63
|
def @arg02 8 20 0 Y 32896 0 63
|
||||||
def @arg03 253 20 0 Y 128 0 63
|
def @arg03 8 20 0 Y 32896 0 63
|
||||||
def @arg04 253 20 0 Y 128 0 63
|
def @arg04 8 20 0 Y 32896 0 63
|
||||||
def @arg05 253 20 0 Y 128 0 63
|
def @arg05 8 20 0 Y 32896 0 63
|
||||||
def @arg06 253 20 0 Y 128 0 63
|
def @arg06 8 20 0 Y 32896 0 63
|
||||||
def @arg07 253 23 0 Y 128 31 63
|
def @arg07 5 23 0 Y 32896 31 63
|
||||||
def @arg08 253 23 0 Y 128 31 63
|
def @arg08 5 23 0 Y 32896 31 63
|
||||||
def @arg09 253 23 0 Y 128 31 63
|
def @arg09 5 23 0 Y 32896 31 63
|
||||||
def @arg10 253 23 0 Y 128 31 63
|
def @arg10 5 23 0 Y 32896 31 63
|
||||||
def @arg11 253 67 0 Y 128 30 63
|
def @arg11 246 67 0 Y 128 30 63
|
||||||
def @arg12 253 67 0 Y 128 30 63
|
def @arg12 246 67 0 Y 128 30 63
|
||||||
def @arg13 253 16777216 0 Y 128 31 63
|
def @arg13 251 16777216 0 Y 128 31 63
|
||||||
def @arg14 253 16777216 0 Y 128 31 63
|
def @arg14 251 16777216 0 Y 128 31 63
|
||||||
def @arg15 253 16777216 19 Y 128 31 63
|
def @arg15 251 16777216 19 Y 128 31 63
|
||||||
def @arg16 253 16777216 0 Y 128 31 63
|
def @arg16 251 16777216 0 Y 128 31 63
|
||||||
def @arg17 253 20 0 Y 128 0 63
|
def @arg17 8 20 0 Y 32928 0 63
|
||||||
def @arg18 253 20 0 Y 128 0 63
|
def @arg18 8 20 0 Y 32896 0 63
|
||||||
def @arg19 253 20 0 Y 128 0 63
|
def @arg19 8 20 0 Y 32896 0 63
|
||||||
def @arg20 253 16777216 0 Y 0 31 8
|
def @arg20 251 16777216 0 Y 0 31 8
|
||||||
def @arg21 253 16777216 0 Y 0 31 8
|
def @arg21 251 16777216 0 Y 0 31 8
|
||||||
def @arg22 253 16777216 0 Y 0 31 8
|
def @arg22 251 16777216 0 Y 0 31 8
|
||||||
def @arg23 253 16777216 0 Y 128 31 63
|
def @arg23 251 16777216 0 Y 128 31 63
|
||||||
def @arg24 253 16777216 0 Y 0 31 8
|
def @arg24 251 16777216 0 Y 0 31 8
|
||||||
def @arg25 253 16777216 0 Y 128 31 63
|
def @arg25 251 16777216 0 Y 128 31 63
|
||||||
def @arg26 253 16777216 0 Y 0 31 8
|
def @arg26 251 16777216 0 Y 0 31 8
|
||||||
def @arg27 253 16777216 0 Y 128 31 63
|
def @arg27 251 16777216 0 Y 128 31 63
|
||||||
def @arg28 253 16777216 0 Y 0 31 8
|
def @arg28 251 16777216 0 Y 0 31 8
|
||||||
def @arg29 253 16777216 0 Y 128 31 63
|
def @arg29 251 16777216 0 Y 128 31 63
|
||||||
def @arg30 253 16777216 0 Y 0 31 8
|
def @arg30 251 16777216 0 Y 0 31 8
|
||||||
def @arg31 253 16777216 0 Y 0 31 8
|
def @arg31 251 16777216 0 Y 0 31 8
|
||||||
def @arg32 253 16777216 0 Y 0 31 8
|
def @arg32 251 16777216 0 Y 0 31 8
|
||||||
@arg01 @arg02 @arg03 @arg04 @arg05 @arg06 @arg07 @arg08 @arg09 @arg10 @arg11 @arg12 @arg13 @arg14 @arg15 @arg16 @arg17 @arg18 @arg19 @arg20 @arg21 @arg22 @arg23 @arg24 @arg25 @arg26 @arg27 @arg28 @arg29 @arg30 @arg31 @arg32
|
@arg01 @arg02 @arg03 @arg04 @arg05 @arg06 @arg07 @arg08 @arg09 @arg10 @arg11 @arg12 @arg13 @arg14 @arg15 @arg16 @arg17 @arg18 @arg19 @arg20 @arg21 @arg22 @arg23 @arg24 @arg25 @arg26 @arg27 @arg28 @arg29 @arg30 @arg31 @arg32
|
||||||
0 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 1991-01-01 01:01:01 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
|
0 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 1991-01-01 01:01:01 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
|
||||||
prepare stmt1 from "select c1 into ? from t9 where c1= 1" ;
|
prepare stmt1 from "select c1 into ? from t9 where c1= 1" ;
|
||||||
|
@ -1901,38 +1901,38 @@ from t9 where c1= 1 ;
|
|||||||
1 1 1 1 1 1 1 1 1 1 1.0000 1.0000 2004-02-29 2004-02-29 11:11:11 2004-02-29 11:11:11 11:11:11 2004 1 1 a 123456789a 123456789a123456789b123456789c tinyblob tinytext blob text mediumblob mediumtext longblob longtext one monday
|
1 1 1 1 1 1 1 1 1 1 1.0000 1.0000 2004-02-29 2004-02-29 11:11:11 2004-02-29 11:11:11 11:11:11 2004 1 1 a 123456789a 123456789a123456789b123456789c tinyblob tinytext blob text mediumblob mediumtext longblob longtext one monday
|
||||||
execute full_info ;
|
execute full_info ;
|
||||||
Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
|
Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
|
||||||
def @arg01 253 20 1 Y 128 0 63
|
def @arg01 8 20 1 Y 32896 0 63
|
||||||
def @arg02 253 20 1 Y 128 0 63
|
def @arg02 8 20 1 Y 32896 0 63
|
||||||
def @arg03 253 20 1 Y 128 0 63
|
def @arg03 8 20 1 Y 32896 0 63
|
||||||
def @arg04 253 20 1 Y 128 0 63
|
def @arg04 8 20 1 Y 32896 0 63
|
||||||
def @arg05 253 20 1 Y 128 0 63
|
def @arg05 8 20 1 Y 32896 0 63
|
||||||
def @arg06 253 20 1 Y 128 0 63
|
def @arg06 8 20 1 Y 32896 0 63
|
||||||
def @arg07 253 23 1 Y 128 31 63
|
def @arg07 5 23 1 Y 32896 31 63
|
||||||
def @arg08 253 23 1 Y 128 31 63
|
def @arg08 5 23 1 Y 32896 31 63
|
||||||
def @arg09 253 23 1 Y 128 31 63
|
def @arg09 5 23 1 Y 32896 31 63
|
||||||
def @arg10 253 23 1 Y 128 31 63
|
def @arg10 5 23 1 Y 32896 31 63
|
||||||
def @arg11 253 67 6 Y 128 30 63
|
def @arg11 246 67 6 Y 128 30 63
|
||||||
def @arg12 253 67 6 Y 128 30 63
|
def @arg12 246 67 6 Y 128 30 63
|
||||||
def @arg13 253 16777216 10 Y 128 31 63
|
def @arg13 251 16777216 10 Y 128 31 63
|
||||||
def @arg14 253 16777216 19 Y 128 31 63
|
def @arg14 251 16777216 19 Y 128 31 63
|
||||||
def @arg15 253 16777216 19 Y 128 31 63
|
def @arg15 251 16777216 19 Y 128 31 63
|
||||||
def @arg16 253 16777216 8 Y 128 31 63
|
def @arg16 251 16777216 8 Y 128 31 63
|
||||||
def @arg17 253 20 4 Y 128 0 63
|
def @arg17 8 20 4 Y 32928 0 63
|
||||||
def @arg18 253 20 1 Y 128 0 63
|
def @arg18 8 20 1 Y 32896 0 63
|
||||||
def @arg19 253 20 1 Y 128 0 63
|
def @arg19 8 20 1 Y 32896 0 63
|
||||||
def @arg20 253 16777216 1 Y 0 31 8
|
def @arg20 251 16777216 1 Y 0 31 8
|
||||||
def @arg21 253 16777216 10 Y 0 31 8
|
def @arg21 251 16777216 10 Y 0 31 8
|
||||||
def @arg22 253 16777216 30 Y 0 31 8
|
def @arg22 251 16777216 30 Y 0 31 8
|
||||||
def @arg23 253 16777216 8 Y 0 31 8
|
def @arg23 251 16777216 8 Y 0 31 8
|
||||||
def @arg24 253 16777216 8 Y 0 31 8
|
def @arg24 251 16777216 8 Y 0 31 8
|
||||||
def @arg25 253 16777216 4 Y 0 31 8
|
def @arg25 251 16777216 4 Y 0 31 8
|
||||||
def @arg26 253 16777216 4 Y 0 31 8
|
def @arg26 251 16777216 4 Y 0 31 8
|
||||||
def @arg27 253 16777216 10 Y 0 31 8
|
def @arg27 251 16777216 10 Y 0 31 8
|
||||||
def @arg28 253 16777216 10 Y 0 31 8
|
def @arg28 251 16777216 10 Y 0 31 8
|
||||||
def @arg29 253 16777216 8 Y 0 31 8
|
def @arg29 251 16777216 8 Y 0 31 8
|
||||||
def @arg30 253 16777216 8 Y 0 31 8
|
def @arg30 251 16777216 8 Y 0 31 8
|
||||||
def @arg31 253 16777216 3 Y 0 31 8
|
def @arg31 251 16777216 3 Y 0 31 8
|
||||||
def @arg32 253 16777216 6 Y 0 31 8
|
def @arg32 251 16777216 6 Y 0 31 8
|
||||||
@arg01 @arg02 @arg03 @arg04 @arg05 @arg06 @arg07 @arg08 @arg09 @arg10 @arg11 @arg12 @arg13 @arg14 @arg15 @arg16 @arg17 @arg18 @arg19 @arg20 @arg21 @arg22 @arg23 @arg24 @arg25 @arg26 @arg27 @arg28 @arg29 @arg30 @arg31 @arg32
|
@arg01 @arg02 @arg03 @arg04 @arg05 @arg06 @arg07 @arg08 @arg09 @arg10 @arg11 @arg12 @arg13 @arg14 @arg15 @arg16 @arg17 @arg18 @arg19 @arg20 @arg21 @arg22 @arg23 @arg24 @arg25 @arg26 @arg27 @arg28 @arg29 @arg30 @arg31 @arg32
|
||||||
1 1 1 1 1 1 1 1 1 1 1.0000 1.0000 2004-02-29 2004-02-29 11:11:11 2004-02-29 11:11:11 11:11:11 2004 1 1 a 123456789a 123456789a123456789b123456789c tinyblob tinytext blob text mediumblob mediumtext longblob longtext one monday
|
1 1 1 1 1 1 1 1 1 1 1.0000 1.0000 2004-02-29 2004-02-29 11:11:11 2004-02-29 11:11:11 11:11:11 2004 1 1 a 123456789a 123456789a123456789b123456789c tinyblob tinytext blob text mediumblob mediumtext longblob longtext one monday
|
||||||
select @arg01:= c1, @arg02:= c2, @arg03:= c3, @arg04:= c4,
|
select @arg01:= c1, @arg02:= c2, @arg03:= c3, @arg04:= c4,
|
||||||
@ -1948,38 +1948,38 @@ from t9 where c1= 0 ;
|
|||||||
0 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 1991-01-01 01:01:01 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
|
0 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 1991-01-01 01:01:01 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
|
||||||
execute full_info ;
|
execute full_info ;
|
||||||
Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
|
Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
|
||||||
def @arg01 253 20 1 Y 128 0 63
|
def @arg01 8 20 1 Y 32896 0 63
|
||||||
def @arg02 253 20 0 Y 128 0 63
|
def @arg02 8 20 0 Y 32896 0 63
|
||||||
def @arg03 253 20 0 Y 128 0 63
|
def @arg03 8 20 0 Y 32896 0 63
|
||||||
def @arg04 253 20 0 Y 128 0 63
|
def @arg04 8 20 0 Y 32896 0 63
|
||||||
def @arg05 253 20 0 Y 128 0 63
|
def @arg05 8 20 0 Y 32896 0 63
|
||||||
def @arg06 253 20 0 Y 128 0 63
|
def @arg06 8 20 0 Y 32896 0 63
|
||||||
def @arg07 253 23 0 Y 128 31 63
|
def @arg07 5 23 0 Y 32896 31 63
|
||||||
def @arg08 253 23 0 Y 128 31 63
|
def @arg08 5 23 0 Y 32896 31 63
|
||||||
def @arg09 253 23 0 Y 128 31 63
|
def @arg09 5 23 0 Y 32896 31 63
|
||||||
def @arg10 253 23 0 Y 128 31 63
|
def @arg10 5 23 0 Y 32896 31 63
|
||||||
def @arg11 253 67 0 Y 128 30 63
|
def @arg11 246 67 0 Y 128 30 63
|
||||||
def @arg12 253 67 0 Y 128 30 63
|
def @arg12 246 67 0 Y 128 30 63
|
||||||
def @arg13 253 16777216 0 Y 128 31 63
|
def @arg13 251 16777216 0 Y 128 31 63
|
||||||
def @arg14 253 16777216 0 Y 128 31 63
|
def @arg14 251 16777216 0 Y 128 31 63
|
||||||
def @arg15 253 16777216 19 Y 128 31 63
|
def @arg15 251 16777216 19 Y 128 31 63
|
||||||
def @arg16 253 16777216 0 Y 128 31 63
|
def @arg16 251 16777216 0 Y 128 31 63
|
||||||
def @arg17 253 20 0 Y 128 0 63
|
def @arg17 8 20 0 Y 32928 0 63
|
||||||
def @arg18 253 20 0 Y 128 0 63
|
def @arg18 8 20 0 Y 32896 0 63
|
||||||
def @arg19 253 20 0 Y 128 0 63
|
def @arg19 8 20 0 Y 32896 0 63
|
||||||
def @arg20 253 16777216 0 Y 0 31 8
|
def @arg20 251 16777216 0 Y 0 31 8
|
||||||
def @arg21 253 16777216 0 Y 0 31 8
|
def @arg21 251 16777216 0 Y 0 31 8
|
||||||
def @arg22 253 16777216 0 Y 0 31 8
|
def @arg22 251 16777216 0 Y 0 31 8
|
||||||
def @arg23 253 16777216 0 Y 0 31 8
|
def @arg23 251 16777216 0 Y 0 31 8
|
||||||
def @arg24 253 16777216 0 Y 0 31 8
|
def @arg24 251 16777216 0 Y 0 31 8
|
||||||
def @arg25 253 16777216 0 Y 0 31 8
|
def @arg25 251 16777216 0 Y 0 31 8
|
||||||
def @arg26 253 16777216 0 Y 0 31 8
|
def @arg26 251 16777216 0 Y 0 31 8
|
||||||
def @arg27 253 16777216 0 Y 0 31 8
|
def @arg27 251 16777216 0 Y 0 31 8
|
||||||
def @arg28 253 16777216 0 Y 0 31 8
|
def @arg28 251 16777216 0 Y 0 31 8
|
||||||
def @arg29 253 16777216 0 Y 0 31 8
|
def @arg29 251 16777216 0 Y 0 31 8
|
||||||
def @arg30 253 16777216 0 Y 0 31 8
|
def @arg30 251 16777216 0 Y 0 31 8
|
||||||
def @arg31 253 16777216 0 Y 0 31 8
|
def @arg31 251 16777216 0 Y 0 31 8
|
||||||
def @arg32 253 16777216 0 Y 0 31 8
|
def @arg32 251 16777216 0 Y 0 31 8
|
||||||
@arg01 @arg02 @arg03 @arg04 @arg05 @arg06 @arg07 @arg08 @arg09 @arg10 @arg11 @arg12 @arg13 @arg14 @arg15 @arg16 @arg17 @arg18 @arg19 @arg20 @arg21 @arg22 @arg23 @arg24 @arg25 @arg26 @arg27 @arg28 @arg29 @arg30 @arg31 @arg32
|
@arg01 @arg02 @arg03 @arg04 @arg05 @arg06 @arg07 @arg08 @arg09 @arg10 @arg11 @arg12 @arg13 @arg14 @arg15 @arg16 @arg17 @arg18 @arg19 @arg20 @arg21 @arg22 @arg23 @arg24 @arg25 @arg26 @arg27 @arg28 @arg29 @arg30 @arg31 @arg32
|
||||||
0 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 1991-01-01 01:01:01 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
|
0 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 1991-01-01 01:01:01 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
|
||||||
prepare stmt1 from "select
|
prepare stmt1 from "select
|
||||||
@ -1998,38 +1998,38 @@ execute stmt1 using @my_key ;
|
|||||||
1 1 1 1 1 1 1 1 1 1 1.0000 1.0000 2004-02-29 2004-02-29 11:11:11 2004-02-29 11:11:11 11:11:11 2004 1 1 a 123456789a 123456789a123456789b123456789c tinyblob tinytext blob text mediumblob mediumtext longblob longtext one monday
|
1 1 1 1 1 1 1 1 1 1 1.0000 1.0000 2004-02-29 2004-02-29 11:11:11 2004-02-29 11:11:11 11:11:11 2004 1 1 a 123456789a 123456789a123456789b123456789c tinyblob tinytext blob text mediumblob mediumtext longblob longtext one monday
|
||||||
execute full_info ;
|
execute full_info ;
|
||||||
Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
|
Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
|
||||||
def @arg01 253 20 1 Y 128 0 63
|
def @arg01 8 20 1 Y 32896 0 63
|
||||||
def @arg02 253 20 1 Y 128 0 63
|
def @arg02 8 20 1 Y 32896 0 63
|
||||||
def @arg03 253 20 1 Y 128 0 63
|
def @arg03 8 20 1 Y 32896 0 63
|
||||||
def @arg04 253 20 1 Y 128 0 63
|
def @arg04 8 20 1 Y 32896 0 63
|
||||||
def @arg05 253 20 1 Y 128 0 63
|
def @arg05 8 20 1 Y 32896 0 63
|
||||||
def @arg06 253 20 1 Y 128 0 63
|
def @arg06 8 20 1 Y 32896 0 63
|
||||||
def @arg07 253 23 1 Y 128 31 63
|
def @arg07 5 23 1 Y 32896 31 63
|
||||||
def @arg08 253 23 1 Y 128 31 63
|
def @arg08 5 23 1 Y 32896 31 63
|
||||||
def @arg09 253 23 1 Y 128 31 63
|
def @arg09 5 23 1 Y 32896 31 63
|
||||||
def @arg10 253 23 1 Y 128 31 63
|
def @arg10 5 23 1 Y 32896 31 63
|
||||||
def @arg11 253 67 6 Y 128 30 63
|
def @arg11 246 67 6 Y 128 30 63
|
||||||
def @arg12 253 67 6 Y 128 30 63
|
def @arg12 246 67 6 Y 128 30 63
|
||||||
def @arg13 253 16777216 10 Y 128 31 63
|
def @arg13 251 16777216 10 Y 128 31 63
|
||||||
def @arg14 253 16777216 19 Y 128 31 63
|
def @arg14 251 16777216 19 Y 128 31 63
|
||||||
def @arg15 253 16777216 19 Y 128 31 63
|
def @arg15 251 16777216 19 Y 128 31 63
|
||||||
def @arg16 253 16777216 8 Y 128 31 63
|
def @arg16 251 16777216 8 Y 128 31 63
|
||||||
def @arg17 253 20 4 Y 128 0 63
|
def @arg17 8 20 4 Y 32928 0 63
|
||||||
def @arg18 253 20 1 Y 128 0 63
|
def @arg18 8 20 1 Y 32896 0 63
|
||||||
def @arg19 253 20 1 Y 128 0 63
|
def @arg19 8 20 1 Y 32896 0 63
|
||||||
def @arg20 253 16777216 1 Y 0 31 8
|
def @arg20 251 16777216 1 Y 0 31 8
|
||||||
def @arg21 253 16777216 10 Y 0 31 8
|
def @arg21 251 16777216 10 Y 0 31 8
|
||||||
def @arg22 253 16777216 30 Y 0 31 8
|
def @arg22 251 16777216 30 Y 0 31 8
|
||||||
def @arg23 253 16777216 8 Y 0 31 8
|
def @arg23 251 16777216 8 Y 0 31 8
|
||||||
def @arg24 253 16777216 8 Y 0 31 8
|
def @arg24 251 16777216 8 Y 0 31 8
|
||||||
def @arg25 253 16777216 4 Y 0 31 8
|
def @arg25 251 16777216 4 Y 0 31 8
|
||||||
def @arg26 253 16777216 4 Y 0 31 8
|
def @arg26 251 16777216 4 Y 0 31 8
|
||||||
def @arg27 253 16777216 10 Y 0 31 8
|
def @arg27 251 16777216 10 Y 0 31 8
|
||||||
def @arg28 253 16777216 10 Y 0 31 8
|
def @arg28 251 16777216 10 Y 0 31 8
|
||||||
def @arg29 253 16777216 8 Y 0 31 8
|
def @arg29 251 16777216 8 Y 0 31 8
|
||||||
def @arg30 253 16777216 8 Y 0 31 8
|
def @arg30 251 16777216 8 Y 0 31 8
|
||||||
def @arg31 253 16777216 3 Y 0 31 8
|
def @arg31 251 16777216 3 Y 0 31 8
|
||||||
def @arg32 253 16777216 6 Y 0 31 8
|
def @arg32 251 16777216 6 Y 0 31 8
|
||||||
@arg01 @arg02 @arg03 @arg04 @arg05 @arg06 @arg07 @arg08 @arg09 @arg10 @arg11 @arg12 @arg13 @arg14 @arg15 @arg16 @arg17 @arg18 @arg19 @arg20 @arg21 @arg22 @arg23 @arg24 @arg25 @arg26 @arg27 @arg28 @arg29 @arg30 @arg31 @arg32
|
@arg01 @arg02 @arg03 @arg04 @arg05 @arg06 @arg07 @arg08 @arg09 @arg10 @arg11 @arg12 @arg13 @arg14 @arg15 @arg16 @arg17 @arg18 @arg19 @arg20 @arg21 @arg22 @arg23 @arg24 @arg25 @arg26 @arg27 @arg28 @arg29 @arg30 @arg31 @arg32
|
||||||
1 1 1 1 1 1 1 1 1 1 1.0000 1.0000 2004-02-29 2004-02-29 11:11:11 2004-02-29 11:11:11 11:11:11 2004 1 1 a 123456789a 123456789a123456789b123456789c tinyblob tinytext blob text mediumblob mediumtext longblob longtext one monday
|
1 1 1 1 1 1 1 1 1 1 1.0000 1.0000 2004-02-29 2004-02-29 11:11:11 2004-02-29 11:11:11 11:11:11 2004 1 1 a 123456789a 123456789a123456789b123456789c tinyblob tinytext blob text mediumblob mediumtext longblob longtext one monday
|
||||||
set @my_key= 0 ;
|
set @my_key= 0 ;
|
||||||
@ -2038,38 +2038,38 @@ execute stmt1 using @my_key ;
|
|||||||
0 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 1991-01-01 01:01:01 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
|
0 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 1991-01-01 01:01:01 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
|
||||||
execute full_info ;
|
execute full_info ;
|
||||||
Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
|
Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
|
||||||
def @arg01 253 20 1 Y 128 0 63
|
def @arg01 8 20 1 Y 32896 0 63
|
||||||
def @arg02 253 20 0 Y 128 0 63
|
def @arg02 8 20 0 Y 32896 0 63
|
||||||
def @arg03 253 20 0 Y 128 0 63
|
def @arg03 8 20 0 Y 32896 0 63
|
||||||
def @arg04 253 20 0 Y 128 0 63
|
def @arg04 8 20 0 Y 32896 0 63
|
||||||
def @arg05 253 20 0 Y 128 0 63
|
def @arg05 8 20 0 Y 32896 0 63
|
||||||
def @arg06 253 20 0 Y 128 0 63
|
def @arg06 8 20 0 Y 32896 0 63
|
||||||
def @arg07 253 23 0 Y 128 31 63
|
def @arg07 5 23 0 Y 32896 31 63
|
||||||
def @arg08 253 23 0 Y 128 31 63
|
def @arg08 5 23 0 Y 32896 31 63
|
||||||
def @arg09 253 23 0 Y 128 31 63
|
def @arg09 5 23 0 Y 32896 31 63
|
||||||
def @arg10 253 23 0 Y 128 31 63
|
def @arg10 5 23 0 Y 32896 31 63
|
||||||
def @arg11 253 67 0 Y 128 30 63
|
def @arg11 246 67 0 Y 128 30 63
|
||||||
def @arg12 253 67 0 Y 128 30 63
|
def @arg12 246 67 0 Y 128 30 63
|
||||||
def @arg13 253 16777216 0 Y 128 31 63
|
def @arg13 251 16777216 0 Y 128 31 63
|
||||||
def @arg14 253 16777216 0 Y 128 31 63
|
def @arg14 251 16777216 0 Y 128 31 63
|
||||||
def @arg15 253 16777216 19 Y 128 31 63
|
def @arg15 251 16777216 19 Y 128 31 63
|
||||||
def @arg16 253 16777216 0 Y 128 31 63
|
def @arg16 251 16777216 0 Y 128 31 63
|
||||||
def @arg17 253 20 0 Y 128 0 63
|
def @arg17 8 20 0 Y 32928 0 63
|
||||||
def @arg18 253 20 0 Y 128 0 63
|
def @arg18 8 20 0 Y 32896 0 63
|
||||||
def @arg19 253 20 0 Y 128 0 63
|
def @arg19 8 20 0 Y 32896 0 63
|
||||||
def @arg20 253 16777216 0 Y 0 31 8
|
def @arg20 251 16777216 0 Y 0 31 8
|
||||||
def @arg21 253 16777216 0 Y 0 31 8
|
def @arg21 251 16777216 0 Y 0 31 8
|
||||||
def @arg22 253 16777216 0 Y 0 31 8
|
def @arg22 251 16777216 0 Y 0 31 8
|
||||||
def @arg23 253 16777216 0 Y 0 31 8
|
def @arg23 251 16777216 0 Y 0 31 8
|
||||||
def @arg24 253 16777216 0 Y 0 31 8
|
def @arg24 251 16777216 0 Y 0 31 8
|
||||||
def @arg25 253 16777216 0 Y 0 31 8
|
def @arg25 251 16777216 0 Y 0 31 8
|
||||||
def @arg26 253 16777216 0 Y 0 31 8
|
def @arg26 251 16777216 0 Y 0 31 8
|
||||||
def @arg27 253 16777216 0 Y 0 31 8
|
def @arg27 251 16777216 0 Y 0 31 8
|
||||||
def @arg28 253 16777216 0 Y 0 31 8
|
def @arg28 251 16777216 0 Y 0 31 8
|
||||||
def @arg29 253 16777216 0 Y 0 31 8
|
def @arg29 251 16777216 0 Y 0 31 8
|
||||||
def @arg30 253 16777216 0 Y 0 31 8
|
def @arg30 251 16777216 0 Y 0 31 8
|
||||||
def @arg31 253 16777216 0 Y 0 31 8
|
def @arg31 251 16777216 0 Y 0 31 8
|
||||||
def @arg32 253 16777216 0 Y 0 31 8
|
def @arg32 251 16777216 0 Y 0 31 8
|
||||||
@arg01 @arg02 @arg03 @arg04 @arg05 @arg06 @arg07 @arg08 @arg09 @arg10 @arg11 @arg12 @arg13 @arg14 @arg15 @arg16 @arg17 @arg18 @arg19 @arg20 @arg21 @arg22 @arg23 @arg24 @arg25 @arg26 @arg27 @arg28 @arg29 @arg30 @arg31 @arg32
|
@arg01 @arg02 @arg03 @arg04 @arg05 @arg06 @arg07 @arg08 @arg09 @arg10 @arg11 @arg12 @arg13 @arg14 @arg15 @arg16 @arg17 @arg18 @arg19 @arg20 @arg21 @arg22 @arg23 @arg24 @arg25 @arg26 @arg27 @arg28 @arg29 @arg30 @arg31 @arg32
|
||||||
0 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 1991-01-01 01:01:01 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
|
0 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 1991-01-01 01:01:01 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
|
||||||
prepare stmt1 from "select ? := c1 from t9 where c1= 1" ;
|
prepare stmt1 from "select ? := c1 from t9 where c1= 1" ;
|
||||||
@ -2086,38 +2086,38 @@ into @arg01, @arg02, @arg03, @arg04, @arg05, @arg06, @arg07, @arg08,
|
|||||||
from t9 where c1= 1 ;
|
from t9 where c1= 1 ;
|
||||||
execute full_info ;
|
execute full_info ;
|
||||||
Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
|
Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
|
||||||
def @arg01 253 20 1 Y 128 0 63
|
def @arg01 8 20 1 Y 32896 0 63
|
||||||
def @arg02 253 20 1 Y 128 0 63
|
def @arg02 8 20 1 Y 32896 0 63
|
||||||
def @arg03 253 20 1 Y 128 0 63
|
def @arg03 8 20 1 Y 32896 0 63
|
||||||
def @arg04 253 20 1 Y 128 0 63
|
def @arg04 8 20 1 Y 32896 0 63
|
||||||
def @arg05 253 20 1 Y 128 0 63
|
def @arg05 8 20 1 Y 32896 0 63
|
||||||
def @arg06 253 20 1 Y 128 0 63
|
def @arg06 8 20 1 Y 32896 0 63
|
||||||
def @arg07 253 23 1 Y 128 31 63
|
def @arg07 5 23 1 Y 32896 31 63
|
||||||
def @arg08 253 23 1 Y 128 31 63
|
def @arg08 5 23 1 Y 32896 31 63
|
||||||
def @arg09 253 23 1 Y 128 31 63
|
def @arg09 5 23 1 Y 32896 31 63
|
||||||
def @arg10 253 23 1 Y 128 31 63
|
def @arg10 5 23 1 Y 32896 31 63
|
||||||
def @arg11 253 67 6 Y 128 30 63
|
def @arg11 246 67 6 Y 128 30 63
|
||||||
def @arg12 253 67 6 Y 128 30 63
|
def @arg12 246 67 6 Y 128 30 63
|
||||||
def @arg13 253 16777216 10 Y 128 31 63
|
def @arg13 251 16777216 10 Y 128 31 63
|
||||||
def @arg14 253 16777216 19 Y 128 31 63
|
def @arg14 251 16777216 19 Y 128 31 63
|
||||||
def @arg15 253 16777216 19 Y 128 31 63
|
def @arg15 251 16777216 19 Y 128 31 63
|
||||||
def @arg16 253 16777216 8 Y 128 31 63
|
def @arg16 251 16777216 8 Y 128 31 63
|
||||||
def @arg17 253 20 4 Y 128 0 63
|
def @arg17 8 20 4 Y 32928 0 63
|
||||||
def @arg18 253 20 1 Y 128 0 63
|
def @arg18 8 20 1 Y 32896 0 63
|
||||||
def @arg19 253 20 1 Y 128 0 63
|
def @arg19 8 20 1 Y 32896 0 63
|
||||||
def @arg20 253 16777216 1 Y 0 31 8
|
def @arg20 251 16777216 1 Y 0 31 8
|
||||||
def @arg21 253 16777216 10 Y 0 31 8
|
def @arg21 251 16777216 10 Y 0 31 8
|
||||||
def @arg22 253 16777216 30 Y 0 31 8
|
def @arg22 251 16777216 30 Y 0 31 8
|
||||||
def @arg23 253 16777216 8 Y 0 31 8
|
def @arg23 251 16777216 8 Y 0 31 8
|
||||||
def @arg24 253 16777216 8 Y 0 31 8
|
def @arg24 251 16777216 8 Y 0 31 8
|
||||||
def @arg25 253 16777216 4 Y 0 31 8
|
def @arg25 251 16777216 4 Y 0 31 8
|
||||||
def @arg26 253 16777216 4 Y 0 31 8
|
def @arg26 251 16777216 4 Y 0 31 8
|
||||||
def @arg27 253 16777216 10 Y 0 31 8
|
def @arg27 251 16777216 10 Y 0 31 8
|
||||||
def @arg28 253 16777216 10 Y 0 31 8
|
def @arg28 251 16777216 10 Y 0 31 8
|
||||||
def @arg29 253 16777216 8 Y 0 31 8
|
def @arg29 251 16777216 8 Y 0 31 8
|
||||||
def @arg30 253 16777216 8 Y 0 31 8
|
def @arg30 251 16777216 8 Y 0 31 8
|
||||||
def @arg31 253 16777216 3 Y 0 31 8
|
def @arg31 251 16777216 3 Y 0 31 8
|
||||||
def @arg32 253 16777216 6 Y 0 31 8
|
def @arg32 251 16777216 6 Y 0 31 8
|
||||||
@arg01 @arg02 @arg03 @arg04 @arg05 @arg06 @arg07 @arg08 @arg09 @arg10 @arg11 @arg12 @arg13 @arg14 @arg15 @arg16 @arg17 @arg18 @arg19 @arg20 @arg21 @arg22 @arg23 @arg24 @arg25 @arg26 @arg27 @arg28 @arg29 @arg30 @arg31 @arg32
|
@arg01 @arg02 @arg03 @arg04 @arg05 @arg06 @arg07 @arg08 @arg09 @arg10 @arg11 @arg12 @arg13 @arg14 @arg15 @arg16 @arg17 @arg18 @arg19 @arg20 @arg21 @arg22 @arg23 @arg24 @arg25 @arg26 @arg27 @arg28 @arg29 @arg30 @arg31 @arg32
|
||||||
1 1 1 1 1 1 1 1 1 1 1.0000 1.0000 2004-02-29 2004-02-29 11:11:11 2004-02-29 11:11:11 11:11:11 2004 1 1 a 123456789a 123456789a123456789b123456789c tinyblob tinytext blob text mediumblob mediumtext longblob longtext one monday
|
1 1 1 1 1 1 1 1 1 1 1.0000 1.0000 2004-02-29 2004-02-29 11:11:11 2004-02-29 11:11:11 11:11:11 2004 1 1 a 123456789a 123456789a123456789b123456789c tinyblob tinytext blob text mediumblob mediumtext longblob longtext one monday
|
||||||
select c1, c2, c3, c4, c5, c6, c7, c8, c9, c10, c11, c12,
|
select c1, c2, c3, c4, c5, c6, c7, c8, c9, c10, c11, c12,
|
||||||
@ -2130,38 +2130,38 @@ into @arg01, @arg02, @arg03, @arg04, @arg05, @arg06, @arg07, @arg08,
|
|||||||
from t9 where c1= 0 ;
|
from t9 where c1= 0 ;
|
||||||
execute full_info ;
|
execute full_info ;
|
||||||
Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
|
Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
|
||||||
def @arg01 253 20 1 Y 128 0 63
|
def @arg01 8 20 1 Y 32896 0 63
|
||||||
def @arg02 253 20 0 Y 128 0 63
|
def @arg02 8 20 0 Y 32896 0 63
|
||||||
def @arg03 253 20 0 Y 128 0 63
|
def @arg03 8 20 0 Y 32896 0 63
|
||||||
def @arg04 253 20 0 Y 128 0 63
|
def @arg04 8 20 0 Y 32896 0 63
|
||||||
def @arg05 253 20 0 Y 128 0 63
|
def @arg05 8 20 0 Y 32896 0 63
|
||||||
def @arg06 253 20 0 Y 128 0 63
|
def @arg06 8 20 0 Y 32896 0 63
|
||||||
def @arg07 253 23 0 Y 128 31 63
|
def @arg07 5 23 0 Y 32896 31 63
|
||||||
def @arg08 253 23 0 Y 128 31 63
|
def @arg08 5 23 0 Y 32896 31 63
|
||||||
def @arg09 253 23 0 Y 128 31 63
|
def @arg09 5 23 0 Y 32896 31 63
|
||||||
def @arg10 253 23 0 Y 128 31 63
|
def @arg10 5 23 0 Y 32896 31 63
|
||||||
def @arg11 253 67 0 Y 128 30 63
|
def @arg11 246 67 0 Y 128 30 63
|
||||||
def @arg12 253 67 0 Y 128 30 63
|
def @arg12 246 67 0 Y 128 30 63
|
||||||
def @arg13 253 16777216 0 Y 128 31 63
|
def @arg13 251 16777216 0 Y 128 31 63
|
||||||
def @arg14 253 16777216 0 Y 128 31 63
|
def @arg14 251 16777216 0 Y 128 31 63
|
||||||
def @arg15 253 16777216 19 Y 128 31 63
|
def @arg15 251 16777216 19 Y 128 31 63
|
||||||
def @arg16 253 16777216 0 Y 128 31 63
|
def @arg16 251 16777216 0 Y 128 31 63
|
||||||
def @arg17 253 20 0 Y 128 0 63
|
def @arg17 8 20 0 Y 32928 0 63
|
||||||
def @arg18 253 20 0 Y 128 0 63
|
def @arg18 8 20 0 Y 32896 0 63
|
||||||
def @arg19 253 20 0 Y 128 0 63
|
def @arg19 8 20 0 Y 32896 0 63
|
||||||
def @arg20 253 16777216 0 Y 0 31 8
|
def @arg20 251 16777216 0 Y 0 31 8
|
||||||
def @arg21 253 16777216 0 Y 0 31 8
|
def @arg21 251 16777216 0 Y 0 31 8
|
||||||
def @arg22 253 16777216 0 Y 0 31 8
|
def @arg22 251 16777216 0 Y 0 31 8
|
||||||
def @arg23 253 16777216 0 Y 0 31 8
|
def @arg23 251 16777216 0 Y 0 31 8
|
||||||
def @arg24 253 16777216 0 Y 0 31 8
|
def @arg24 251 16777216 0 Y 0 31 8
|
||||||
def @arg25 253 16777216 0 Y 0 31 8
|
def @arg25 251 16777216 0 Y 0 31 8
|
||||||
def @arg26 253 16777216 0 Y 0 31 8
|
def @arg26 251 16777216 0 Y 0 31 8
|
||||||
def @arg27 253 16777216 0 Y 0 31 8
|
def @arg27 251 16777216 0 Y 0 31 8
|
||||||
def @arg28 253 16777216 0 Y 0 31 8
|
def @arg28 251 16777216 0 Y 0 31 8
|
||||||
def @arg29 253 16777216 0 Y 0 31 8
|
def @arg29 251 16777216 0 Y 0 31 8
|
||||||
def @arg30 253 16777216 0 Y 0 31 8
|
def @arg30 251 16777216 0 Y 0 31 8
|
||||||
def @arg31 253 16777216 0 Y 0 31 8
|
def @arg31 251 16777216 0 Y 0 31 8
|
||||||
def @arg32 253 16777216 0 Y 0 31 8
|
def @arg32 251 16777216 0 Y 0 31 8
|
||||||
@arg01 @arg02 @arg03 @arg04 @arg05 @arg06 @arg07 @arg08 @arg09 @arg10 @arg11 @arg12 @arg13 @arg14 @arg15 @arg16 @arg17 @arg18 @arg19 @arg20 @arg21 @arg22 @arg23 @arg24 @arg25 @arg26 @arg27 @arg28 @arg29 @arg30 @arg31 @arg32
|
@arg01 @arg02 @arg03 @arg04 @arg05 @arg06 @arg07 @arg08 @arg09 @arg10 @arg11 @arg12 @arg13 @arg14 @arg15 @arg16 @arg17 @arg18 @arg19 @arg20 @arg21 @arg22 @arg23 @arg24 @arg25 @arg26 @arg27 @arg28 @arg29 @arg30 @arg31 @arg32
|
||||||
0 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 1991-01-01 01:01:01 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
|
0 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 1991-01-01 01:01:01 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
|
||||||
prepare stmt1 from "select c1, c2, c3, c4, c5, c6, c7, c8, c9, c10, c11, c12,
|
prepare stmt1 from "select c1, c2, c3, c4, c5, c6, c7, c8, c9, c10, c11, c12,
|
||||||
@ -2176,76 +2176,76 @@ set @my_key= 1 ;
|
|||||||
execute stmt1 using @my_key ;
|
execute stmt1 using @my_key ;
|
||||||
execute full_info ;
|
execute full_info ;
|
||||||
Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
|
Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
|
||||||
def @arg01 253 20 1 Y 128 0 63
|
def @arg01 8 20 1 Y 32896 0 63
|
||||||
def @arg02 253 20 1 Y 128 0 63
|
def @arg02 8 20 1 Y 32896 0 63
|
||||||
def @arg03 253 20 1 Y 128 0 63
|
def @arg03 8 20 1 Y 32896 0 63
|
||||||
def @arg04 253 20 1 Y 128 0 63
|
def @arg04 8 20 1 Y 32896 0 63
|
||||||
def @arg05 253 20 1 Y 128 0 63
|
def @arg05 8 20 1 Y 32896 0 63
|
||||||
def @arg06 253 20 1 Y 128 0 63
|
def @arg06 8 20 1 Y 32896 0 63
|
||||||
def @arg07 253 23 1 Y 128 31 63
|
def @arg07 5 23 1 Y 32896 31 63
|
||||||
def @arg08 253 23 1 Y 128 31 63
|
def @arg08 5 23 1 Y 32896 31 63
|
||||||
def @arg09 253 23 1 Y 128 31 63
|
def @arg09 5 23 1 Y 32896 31 63
|
||||||
def @arg10 253 23 1 Y 128 31 63
|
def @arg10 5 23 1 Y 32896 31 63
|
||||||
def @arg11 253 67 6 Y 128 30 63
|
def @arg11 246 67 6 Y 128 30 63
|
||||||
def @arg12 253 67 6 Y 128 30 63
|
def @arg12 246 67 6 Y 128 30 63
|
||||||
def @arg13 253 16777216 10 Y 128 31 63
|
def @arg13 251 16777216 10 Y 128 31 63
|
||||||
def @arg14 253 16777216 19 Y 128 31 63
|
def @arg14 251 16777216 19 Y 128 31 63
|
||||||
def @arg15 253 16777216 19 Y 128 31 63
|
def @arg15 251 16777216 19 Y 128 31 63
|
||||||
def @arg16 253 16777216 8 Y 128 31 63
|
def @arg16 251 16777216 8 Y 128 31 63
|
||||||
def @arg17 253 20 4 Y 128 0 63
|
def @arg17 8 20 4 Y 32928 0 63
|
||||||
def @arg18 253 20 1 Y 128 0 63
|
def @arg18 8 20 1 Y 32896 0 63
|
||||||
def @arg19 253 20 1 Y 128 0 63
|
def @arg19 8 20 1 Y 32896 0 63
|
||||||
def @arg20 253 16777216 1 Y 0 31 8
|
def @arg20 251 16777216 1 Y 0 31 8
|
||||||
def @arg21 253 16777216 10 Y 0 31 8
|
def @arg21 251 16777216 10 Y 0 31 8
|
||||||
def @arg22 253 16777216 30 Y 0 31 8
|
def @arg22 251 16777216 30 Y 0 31 8
|
||||||
def @arg23 253 16777216 8 Y 0 31 8
|
def @arg23 251 16777216 8 Y 0 31 8
|
||||||
def @arg24 253 16777216 8 Y 0 31 8
|
def @arg24 251 16777216 8 Y 0 31 8
|
||||||
def @arg25 253 16777216 4 Y 0 31 8
|
def @arg25 251 16777216 4 Y 0 31 8
|
||||||
def @arg26 253 16777216 4 Y 0 31 8
|
def @arg26 251 16777216 4 Y 0 31 8
|
||||||
def @arg27 253 16777216 10 Y 0 31 8
|
def @arg27 251 16777216 10 Y 0 31 8
|
||||||
def @arg28 253 16777216 10 Y 0 31 8
|
def @arg28 251 16777216 10 Y 0 31 8
|
||||||
def @arg29 253 16777216 8 Y 0 31 8
|
def @arg29 251 16777216 8 Y 0 31 8
|
||||||
def @arg30 253 16777216 8 Y 0 31 8
|
def @arg30 251 16777216 8 Y 0 31 8
|
||||||
def @arg31 253 16777216 3 Y 0 31 8
|
def @arg31 251 16777216 3 Y 0 31 8
|
||||||
def @arg32 253 16777216 6 Y 0 31 8
|
def @arg32 251 16777216 6 Y 0 31 8
|
||||||
@arg01 @arg02 @arg03 @arg04 @arg05 @arg06 @arg07 @arg08 @arg09 @arg10 @arg11 @arg12 @arg13 @arg14 @arg15 @arg16 @arg17 @arg18 @arg19 @arg20 @arg21 @arg22 @arg23 @arg24 @arg25 @arg26 @arg27 @arg28 @arg29 @arg30 @arg31 @arg32
|
@arg01 @arg02 @arg03 @arg04 @arg05 @arg06 @arg07 @arg08 @arg09 @arg10 @arg11 @arg12 @arg13 @arg14 @arg15 @arg16 @arg17 @arg18 @arg19 @arg20 @arg21 @arg22 @arg23 @arg24 @arg25 @arg26 @arg27 @arg28 @arg29 @arg30 @arg31 @arg32
|
||||||
1 1 1 1 1 1 1 1 1 1 1.0000 1.0000 2004-02-29 2004-02-29 11:11:11 2004-02-29 11:11:11 11:11:11 2004 1 1 a 123456789a 123456789a123456789b123456789c tinyblob tinytext blob text mediumblob mediumtext longblob longtext one monday
|
1 1 1 1 1 1 1 1 1 1 1.0000 1.0000 2004-02-29 2004-02-29 11:11:11 2004-02-29 11:11:11 11:11:11 2004 1 1 a 123456789a 123456789a123456789b123456789c tinyblob tinytext blob text mediumblob mediumtext longblob longtext one monday
|
||||||
set @my_key= 0 ;
|
set @my_key= 0 ;
|
||||||
execute stmt1 using @my_key ;
|
execute stmt1 using @my_key ;
|
||||||
execute full_info ;
|
execute full_info ;
|
||||||
Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
|
Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
|
||||||
def @arg01 253 20 1 Y 128 0 63
|
def @arg01 8 20 1 Y 32896 0 63
|
||||||
def @arg02 253 20 0 Y 128 0 63
|
def @arg02 8 20 0 Y 32896 0 63
|
||||||
def @arg03 253 20 0 Y 128 0 63
|
def @arg03 8 20 0 Y 32896 0 63
|
||||||
def @arg04 253 20 0 Y 128 0 63
|
def @arg04 8 20 0 Y 32896 0 63
|
||||||
def @arg05 253 20 0 Y 128 0 63
|
def @arg05 8 20 0 Y 32896 0 63
|
||||||
def @arg06 253 20 0 Y 128 0 63
|
def @arg06 8 20 0 Y 32896 0 63
|
||||||
def @arg07 253 23 0 Y 128 31 63
|
def @arg07 5 23 0 Y 32896 31 63
|
||||||
def @arg08 253 23 0 Y 128 31 63
|
def @arg08 5 23 0 Y 32896 31 63
|
||||||
def @arg09 253 23 0 Y 128 31 63
|
def @arg09 5 23 0 Y 32896 31 63
|
||||||
def @arg10 253 23 0 Y 128 31 63
|
def @arg10 5 23 0 Y 32896 31 63
|
||||||
def @arg11 253 67 0 Y 128 30 63
|
def @arg11 246 67 0 Y 128 30 63
|
||||||
def @arg12 253 67 0 Y 128 30 63
|
def @arg12 246 67 0 Y 128 30 63
|
||||||
def @arg13 253 16777216 0 Y 128 31 63
|
def @arg13 251 16777216 0 Y 128 31 63
|
||||||
def @arg14 253 16777216 0 Y 128 31 63
|
def @arg14 251 16777216 0 Y 128 31 63
|
||||||
def @arg15 253 16777216 19 Y 128 31 63
|
def @arg15 251 16777216 19 Y 128 31 63
|
||||||
def @arg16 253 16777216 0 Y 128 31 63
|
def @arg16 251 16777216 0 Y 128 31 63
|
||||||
def @arg17 253 20 0 Y 128 0 63
|
def @arg17 8 20 0 Y 32928 0 63
|
||||||
def @arg18 253 20 0 Y 128 0 63
|
def @arg18 8 20 0 Y 32896 0 63
|
||||||
def @arg19 253 20 0 Y 128 0 63
|
def @arg19 8 20 0 Y 32896 0 63
|
||||||
def @arg20 253 16777216 0 Y 0 31 8
|
def @arg20 251 16777216 0 Y 0 31 8
|
||||||
def @arg21 253 16777216 0 Y 0 31 8
|
def @arg21 251 16777216 0 Y 0 31 8
|
||||||
def @arg22 253 16777216 0 Y 0 31 8
|
def @arg22 251 16777216 0 Y 0 31 8
|
||||||
def @arg23 253 16777216 0 Y 0 31 8
|
def @arg23 251 16777216 0 Y 0 31 8
|
||||||
def @arg24 253 16777216 0 Y 0 31 8
|
def @arg24 251 16777216 0 Y 0 31 8
|
||||||
def @arg25 253 16777216 0 Y 0 31 8
|
def @arg25 251 16777216 0 Y 0 31 8
|
||||||
def @arg26 253 16777216 0 Y 0 31 8
|
def @arg26 251 16777216 0 Y 0 31 8
|
||||||
def @arg27 253 16777216 0 Y 0 31 8
|
def @arg27 251 16777216 0 Y 0 31 8
|
||||||
def @arg28 253 16777216 0 Y 0 31 8
|
def @arg28 251 16777216 0 Y 0 31 8
|
||||||
def @arg29 253 16777216 0 Y 0 31 8
|
def @arg29 251 16777216 0 Y 0 31 8
|
||||||
def @arg30 253 16777216 0 Y 0 31 8
|
def @arg30 251 16777216 0 Y 0 31 8
|
||||||
def @arg31 253 16777216 0 Y 0 31 8
|
def @arg31 251 16777216 0 Y 0 31 8
|
||||||
def @arg32 253 16777216 0 Y 0 31 8
|
def @arg32 251 16777216 0 Y 0 31 8
|
||||||
@arg01 @arg02 @arg03 @arg04 @arg05 @arg06 @arg07 @arg08 @arg09 @arg10 @arg11 @arg12 @arg13 @arg14 @arg15 @arg16 @arg17 @arg18 @arg19 @arg20 @arg21 @arg22 @arg23 @arg24 @arg25 @arg26 @arg27 @arg28 @arg29 @arg30 @arg31 @arg32
|
@arg01 @arg02 @arg03 @arg04 @arg05 @arg06 @arg07 @arg08 @arg09 @arg10 @arg11 @arg12 @arg13 @arg14 @arg15 @arg16 @arg17 @arg18 @arg19 @arg20 @arg21 @arg22 @arg23 @arg24 @arg25 @arg26 @arg27 @arg28 @arg29 @arg30 @arg31 @arg32
|
||||||
0 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 1991-01-01 01:01:01 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
|
0 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 1991-01-01 01:01:01 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
|
||||||
prepare stmt1 from "select c1 into ? from t9 where c1= 1" ;
|
prepare stmt1 from "select c1 into ? from t9 where c1= 1" ;
|
||||||
|
File diff suppressed because it is too large
Load Diff
@ -1900,38 +1900,38 @@ from t9 where c1= 1 ;
|
|||||||
1 1 1 1 1 1 1 1 1 1 1.0000 1.0000 2004-02-29 2004-02-29 11:11:11 2004-02-29 11:11:11 11:11:11 2004 1 1 a 123456789a 123456789a123456789b123456789c tinyblob tinytext blob text mediumblob mediumtext longblob longtext one monday
|
1 1 1 1 1 1 1 1 1 1 1.0000 1.0000 2004-02-29 2004-02-29 11:11:11 2004-02-29 11:11:11 11:11:11 2004 1 1 a 123456789a 123456789a123456789b123456789c tinyblob tinytext blob text mediumblob mediumtext longblob longtext one monday
|
||||||
execute full_info ;
|
execute full_info ;
|
||||||
Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
|
Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
|
||||||
def @arg01 253 20 1 Y 128 0 63
|
def @arg01 8 20 1 Y 32896 0 63
|
||||||
def @arg02 253 20 1 Y 128 0 63
|
def @arg02 8 20 1 Y 32896 0 63
|
||||||
def @arg03 253 20 1 Y 128 0 63
|
def @arg03 8 20 1 Y 32896 0 63
|
||||||
def @arg04 253 20 1 Y 128 0 63
|
def @arg04 8 20 1 Y 32896 0 63
|
||||||
def @arg05 253 20 1 Y 128 0 63
|
def @arg05 8 20 1 Y 32896 0 63
|
||||||
def @arg06 253 20 1 Y 128 0 63
|
def @arg06 8 20 1 Y 32896 0 63
|
||||||
def @arg07 253 23 1 Y 128 31 63
|
def @arg07 5 23 1 Y 32896 31 63
|
||||||
def @arg08 253 23 1 Y 128 31 63
|
def @arg08 5 23 1 Y 32896 31 63
|
||||||
def @arg09 253 23 1 Y 128 31 63
|
def @arg09 5 23 1 Y 32896 31 63
|
||||||
def @arg10 253 23 1 Y 128 31 63
|
def @arg10 5 23 1 Y 32896 31 63
|
||||||
def @arg11 253 67 6 Y 128 30 63
|
def @arg11 246 67 6 Y 128 30 63
|
||||||
def @arg12 253 67 6 Y 128 30 63
|
def @arg12 246 67 6 Y 128 30 63
|
||||||
def @arg13 253 16777216 10 Y 128 31 63
|
def @arg13 251 16777216 10 Y 128 31 63
|
||||||
def @arg14 253 16777216 19 Y 128 31 63
|
def @arg14 251 16777216 19 Y 128 31 63
|
||||||
def @arg15 253 16777216 19 Y 128 31 63
|
def @arg15 251 16777216 19 Y 128 31 63
|
||||||
def @arg16 253 16777216 8 Y 128 31 63
|
def @arg16 251 16777216 8 Y 128 31 63
|
||||||
def @arg17 253 20 4 Y 128 0 63
|
def @arg17 8 20 4 Y 32928 0 63
|
||||||
def @arg18 253 20 1 Y 128 0 63
|
def @arg18 8 20 1 Y 32896 0 63
|
||||||
def @arg19 253 20 1 Y 128 0 63
|
def @arg19 8 20 1 Y 32896 0 63
|
||||||
def @arg20 253 16777216 1 Y 0 31 8
|
def @arg20 251 16777216 1 Y 0 31 8
|
||||||
def @arg21 253 16777216 10 Y 0 31 8
|
def @arg21 251 16777216 10 Y 0 31 8
|
||||||
def @arg22 253 16777216 30 Y 0 31 8
|
def @arg22 251 16777216 30 Y 0 31 8
|
||||||
def @arg23 253 16777216 8 Y 128 31 63
|
def @arg23 251 16777216 8 Y 128 31 63
|
||||||
def @arg24 253 16777216 8 Y 0 31 8
|
def @arg24 251 16777216 8 Y 0 31 8
|
||||||
def @arg25 253 16777216 4 Y 128 31 63
|
def @arg25 251 16777216 4 Y 128 31 63
|
||||||
def @arg26 253 16777216 4 Y 0 31 8
|
def @arg26 251 16777216 4 Y 0 31 8
|
||||||
def @arg27 253 16777216 10 Y 128 31 63
|
def @arg27 251 16777216 10 Y 128 31 63
|
||||||
def @arg28 253 16777216 10 Y 0 31 8
|
def @arg28 251 16777216 10 Y 0 31 8
|
||||||
def @arg29 253 16777216 8 Y 128 31 63
|
def @arg29 251 16777216 8 Y 128 31 63
|
||||||
def @arg30 253 16777216 8 Y 0 31 8
|
def @arg30 251 16777216 8 Y 0 31 8
|
||||||
def @arg31 253 16777216 3 Y 0 31 8
|
def @arg31 251 16777216 3 Y 0 31 8
|
||||||
def @arg32 253 16777216 6 Y 0 31 8
|
def @arg32 251 16777216 6 Y 0 31 8
|
||||||
@arg01 @arg02 @arg03 @arg04 @arg05 @arg06 @arg07 @arg08 @arg09 @arg10 @arg11 @arg12 @arg13 @arg14 @arg15 @arg16 @arg17 @arg18 @arg19 @arg20 @arg21 @arg22 @arg23 @arg24 @arg25 @arg26 @arg27 @arg28 @arg29 @arg30 @arg31 @arg32
|
@arg01 @arg02 @arg03 @arg04 @arg05 @arg06 @arg07 @arg08 @arg09 @arg10 @arg11 @arg12 @arg13 @arg14 @arg15 @arg16 @arg17 @arg18 @arg19 @arg20 @arg21 @arg22 @arg23 @arg24 @arg25 @arg26 @arg27 @arg28 @arg29 @arg30 @arg31 @arg32
|
||||||
1 1 1 1 1 1 1 1 1 1 1.0000 1.0000 2004-02-29 2004-02-29 11:11:11 2004-02-29 11:11:11 11:11:11 2004 1 1 a 123456789a 123456789a123456789b123456789c tinyblob tinytext blob text mediumblob mediumtext longblob longtext one monday
|
1 1 1 1 1 1 1 1 1 1 1.0000 1.0000 2004-02-29 2004-02-29 11:11:11 2004-02-29 11:11:11 11:11:11 2004 1 1 a 123456789a 123456789a123456789b123456789c tinyblob tinytext blob text mediumblob mediumtext longblob longtext one monday
|
||||||
select @arg01:= c1, @arg02:= c2, @arg03:= c3, @arg04:= c4,
|
select @arg01:= c1, @arg02:= c2, @arg03:= c3, @arg04:= c4,
|
||||||
@ -1947,38 +1947,38 @@ from t9 where c1= 0 ;
|
|||||||
0 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 1991-01-01 01:01:01 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
|
0 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 1991-01-01 01:01:01 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
|
||||||
execute full_info ;
|
execute full_info ;
|
||||||
Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
|
Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
|
||||||
def @arg01 253 20 1 Y 128 0 63
|
def @arg01 8 20 1 Y 32896 0 63
|
||||||
def @arg02 253 20 0 Y 128 0 63
|
def @arg02 8 20 0 Y 32896 0 63
|
||||||
def @arg03 253 20 0 Y 128 0 63
|
def @arg03 8 20 0 Y 32896 0 63
|
||||||
def @arg04 253 20 0 Y 128 0 63
|
def @arg04 8 20 0 Y 32896 0 63
|
||||||
def @arg05 253 20 0 Y 128 0 63
|
def @arg05 8 20 0 Y 32896 0 63
|
||||||
def @arg06 253 20 0 Y 128 0 63
|
def @arg06 8 20 0 Y 32896 0 63
|
||||||
def @arg07 253 23 0 Y 128 31 63
|
def @arg07 5 23 0 Y 32896 31 63
|
||||||
def @arg08 253 23 0 Y 128 31 63
|
def @arg08 5 23 0 Y 32896 31 63
|
||||||
def @arg09 253 23 0 Y 128 31 63
|
def @arg09 5 23 0 Y 32896 31 63
|
||||||
def @arg10 253 23 0 Y 128 31 63
|
def @arg10 5 23 0 Y 32896 31 63
|
||||||
def @arg11 253 67 0 Y 128 30 63
|
def @arg11 246 67 0 Y 128 30 63
|
||||||
def @arg12 253 67 0 Y 128 30 63
|
def @arg12 246 67 0 Y 128 30 63
|
||||||
def @arg13 253 16777216 0 Y 128 31 63
|
def @arg13 251 16777216 0 Y 128 31 63
|
||||||
def @arg14 253 16777216 0 Y 128 31 63
|
def @arg14 251 16777216 0 Y 128 31 63
|
||||||
def @arg15 253 16777216 19 Y 128 31 63
|
def @arg15 251 16777216 19 Y 128 31 63
|
||||||
def @arg16 253 16777216 0 Y 128 31 63
|
def @arg16 251 16777216 0 Y 128 31 63
|
||||||
def @arg17 253 20 0 Y 128 0 63
|
def @arg17 8 20 0 Y 32928 0 63
|
||||||
def @arg18 253 20 0 Y 128 0 63
|
def @arg18 8 20 0 Y 32896 0 63
|
||||||
def @arg19 253 20 0 Y 128 0 63
|
def @arg19 8 20 0 Y 32896 0 63
|
||||||
def @arg20 253 16777216 0 Y 0 31 8
|
def @arg20 251 16777216 0 Y 0 31 8
|
||||||
def @arg21 253 16777216 0 Y 0 31 8
|
def @arg21 251 16777216 0 Y 0 31 8
|
||||||
def @arg22 253 16777216 0 Y 0 31 8
|
def @arg22 251 16777216 0 Y 0 31 8
|
||||||
def @arg23 253 16777216 0 Y 128 31 63
|
def @arg23 251 16777216 0 Y 128 31 63
|
||||||
def @arg24 253 16777216 0 Y 0 31 8
|
def @arg24 251 16777216 0 Y 0 31 8
|
||||||
def @arg25 253 16777216 0 Y 128 31 63
|
def @arg25 251 16777216 0 Y 128 31 63
|
||||||
def @arg26 253 16777216 0 Y 0 31 8
|
def @arg26 251 16777216 0 Y 0 31 8
|
||||||
def @arg27 253 16777216 0 Y 128 31 63
|
def @arg27 251 16777216 0 Y 128 31 63
|
||||||
def @arg28 253 16777216 0 Y 0 31 8
|
def @arg28 251 16777216 0 Y 0 31 8
|
||||||
def @arg29 253 16777216 0 Y 128 31 63
|
def @arg29 251 16777216 0 Y 128 31 63
|
||||||
def @arg30 253 16777216 0 Y 0 31 8
|
def @arg30 251 16777216 0 Y 0 31 8
|
||||||
def @arg31 253 16777216 0 Y 0 31 8
|
def @arg31 251 16777216 0 Y 0 31 8
|
||||||
def @arg32 253 16777216 0 Y 0 31 8
|
def @arg32 251 16777216 0 Y 0 31 8
|
||||||
@arg01 @arg02 @arg03 @arg04 @arg05 @arg06 @arg07 @arg08 @arg09 @arg10 @arg11 @arg12 @arg13 @arg14 @arg15 @arg16 @arg17 @arg18 @arg19 @arg20 @arg21 @arg22 @arg23 @arg24 @arg25 @arg26 @arg27 @arg28 @arg29 @arg30 @arg31 @arg32
|
@arg01 @arg02 @arg03 @arg04 @arg05 @arg06 @arg07 @arg08 @arg09 @arg10 @arg11 @arg12 @arg13 @arg14 @arg15 @arg16 @arg17 @arg18 @arg19 @arg20 @arg21 @arg22 @arg23 @arg24 @arg25 @arg26 @arg27 @arg28 @arg29 @arg30 @arg31 @arg32
|
||||||
0 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 1991-01-01 01:01:01 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
|
0 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 1991-01-01 01:01:01 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
|
||||||
prepare stmt1 from "select
|
prepare stmt1 from "select
|
||||||
@ -1997,38 +1997,38 @@ execute stmt1 using @my_key ;
|
|||||||
1 1 1 1 1 1 1 1 1 1 1.0000 1.0000 2004-02-29 2004-02-29 11:11:11 2004-02-29 11:11:11 11:11:11 2004 1 1 a 123456789a 123456789a123456789b123456789c tinyblob tinytext blob text mediumblob mediumtext longblob longtext one monday
|
1 1 1 1 1 1 1 1 1 1 1.0000 1.0000 2004-02-29 2004-02-29 11:11:11 2004-02-29 11:11:11 11:11:11 2004 1 1 a 123456789a 123456789a123456789b123456789c tinyblob tinytext blob text mediumblob mediumtext longblob longtext one monday
|
||||||
execute full_info ;
|
execute full_info ;
|
||||||
Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
|
Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
|
||||||
def @arg01 253 20 1 Y 128 0 63
|
def @arg01 8 20 1 Y 32896 0 63
|
||||||
def @arg02 253 20 1 Y 128 0 63
|
def @arg02 8 20 1 Y 32896 0 63
|
||||||
def @arg03 253 20 1 Y 128 0 63
|
def @arg03 8 20 1 Y 32896 0 63
|
||||||
def @arg04 253 20 1 Y 128 0 63
|
def @arg04 8 20 1 Y 32896 0 63
|
||||||
def @arg05 253 20 1 Y 128 0 63
|
def @arg05 8 20 1 Y 32896 0 63
|
||||||
def @arg06 253 20 1 Y 128 0 63
|
def @arg06 8 20 1 Y 32896 0 63
|
||||||
def @arg07 253 23 1 Y 128 31 63
|
def @arg07 5 23 1 Y 32896 31 63
|
||||||
def @arg08 253 23 1 Y 128 31 63
|
def @arg08 5 23 1 Y 32896 31 63
|
||||||
def @arg09 253 23 1 Y 128 31 63
|
def @arg09 5 23 1 Y 32896 31 63
|
||||||
def @arg10 253 23 1 Y 128 31 63
|
def @arg10 5 23 1 Y 32896 31 63
|
||||||
def @arg11 253 67 6 Y 128 30 63
|
def @arg11 246 67 6 Y 128 30 63
|
||||||
def @arg12 253 67 6 Y 128 30 63
|
def @arg12 246 67 6 Y 128 30 63
|
||||||
def @arg13 253 16777216 10 Y 128 31 63
|
def @arg13 251 16777216 10 Y 128 31 63
|
||||||
def @arg14 253 16777216 19 Y 128 31 63
|
def @arg14 251 16777216 19 Y 128 31 63
|
||||||
def @arg15 253 16777216 19 Y 128 31 63
|
def @arg15 251 16777216 19 Y 128 31 63
|
||||||
def @arg16 253 16777216 8 Y 128 31 63
|
def @arg16 251 16777216 8 Y 128 31 63
|
||||||
def @arg17 253 20 4 Y 128 0 63
|
def @arg17 8 20 4 Y 32928 0 63
|
||||||
def @arg18 253 20 1 Y 128 0 63
|
def @arg18 8 20 1 Y 32896 0 63
|
||||||
def @arg19 253 20 1 Y 128 0 63
|
def @arg19 8 20 1 Y 32896 0 63
|
||||||
def @arg20 253 16777216 1 Y 0 31 8
|
def @arg20 251 16777216 1 Y 0 31 8
|
||||||
def @arg21 253 16777216 10 Y 0 31 8
|
def @arg21 251 16777216 10 Y 0 31 8
|
||||||
def @arg22 253 16777216 30 Y 0 31 8
|
def @arg22 251 16777216 30 Y 0 31 8
|
||||||
def @arg23 253 16777216 8 Y 128 31 63
|
def @arg23 251 16777216 8 Y 128 31 63
|
||||||
def @arg24 253 16777216 8 Y 0 31 8
|
def @arg24 251 16777216 8 Y 0 31 8
|
||||||
def @arg25 253 16777216 4 Y 128 31 63
|
def @arg25 251 16777216 4 Y 128 31 63
|
||||||
def @arg26 253 16777216 4 Y 0 31 8
|
def @arg26 251 16777216 4 Y 0 31 8
|
||||||
def @arg27 253 16777216 10 Y 128 31 63
|
def @arg27 251 16777216 10 Y 128 31 63
|
||||||
def @arg28 253 16777216 10 Y 0 31 8
|
def @arg28 251 16777216 10 Y 0 31 8
|
||||||
def @arg29 253 16777216 8 Y 128 31 63
|
def @arg29 251 16777216 8 Y 128 31 63
|
||||||
def @arg30 253 16777216 8 Y 0 31 8
|
def @arg30 251 16777216 8 Y 0 31 8
|
||||||
def @arg31 253 16777216 3 Y 0 31 8
|
def @arg31 251 16777216 3 Y 0 31 8
|
||||||
def @arg32 253 16777216 6 Y 0 31 8
|
def @arg32 251 16777216 6 Y 0 31 8
|
||||||
@arg01 @arg02 @arg03 @arg04 @arg05 @arg06 @arg07 @arg08 @arg09 @arg10 @arg11 @arg12 @arg13 @arg14 @arg15 @arg16 @arg17 @arg18 @arg19 @arg20 @arg21 @arg22 @arg23 @arg24 @arg25 @arg26 @arg27 @arg28 @arg29 @arg30 @arg31 @arg32
|
@arg01 @arg02 @arg03 @arg04 @arg05 @arg06 @arg07 @arg08 @arg09 @arg10 @arg11 @arg12 @arg13 @arg14 @arg15 @arg16 @arg17 @arg18 @arg19 @arg20 @arg21 @arg22 @arg23 @arg24 @arg25 @arg26 @arg27 @arg28 @arg29 @arg30 @arg31 @arg32
|
||||||
1 1 1 1 1 1 1 1 1 1 1.0000 1.0000 2004-02-29 2004-02-29 11:11:11 2004-02-29 11:11:11 11:11:11 2004 1 1 a 123456789a 123456789a123456789b123456789c tinyblob tinytext blob text mediumblob mediumtext longblob longtext one monday
|
1 1 1 1 1 1 1 1 1 1 1.0000 1.0000 2004-02-29 2004-02-29 11:11:11 2004-02-29 11:11:11 11:11:11 2004 1 1 a 123456789a 123456789a123456789b123456789c tinyblob tinytext blob text mediumblob mediumtext longblob longtext one monday
|
||||||
set @my_key= 0 ;
|
set @my_key= 0 ;
|
||||||
@ -2037,38 +2037,38 @@ execute stmt1 using @my_key ;
|
|||||||
0 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 1991-01-01 01:01:01 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
|
0 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 1991-01-01 01:01:01 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
|
||||||
execute full_info ;
|
execute full_info ;
|
||||||
Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
|
Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
|
||||||
def @arg01 253 20 1 Y 128 0 63
|
def @arg01 8 20 1 Y 32896 0 63
|
||||||
def @arg02 253 20 0 Y 128 0 63
|
def @arg02 8 20 0 Y 32896 0 63
|
||||||
def @arg03 253 20 0 Y 128 0 63
|
def @arg03 8 20 0 Y 32896 0 63
|
||||||
def @arg04 253 20 0 Y 128 0 63
|
def @arg04 8 20 0 Y 32896 0 63
|
||||||
def @arg05 253 20 0 Y 128 0 63
|
def @arg05 8 20 0 Y 32896 0 63
|
||||||
def @arg06 253 20 0 Y 128 0 63
|
def @arg06 8 20 0 Y 32896 0 63
|
||||||
def @arg07 253 23 0 Y 128 31 63
|
def @arg07 5 23 0 Y 32896 31 63
|
||||||
def @arg08 253 23 0 Y 128 31 63
|
def @arg08 5 23 0 Y 32896 31 63
|
||||||
def @arg09 253 23 0 Y 128 31 63
|
def @arg09 5 23 0 Y 32896 31 63
|
||||||
def @arg10 253 23 0 Y 128 31 63
|
def @arg10 5 23 0 Y 32896 31 63
|
||||||
def @arg11 253 67 0 Y 128 30 63
|
def @arg11 246 67 0 Y 128 30 63
|
||||||
def @arg12 253 67 0 Y 128 30 63
|
def @arg12 246 67 0 Y 128 30 63
|
||||||
def @arg13 253 16777216 0 Y 128 31 63
|
def @arg13 251 16777216 0 Y 128 31 63
|
||||||
def @arg14 253 16777216 0 Y 128 31 63
|
def @arg14 251 16777216 0 Y 128 31 63
|
||||||
def @arg15 253 16777216 19 Y 128 31 63
|
def @arg15 251 16777216 19 Y 128 31 63
|
||||||
def @arg16 253 16777216 0 Y 128 31 63
|
def @arg16 251 16777216 0 Y 128 31 63
|
||||||
def @arg17 253 20 0 Y 128 0 63
|
def @arg17 8 20 0 Y 32928 0 63
|
||||||
def @arg18 253 20 0 Y 128 0 63
|
def @arg18 8 20 0 Y 32896 0 63
|
||||||
def @arg19 253 20 0 Y 128 0 63
|
def @arg19 8 20 0 Y 32896 0 63
|
||||||
def @arg20 253 16777216 0 Y 0 31 8
|
def @arg20 251 16777216 0 Y 0 31 8
|
||||||
def @arg21 253 16777216 0 Y 0 31 8
|
def @arg21 251 16777216 0 Y 0 31 8
|
||||||
def @arg22 253 16777216 0 Y 0 31 8
|
def @arg22 251 16777216 0 Y 0 31 8
|
||||||
def @arg23 253 16777216 0 Y 128 31 63
|
def @arg23 251 16777216 0 Y 128 31 63
|
||||||
def @arg24 253 16777216 0 Y 0 31 8
|
def @arg24 251 16777216 0 Y 0 31 8
|
||||||
def @arg25 253 16777216 0 Y 128 31 63
|
def @arg25 251 16777216 0 Y 128 31 63
|
||||||
def @arg26 253 16777216 0 Y 0 31 8
|
def @arg26 251 16777216 0 Y 0 31 8
|
||||||
def @arg27 253 16777216 0 Y 128 31 63
|
def @arg27 251 16777216 0 Y 128 31 63
|
||||||
def @arg28 253 16777216 0 Y 0 31 8
|
def @arg28 251 16777216 0 Y 0 31 8
|
||||||
def @arg29 253 16777216 0 Y 128 31 63
|
def @arg29 251 16777216 0 Y 128 31 63
|
||||||
def @arg30 253 16777216 0 Y 0 31 8
|
def @arg30 251 16777216 0 Y 0 31 8
|
||||||
def @arg31 253 16777216 0 Y 0 31 8
|
def @arg31 251 16777216 0 Y 0 31 8
|
||||||
def @arg32 253 16777216 0 Y 0 31 8
|
def @arg32 251 16777216 0 Y 0 31 8
|
||||||
@arg01 @arg02 @arg03 @arg04 @arg05 @arg06 @arg07 @arg08 @arg09 @arg10 @arg11 @arg12 @arg13 @arg14 @arg15 @arg16 @arg17 @arg18 @arg19 @arg20 @arg21 @arg22 @arg23 @arg24 @arg25 @arg26 @arg27 @arg28 @arg29 @arg30 @arg31 @arg32
|
@arg01 @arg02 @arg03 @arg04 @arg05 @arg06 @arg07 @arg08 @arg09 @arg10 @arg11 @arg12 @arg13 @arg14 @arg15 @arg16 @arg17 @arg18 @arg19 @arg20 @arg21 @arg22 @arg23 @arg24 @arg25 @arg26 @arg27 @arg28 @arg29 @arg30 @arg31 @arg32
|
||||||
0 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 1991-01-01 01:01:01 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
|
0 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 1991-01-01 01:01:01 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
|
||||||
prepare stmt1 from "select ? := c1 from t9 where c1= 1" ;
|
prepare stmt1 from "select ? := c1 from t9 where c1= 1" ;
|
||||||
@ -2085,38 +2085,38 @@ into @arg01, @arg02, @arg03, @arg04, @arg05, @arg06, @arg07, @arg08,
|
|||||||
from t9 where c1= 1 ;
|
from t9 where c1= 1 ;
|
||||||
execute full_info ;
|
execute full_info ;
|
||||||
Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
|
Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
|
||||||
def @arg01 253 20 1 Y 128 0 63
|
def @arg01 8 20 1 Y 32896 0 63
|
||||||
def @arg02 253 20 1 Y 128 0 63
|
def @arg02 8 20 1 Y 32896 0 63
|
||||||
def @arg03 253 20 1 Y 128 0 63
|
def @arg03 8 20 1 Y 32896 0 63
|
||||||
def @arg04 253 20 1 Y 128 0 63
|
def @arg04 8 20 1 Y 32896 0 63
|
||||||
def @arg05 253 20 1 Y 128 0 63
|
def @arg05 8 20 1 Y 32896 0 63
|
||||||
def @arg06 253 20 1 Y 128 0 63
|
def @arg06 8 20 1 Y 32896 0 63
|
||||||
def @arg07 253 23 1 Y 128 31 63
|
def @arg07 5 23 1 Y 32896 31 63
|
||||||
def @arg08 253 23 1 Y 128 31 63
|
def @arg08 5 23 1 Y 32896 31 63
|
||||||
def @arg09 253 23 1 Y 128 31 63
|
def @arg09 5 23 1 Y 32896 31 63
|
||||||
def @arg10 253 23 1 Y 128 31 63
|
def @arg10 5 23 1 Y 32896 31 63
|
||||||
def @arg11 253 67 6 Y 128 30 63
|
def @arg11 246 67 6 Y 128 30 63
|
||||||
def @arg12 253 67 6 Y 128 30 63
|
def @arg12 246 67 6 Y 128 30 63
|
||||||
def @arg13 253 16777216 10 Y 128 31 63
|
def @arg13 251 16777216 10 Y 128 31 63
|
||||||
def @arg14 253 16777216 19 Y 128 31 63
|
def @arg14 251 16777216 19 Y 128 31 63
|
||||||
def @arg15 253 16777216 19 Y 128 31 63
|
def @arg15 251 16777216 19 Y 128 31 63
|
||||||
def @arg16 253 16777216 8 Y 128 31 63
|
def @arg16 251 16777216 8 Y 128 31 63
|
||||||
def @arg17 253 20 4 Y 128 0 63
|
def @arg17 8 20 4 Y 32928 0 63
|
||||||
def @arg18 253 20 1 Y 128 0 63
|
def @arg18 8 20 1 Y 32896 0 63
|
||||||
def @arg19 253 20 1 Y 128 0 63
|
def @arg19 8 20 1 Y 32896 0 63
|
||||||
def @arg20 253 16777216 1 Y 0 31 8
|
def @arg20 251 16777216 1 Y 0 31 8
|
||||||
def @arg21 253 16777216 10 Y 0 31 8
|
def @arg21 251 16777216 10 Y 0 31 8
|
||||||
def @arg22 253 16777216 30 Y 0 31 8
|
def @arg22 251 16777216 30 Y 0 31 8
|
||||||
def @arg23 253 16777216 8 Y 128 31 63
|
def @arg23 251 16777216 8 Y 128 31 63
|
||||||
def @arg24 253 16777216 8 Y 0 31 8
|
def @arg24 251 16777216 8 Y 0 31 8
|
||||||
def @arg25 253 16777216 4 Y 128 31 63
|
def @arg25 251 16777216 4 Y 128 31 63
|
||||||
def @arg26 253 16777216 4 Y 0 31 8
|
def @arg26 251 16777216 4 Y 0 31 8
|
||||||
def @arg27 253 16777216 10 Y 128 31 63
|
def @arg27 251 16777216 10 Y 128 31 63
|
||||||
def @arg28 253 16777216 10 Y 0 31 8
|
def @arg28 251 16777216 10 Y 0 31 8
|
||||||
def @arg29 253 16777216 8 Y 128 31 63
|
def @arg29 251 16777216 8 Y 128 31 63
|
||||||
def @arg30 253 16777216 8 Y 0 31 8
|
def @arg30 251 16777216 8 Y 0 31 8
|
||||||
def @arg31 253 16777216 3 Y 0 31 8
|
def @arg31 251 16777216 3 Y 0 31 8
|
||||||
def @arg32 253 16777216 6 Y 0 31 8
|
def @arg32 251 16777216 6 Y 0 31 8
|
||||||
@arg01 @arg02 @arg03 @arg04 @arg05 @arg06 @arg07 @arg08 @arg09 @arg10 @arg11 @arg12 @arg13 @arg14 @arg15 @arg16 @arg17 @arg18 @arg19 @arg20 @arg21 @arg22 @arg23 @arg24 @arg25 @arg26 @arg27 @arg28 @arg29 @arg30 @arg31 @arg32
|
@arg01 @arg02 @arg03 @arg04 @arg05 @arg06 @arg07 @arg08 @arg09 @arg10 @arg11 @arg12 @arg13 @arg14 @arg15 @arg16 @arg17 @arg18 @arg19 @arg20 @arg21 @arg22 @arg23 @arg24 @arg25 @arg26 @arg27 @arg28 @arg29 @arg30 @arg31 @arg32
|
||||||
1 1 1 1 1 1 1 1 1 1 1.0000 1.0000 2004-02-29 2004-02-29 11:11:11 2004-02-29 11:11:11 11:11:11 2004 1 1 a 123456789a 123456789a123456789b123456789c tinyblob tinytext blob text mediumblob mediumtext longblob longtext one monday
|
1 1 1 1 1 1 1 1 1 1 1.0000 1.0000 2004-02-29 2004-02-29 11:11:11 2004-02-29 11:11:11 11:11:11 2004 1 1 a 123456789a 123456789a123456789b123456789c tinyblob tinytext blob text mediumblob mediumtext longblob longtext one monday
|
||||||
select c1, c2, c3, c4, c5, c6, c7, c8, c9, c10, c11, c12,
|
select c1, c2, c3, c4, c5, c6, c7, c8, c9, c10, c11, c12,
|
||||||
@ -2129,38 +2129,38 @@ into @arg01, @arg02, @arg03, @arg04, @arg05, @arg06, @arg07, @arg08,
|
|||||||
from t9 where c1= 0 ;
|
from t9 where c1= 0 ;
|
||||||
execute full_info ;
|
execute full_info ;
|
||||||
Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
|
Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
|
||||||
def @arg01 253 20 1 Y 128 0 63
|
def @arg01 8 20 1 Y 32896 0 63
|
||||||
def @arg02 253 20 0 Y 128 0 63
|
def @arg02 8 20 0 Y 32896 0 63
|
||||||
def @arg03 253 20 0 Y 128 0 63
|
def @arg03 8 20 0 Y 32896 0 63
|
||||||
def @arg04 253 20 0 Y 128 0 63
|
def @arg04 8 20 0 Y 32896 0 63
|
||||||
def @arg05 253 20 0 Y 128 0 63
|
def @arg05 8 20 0 Y 32896 0 63
|
||||||
def @arg06 253 20 0 Y 128 0 63
|
def @arg06 8 20 0 Y 32896 0 63
|
||||||
def @arg07 253 23 0 Y 128 31 63
|
def @arg07 5 23 0 Y 32896 31 63
|
||||||
def @arg08 253 23 0 Y 128 31 63
|
def @arg08 5 23 0 Y 32896 31 63
|
||||||
def @arg09 253 23 0 Y 128 31 63
|
def @arg09 5 23 0 Y 32896 31 63
|
||||||
def @arg10 253 23 0 Y 128 31 63
|
def @arg10 5 23 0 Y 32896 31 63
|
||||||
def @arg11 253 67 0 Y 128 30 63
|
def @arg11 246 67 0 Y 128 30 63
|
||||||
def @arg12 253 67 0 Y 128 30 63
|
def @arg12 246 67 0 Y 128 30 63
|
||||||
def @arg13 253 16777216 0 Y 128 31 63
|
def @arg13 251 16777216 0 Y 128 31 63
|
||||||
def @arg14 253 16777216 0 Y 128 31 63
|
def @arg14 251 16777216 0 Y 128 31 63
|
||||||
def @arg15 253 16777216 19 Y 128 31 63
|
def @arg15 251 16777216 19 Y 128 31 63
|
||||||
def @arg16 253 16777216 0 Y 128 31 63
|
def @arg16 251 16777216 0 Y 128 31 63
|
||||||
def @arg17 253 20 0 Y 128 0 63
|
def @arg17 8 20 0 Y 32928 0 63
|
||||||
def @arg18 253 20 0 Y 128 0 63
|
def @arg18 8 20 0 Y 32896 0 63
|
||||||
def @arg19 253 20 0 Y 128 0 63
|
def @arg19 8 20 0 Y 32896 0 63
|
||||||
def @arg20 253 16777216 0 Y 0 31 8
|
def @arg20 251 16777216 0 Y 0 31 8
|
||||||
def @arg21 253 16777216 0 Y 0 31 8
|
def @arg21 251 16777216 0 Y 0 31 8
|
||||||
def @arg22 253 16777216 0 Y 0 31 8
|
def @arg22 251 16777216 0 Y 0 31 8
|
||||||
def @arg23 253 16777216 0 Y 128 31 63
|
def @arg23 251 16777216 0 Y 128 31 63
|
||||||
def @arg24 253 16777216 0 Y 0 31 8
|
def @arg24 251 16777216 0 Y 0 31 8
|
||||||
def @arg25 253 16777216 0 Y 128 31 63
|
def @arg25 251 16777216 0 Y 128 31 63
|
||||||
def @arg26 253 16777216 0 Y 0 31 8
|
def @arg26 251 16777216 0 Y 0 31 8
|
||||||
def @arg27 253 16777216 0 Y 128 31 63
|
def @arg27 251 16777216 0 Y 128 31 63
|
||||||
def @arg28 253 16777216 0 Y 0 31 8
|
def @arg28 251 16777216 0 Y 0 31 8
|
||||||
def @arg29 253 16777216 0 Y 128 31 63
|
def @arg29 251 16777216 0 Y 128 31 63
|
||||||
def @arg30 253 16777216 0 Y 0 31 8
|
def @arg30 251 16777216 0 Y 0 31 8
|
||||||
def @arg31 253 16777216 0 Y 0 31 8
|
def @arg31 251 16777216 0 Y 0 31 8
|
||||||
def @arg32 253 16777216 0 Y 0 31 8
|
def @arg32 251 16777216 0 Y 0 31 8
|
||||||
@arg01 @arg02 @arg03 @arg04 @arg05 @arg06 @arg07 @arg08 @arg09 @arg10 @arg11 @arg12 @arg13 @arg14 @arg15 @arg16 @arg17 @arg18 @arg19 @arg20 @arg21 @arg22 @arg23 @arg24 @arg25 @arg26 @arg27 @arg28 @arg29 @arg30 @arg31 @arg32
|
@arg01 @arg02 @arg03 @arg04 @arg05 @arg06 @arg07 @arg08 @arg09 @arg10 @arg11 @arg12 @arg13 @arg14 @arg15 @arg16 @arg17 @arg18 @arg19 @arg20 @arg21 @arg22 @arg23 @arg24 @arg25 @arg26 @arg27 @arg28 @arg29 @arg30 @arg31 @arg32
|
||||||
0 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 1991-01-01 01:01:01 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
|
0 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 1991-01-01 01:01:01 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
|
||||||
prepare stmt1 from "select c1, c2, c3, c4, c5, c6, c7, c8, c9, c10, c11, c12,
|
prepare stmt1 from "select c1, c2, c3, c4, c5, c6, c7, c8, c9, c10, c11, c12,
|
||||||
@ -2175,76 +2175,76 @@ set @my_key= 1 ;
|
|||||||
execute stmt1 using @my_key ;
|
execute stmt1 using @my_key ;
|
||||||
execute full_info ;
|
execute full_info ;
|
||||||
Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
|
Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
|
||||||
def @arg01 253 20 1 Y 128 0 63
|
def @arg01 8 20 1 Y 32896 0 63
|
||||||
def @arg02 253 20 1 Y 128 0 63
|
def @arg02 8 20 1 Y 32896 0 63
|
||||||
def @arg03 253 20 1 Y 128 0 63
|
def @arg03 8 20 1 Y 32896 0 63
|
||||||
def @arg04 253 20 1 Y 128 0 63
|
def @arg04 8 20 1 Y 32896 0 63
|
||||||
def @arg05 253 20 1 Y 128 0 63
|
def @arg05 8 20 1 Y 32896 0 63
|
||||||
def @arg06 253 20 1 Y 128 0 63
|
def @arg06 8 20 1 Y 32896 0 63
|
||||||
def @arg07 253 23 1 Y 128 31 63
|
def @arg07 5 23 1 Y 32896 31 63
|
||||||
def @arg08 253 23 1 Y 128 31 63
|
def @arg08 5 23 1 Y 32896 31 63
|
||||||
def @arg09 253 23 1 Y 128 31 63
|
def @arg09 5 23 1 Y 32896 31 63
|
||||||
def @arg10 253 23 1 Y 128 31 63
|
def @arg10 5 23 1 Y 32896 31 63
|
||||||
def @arg11 253 67 6 Y 128 30 63
|
def @arg11 246 67 6 Y 128 30 63
|
||||||
def @arg12 253 67 6 Y 128 30 63
|
def @arg12 246 67 6 Y 128 30 63
|
||||||
def @arg13 253 16777216 10 Y 128 31 63
|
def @arg13 251 16777216 10 Y 128 31 63
|
||||||
def @arg14 253 16777216 19 Y 128 31 63
|
def @arg14 251 16777216 19 Y 128 31 63
|
||||||
def @arg15 253 16777216 19 Y 128 31 63
|
def @arg15 251 16777216 19 Y 128 31 63
|
||||||
def @arg16 253 16777216 8 Y 128 31 63
|
def @arg16 251 16777216 8 Y 128 31 63
|
||||||
def @arg17 253 20 4 Y 128 0 63
|
def @arg17 8 20 4 Y 32928 0 63
|
||||||
def @arg18 253 20 1 Y 128 0 63
|
def @arg18 8 20 1 Y 32896 0 63
|
||||||
def @arg19 253 20 1 Y 128 0 63
|
def @arg19 8 20 1 Y 32896 0 63
|
||||||
def @arg20 253 16777216 1 Y 0 31 8
|
def @arg20 251 16777216 1 Y 0 31 8
|
||||||
def @arg21 253 16777216 10 Y 0 31 8
|
def @arg21 251 16777216 10 Y 0 31 8
|
||||||
def @arg22 253 16777216 30 Y 0 31 8
|
def @arg22 251 16777216 30 Y 0 31 8
|
||||||
def @arg23 253 16777216 8 Y 128 31 63
|
def @arg23 251 16777216 8 Y 128 31 63
|
||||||
def @arg24 253 16777216 8 Y 0 31 8
|
def @arg24 251 16777216 8 Y 0 31 8
|
||||||
def @arg25 253 16777216 4 Y 128 31 63
|
def @arg25 251 16777216 4 Y 128 31 63
|
||||||
def @arg26 253 16777216 4 Y 0 31 8
|
def @arg26 251 16777216 4 Y 0 31 8
|
||||||
def @arg27 253 16777216 10 Y 128 31 63
|
def @arg27 251 16777216 10 Y 128 31 63
|
||||||
def @arg28 253 16777216 10 Y 0 31 8
|
def @arg28 251 16777216 10 Y 0 31 8
|
||||||
def @arg29 253 16777216 8 Y 128 31 63
|
def @arg29 251 16777216 8 Y 128 31 63
|
||||||
def @arg30 253 16777216 8 Y 0 31 8
|
def @arg30 251 16777216 8 Y 0 31 8
|
||||||
def @arg31 253 16777216 3 Y 0 31 8
|
def @arg31 251 16777216 3 Y 0 31 8
|
||||||
def @arg32 253 16777216 6 Y 0 31 8
|
def @arg32 251 16777216 6 Y 0 31 8
|
||||||
@arg01 @arg02 @arg03 @arg04 @arg05 @arg06 @arg07 @arg08 @arg09 @arg10 @arg11 @arg12 @arg13 @arg14 @arg15 @arg16 @arg17 @arg18 @arg19 @arg20 @arg21 @arg22 @arg23 @arg24 @arg25 @arg26 @arg27 @arg28 @arg29 @arg30 @arg31 @arg32
|
@arg01 @arg02 @arg03 @arg04 @arg05 @arg06 @arg07 @arg08 @arg09 @arg10 @arg11 @arg12 @arg13 @arg14 @arg15 @arg16 @arg17 @arg18 @arg19 @arg20 @arg21 @arg22 @arg23 @arg24 @arg25 @arg26 @arg27 @arg28 @arg29 @arg30 @arg31 @arg32
|
||||||
1 1 1 1 1 1 1 1 1 1 1.0000 1.0000 2004-02-29 2004-02-29 11:11:11 2004-02-29 11:11:11 11:11:11 2004 1 1 a 123456789a 123456789a123456789b123456789c tinyblob tinytext blob text mediumblob mediumtext longblob longtext one monday
|
1 1 1 1 1 1 1 1 1 1 1.0000 1.0000 2004-02-29 2004-02-29 11:11:11 2004-02-29 11:11:11 11:11:11 2004 1 1 a 123456789a 123456789a123456789b123456789c tinyblob tinytext blob text mediumblob mediumtext longblob longtext one monday
|
||||||
set @my_key= 0 ;
|
set @my_key= 0 ;
|
||||||
execute stmt1 using @my_key ;
|
execute stmt1 using @my_key ;
|
||||||
execute full_info ;
|
execute full_info ;
|
||||||
Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
|
Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
|
||||||
def @arg01 253 20 1 Y 128 0 63
|
def @arg01 8 20 1 Y 32896 0 63
|
||||||
def @arg02 253 20 0 Y 128 0 63
|
def @arg02 8 20 0 Y 32896 0 63
|
||||||
def @arg03 253 20 0 Y 128 0 63
|
def @arg03 8 20 0 Y 32896 0 63
|
||||||
def @arg04 253 20 0 Y 128 0 63
|
def @arg04 8 20 0 Y 32896 0 63
|
||||||
def @arg05 253 20 0 Y 128 0 63
|
def @arg05 8 20 0 Y 32896 0 63
|
||||||
def @arg06 253 20 0 Y 128 0 63
|
def @arg06 8 20 0 Y 32896 0 63
|
||||||
def @arg07 253 23 0 Y 128 31 63
|
def @arg07 5 23 0 Y 32896 31 63
|
||||||
def @arg08 253 23 0 Y 128 31 63
|
def @arg08 5 23 0 Y 32896 31 63
|
||||||
def @arg09 253 23 0 Y 128 31 63
|
def @arg09 5 23 0 Y 32896 31 63
|
||||||
def @arg10 253 23 0 Y 128 31 63
|
def @arg10 5 23 0 Y 32896 31 63
|
||||||
def @arg11 253 67 0 Y 128 30 63
|
def @arg11 246 67 0 Y 128 30 63
|
||||||
def @arg12 253 67 0 Y 128 30 63
|
def @arg12 246 67 0 Y 128 30 63
|
||||||
def @arg13 253 16777216 0 Y 128 31 63
|
def @arg13 251 16777216 0 Y 128 31 63
|
||||||
def @arg14 253 16777216 0 Y 128 31 63
|
def @arg14 251 16777216 0 Y 128 31 63
|
||||||
def @arg15 253 16777216 19 Y 128 31 63
|
def @arg15 251 16777216 19 Y 128 31 63
|
||||||
def @arg16 253 16777216 0 Y 128 31 63
|
def @arg16 251 16777216 0 Y 128 31 63
|
||||||
def @arg17 253 20 0 Y 128 0 63
|
def @arg17 8 20 0 Y 32928 0 63
|
||||||
def @arg18 253 20 0 Y 128 0 63
|
def @arg18 8 20 0 Y 32896 0 63
|
||||||
def @arg19 253 20 0 Y 128 0 63
|
def @arg19 8 20 0 Y 32896 0 63
|
||||||
def @arg20 253 16777216 0 Y 0 31 8
|
def @arg20 251 16777216 0 Y 0 31 8
|
||||||
def @arg21 253 16777216 0 Y 0 31 8
|
def @arg21 251 16777216 0 Y 0 31 8
|
||||||
def @arg22 253 16777216 0 Y 0 31 8
|
def @arg22 251 16777216 0 Y 0 31 8
|
||||||
def @arg23 253 16777216 0 Y 128 31 63
|
def @arg23 251 16777216 0 Y 128 31 63
|
||||||
def @arg24 253 16777216 0 Y 0 31 8
|
def @arg24 251 16777216 0 Y 0 31 8
|
||||||
def @arg25 253 16777216 0 Y 128 31 63
|
def @arg25 251 16777216 0 Y 128 31 63
|
||||||
def @arg26 253 16777216 0 Y 0 31 8
|
def @arg26 251 16777216 0 Y 0 31 8
|
||||||
def @arg27 253 16777216 0 Y 128 31 63
|
def @arg27 251 16777216 0 Y 128 31 63
|
||||||
def @arg28 253 16777216 0 Y 0 31 8
|
def @arg28 251 16777216 0 Y 0 31 8
|
||||||
def @arg29 253 16777216 0 Y 128 31 63
|
def @arg29 251 16777216 0 Y 128 31 63
|
||||||
def @arg30 253 16777216 0 Y 0 31 8
|
def @arg30 251 16777216 0 Y 0 31 8
|
||||||
def @arg31 253 16777216 0 Y 0 31 8
|
def @arg31 251 16777216 0 Y 0 31 8
|
||||||
def @arg32 253 16777216 0 Y 0 31 8
|
def @arg32 251 16777216 0 Y 0 31 8
|
||||||
@arg01 @arg02 @arg03 @arg04 @arg05 @arg06 @arg07 @arg08 @arg09 @arg10 @arg11 @arg12 @arg13 @arg14 @arg15 @arg16 @arg17 @arg18 @arg19 @arg20 @arg21 @arg22 @arg23 @arg24 @arg25 @arg26 @arg27 @arg28 @arg29 @arg30 @arg31 @arg32
|
@arg01 @arg02 @arg03 @arg04 @arg05 @arg06 @arg07 @arg08 @arg09 @arg10 @arg11 @arg12 @arg13 @arg14 @arg15 @arg16 @arg17 @arg18 @arg19 @arg20 @arg21 @arg22 @arg23 @arg24 @arg25 @arg26 @arg27 @arg28 @arg29 @arg30 @arg31 @arg32
|
||||||
0 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 1991-01-01 01:01:01 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
|
0 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 1991-01-01 01:01:01 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
|
||||||
prepare stmt1 from "select c1 into ? from t9 where c1= 1" ;
|
prepare stmt1 from "select c1 into ? from t9 where c1= 1" ;
|
||||||
|
362
mysql-test/r/query_cache_ps_no_prot.result
Normal file
362
mysql-test/r/query_cache_ps_no_prot.result
Normal file
@ -0,0 +1,362 @@
|
|||||||
|
---- establish connection con1 (root) ----
|
||||||
|
---- switch to connection default ----
|
||||||
|
set @initial_query_cache_size = @@global.query_cache_size;
|
||||||
|
set @@global.query_cache_size=100000;
|
||||||
|
flush status;
|
||||||
|
drop table if exists t1;
|
||||||
|
create table t1(c1 int);
|
||||||
|
insert into t1 values(1),(10),(100);
|
||||||
|
prepare stmt1 from "select * from t1 where c1=10";
|
||||||
|
show status like 'Qcache_hits';
|
||||||
|
Variable_name Value
|
||||||
|
Qcache_hits 0
|
||||||
|
execute stmt1;
|
||||||
|
c1
|
||||||
|
10
|
||||||
|
show status like 'Qcache_hits';
|
||||||
|
Variable_name Value
|
||||||
|
Qcache_hits 0
|
||||||
|
execute stmt1;
|
||||||
|
c1
|
||||||
|
10
|
||||||
|
show status like 'Qcache_hits';
|
||||||
|
Variable_name Value
|
||||||
|
Qcache_hits 1
|
||||||
|
execute stmt1;
|
||||||
|
c1
|
||||||
|
10
|
||||||
|
show status like 'Qcache_hits';
|
||||||
|
Variable_name Value
|
||||||
|
Qcache_hits 2
|
||||||
|
prepare stmt2 from "select * from t1 where c1=10";
|
||||||
|
execute stmt2;
|
||||||
|
c1
|
||||||
|
10
|
||||||
|
show status like 'Qcache_hits';
|
||||||
|
Variable_name Value
|
||||||
|
Qcache_hits 3
|
||||||
|
execute stmt2;
|
||||||
|
c1
|
||||||
|
10
|
||||||
|
show status like 'Qcache_hits';
|
||||||
|
Variable_name Value
|
||||||
|
Qcache_hits 4
|
||||||
|
execute stmt2;
|
||||||
|
c1
|
||||||
|
10
|
||||||
|
show status like 'Qcache_hits';
|
||||||
|
Variable_name Value
|
||||||
|
Qcache_hits 5
|
||||||
|
---- switch to connection con1 ----
|
||||||
|
prepare stmt3 from "select * from t1 where c1=10";
|
||||||
|
execute stmt3;
|
||||||
|
c1
|
||||||
|
10
|
||||||
|
show status like 'Qcache_hits';
|
||||||
|
Variable_name Value
|
||||||
|
Qcache_hits 6
|
||||||
|
execute stmt3;
|
||||||
|
c1
|
||||||
|
10
|
||||||
|
show status like 'Qcache_hits';
|
||||||
|
Variable_name Value
|
||||||
|
Qcache_hits 7
|
||||||
|
execute stmt3;
|
||||||
|
c1
|
||||||
|
10
|
||||||
|
show status like 'Qcache_hits';
|
||||||
|
Variable_name Value
|
||||||
|
Qcache_hits 8
|
||||||
|
---- switch to connection default ----
|
||||||
|
prepare stmt10 from "SELECT * FROM t1 WHERE c1 = 100";
|
||||||
|
show status like 'Qcache_hits';
|
||||||
|
Variable_name Value
|
||||||
|
Qcache_hits 8
|
||||||
|
execute stmt10;
|
||||||
|
c1
|
||||||
|
100
|
||||||
|
show status like 'Qcache_hits';
|
||||||
|
Variable_name Value
|
||||||
|
Qcache_hits 8
|
||||||
|
execute stmt10;
|
||||||
|
c1
|
||||||
|
100
|
||||||
|
show status like 'Qcache_hits';
|
||||||
|
Variable_name Value
|
||||||
|
Qcache_hits 9
|
||||||
|
SELECT * FROM t1 WHERE c1 = 100;
|
||||||
|
c1
|
||||||
|
100
|
||||||
|
show status like 'Qcache_hits';
|
||||||
|
Variable_name Value
|
||||||
|
Qcache_hits 10
|
||||||
|
---- switch to connection con1 ----
|
||||||
|
SELECT * FROM t1 WHERE c1 = 100;
|
||||||
|
c1
|
||||||
|
100
|
||||||
|
show status like 'Qcache_hits';
|
||||||
|
Variable_name Value
|
||||||
|
Qcache_hits 11
|
||||||
|
---- switch to connection default ----
|
||||||
|
prepare stmt11 from "SELECT * FROM t1 WHERE c1 = 1";
|
||||||
|
---- switch to connection con1 ----
|
||||||
|
prepare stmt12 from "SELECT * FROM t1 WHERE c1 = 1";
|
||||||
|
---- switch to connection default ----
|
||||||
|
SELECT * FROM t1 WHERE c1 = 1;
|
||||||
|
c1
|
||||||
|
1
|
||||||
|
show status like 'Qcache_hits';
|
||||||
|
Variable_name Value
|
||||||
|
Qcache_hits 11
|
||||||
|
SELECT * FROM t1 WHERE c1 = 1;
|
||||||
|
c1
|
||||||
|
1
|
||||||
|
show status like 'Qcache_hits';
|
||||||
|
Variable_name Value
|
||||||
|
Qcache_hits 12
|
||||||
|
execute stmt11;
|
||||||
|
c1
|
||||||
|
1
|
||||||
|
show status like 'Qcache_hits';
|
||||||
|
Variable_name Value
|
||||||
|
Qcache_hits 13
|
||||||
|
---- switch to connection con1 ----
|
||||||
|
execute stmt12;
|
||||||
|
c1
|
||||||
|
1
|
||||||
|
show status like 'Qcache_hits';
|
||||||
|
Variable_name Value
|
||||||
|
Qcache_hits 14
|
||||||
|
---- switch to connection default ----
|
||||||
|
prepare stmt1 from "select * from t1 where c1=?";
|
||||||
|
show status like 'Qcache_hits';
|
||||||
|
Variable_name Value
|
||||||
|
Qcache_hits 14
|
||||||
|
set @a=1;
|
||||||
|
execute stmt1 using @a;
|
||||||
|
c1
|
||||||
|
1
|
||||||
|
show status like 'Qcache_hits';
|
||||||
|
Variable_name Value
|
||||||
|
Qcache_hits 14
|
||||||
|
execute stmt1 using @a;
|
||||||
|
c1
|
||||||
|
1
|
||||||
|
show status like 'Qcache_hits';
|
||||||
|
Variable_name Value
|
||||||
|
Qcache_hits 14
|
||||||
|
---- switch to connection con1 ----
|
||||||
|
set @a=1;
|
||||||
|
prepare stmt4 from "select * from t1 where c1=?";
|
||||||
|
execute stmt4 using @a;
|
||||||
|
c1
|
||||||
|
1
|
||||||
|
show status like 'Qcache_hits';
|
||||||
|
Variable_name Value
|
||||||
|
Qcache_hits 14
|
||||||
|
---- switch to connection default ----
|
||||||
|
prepare stmt1 from "select * from t1 where c1=10";
|
||||||
|
set global query_cache_size=0;
|
||||||
|
show status like 'Qcache_hits';
|
||||||
|
Variable_name Value
|
||||||
|
Qcache_hits 14
|
||||||
|
execute stmt1;
|
||||||
|
c1
|
||||||
|
10
|
||||||
|
show status like 'Qcache_hits';
|
||||||
|
Variable_name Value
|
||||||
|
Qcache_hits 14
|
||||||
|
execute stmt1;
|
||||||
|
c1
|
||||||
|
10
|
||||||
|
show status like 'Qcache_hits';
|
||||||
|
Variable_name Value
|
||||||
|
Qcache_hits 14
|
||||||
|
execute stmt1;
|
||||||
|
c1
|
||||||
|
10
|
||||||
|
show status like 'Qcache_hits';
|
||||||
|
Variable_name Value
|
||||||
|
Qcache_hits 14
|
||||||
|
---- switch to connection con1 ----
|
||||||
|
execute stmt3;
|
||||||
|
c1
|
||||||
|
10
|
||||||
|
show status like 'Qcache_hits';
|
||||||
|
Variable_name Value
|
||||||
|
Qcache_hits 14
|
||||||
|
execute stmt3;
|
||||||
|
c1
|
||||||
|
10
|
||||||
|
show status like 'Qcache_hits';
|
||||||
|
Variable_name Value
|
||||||
|
Qcache_hits 14
|
||||||
|
execute stmt3;
|
||||||
|
c1
|
||||||
|
10
|
||||||
|
show status like 'Qcache_hits';
|
||||||
|
Variable_name Value
|
||||||
|
Qcache_hits 14
|
||||||
|
---- switch to connection default ----
|
||||||
|
set global query_cache_size=100000;
|
||||||
|
execute stmt1;
|
||||||
|
c1
|
||||||
|
10
|
||||||
|
show status like 'Qcache_hits';
|
||||||
|
Variable_name Value
|
||||||
|
Qcache_hits 14
|
||||||
|
execute stmt1;
|
||||||
|
c1
|
||||||
|
10
|
||||||
|
show status like 'Qcache_hits';
|
||||||
|
Variable_name Value
|
||||||
|
Qcache_hits 15
|
||||||
|
execute stmt1;
|
||||||
|
c1
|
||||||
|
10
|
||||||
|
show status like 'Qcache_hits';
|
||||||
|
Variable_name Value
|
||||||
|
Qcache_hits 16
|
||||||
|
---- switch to connection con1 ----
|
||||||
|
execute stmt3;
|
||||||
|
c1
|
||||||
|
10
|
||||||
|
show status like 'Qcache_hits';
|
||||||
|
Variable_name Value
|
||||||
|
Qcache_hits 17
|
||||||
|
execute stmt3;
|
||||||
|
c1
|
||||||
|
10
|
||||||
|
show status like 'Qcache_hits';
|
||||||
|
Variable_name Value
|
||||||
|
Qcache_hits 18
|
||||||
|
execute stmt3;
|
||||||
|
c1
|
||||||
|
10
|
||||||
|
show status like 'Qcache_hits';
|
||||||
|
Variable_name Value
|
||||||
|
Qcache_hits 19
|
||||||
|
---- switch to connection default ----
|
||||||
|
set global query_cache_size=0;
|
||||||
|
show status like 'Qcache_hits';
|
||||||
|
Variable_name Value
|
||||||
|
Qcache_hits 19
|
||||||
|
execute stmt1;
|
||||||
|
c1
|
||||||
|
10
|
||||||
|
show status like 'Qcache_hits';
|
||||||
|
Variable_name Value
|
||||||
|
Qcache_hits 19
|
||||||
|
execute stmt1;
|
||||||
|
c1
|
||||||
|
10
|
||||||
|
show status like 'Qcache_hits';
|
||||||
|
Variable_name Value
|
||||||
|
Qcache_hits 19
|
||||||
|
execute stmt1;
|
||||||
|
c1
|
||||||
|
10
|
||||||
|
show status like 'Qcache_hits';
|
||||||
|
Variable_name Value
|
||||||
|
Qcache_hits 19
|
||||||
|
---- switch to connection con1 ----
|
||||||
|
execute stmt3;
|
||||||
|
c1
|
||||||
|
10
|
||||||
|
show status like 'Qcache_hits';
|
||||||
|
Variable_name Value
|
||||||
|
Qcache_hits 19
|
||||||
|
execute stmt3;
|
||||||
|
c1
|
||||||
|
10
|
||||||
|
show status like 'Qcache_hits';
|
||||||
|
Variable_name Value
|
||||||
|
Qcache_hits 19
|
||||||
|
execute stmt3;
|
||||||
|
c1
|
||||||
|
10
|
||||||
|
show status like 'Qcache_hits';
|
||||||
|
Variable_name Value
|
||||||
|
Qcache_hits 19
|
||||||
|
---- switch to connection default ----
|
||||||
|
set global query_cache_size=0;
|
||||||
|
prepare stmt1 from "select * from t1 where c1=10";
|
||||||
|
---- switch to connection con1 ----
|
||||||
|
prepare stmt3 from "select * from t1 where c1=10";
|
||||||
|
---- switch to connection default ----
|
||||||
|
set global query_cache_size=100000;
|
||||||
|
show status like 'Qcache_hits';
|
||||||
|
Variable_name Value
|
||||||
|
Qcache_hits 19
|
||||||
|
execute stmt1;
|
||||||
|
c1
|
||||||
|
10
|
||||||
|
show status like 'Qcache_hits';
|
||||||
|
Variable_name Value
|
||||||
|
Qcache_hits 19
|
||||||
|
execute stmt1;
|
||||||
|
c1
|
||||||
|
10
|
||||||
|
show status like 'Qcache_hits';
|
||||||
|
Variable_name Value
|
||||||
|
Qcache_hits 19
|
||||||
|
execute stmt1;
|
||||||
|
c1
|
||||||
|
10
|
||||||
|
show status like 'Qcache_hits';
|
||||||
|
Variable_name Value
|
||||||
|
Qcache_hits 19
|
||||||
|
---- switch to connection con1 ----
|
||||||
|
show status like 'Qcache_hits';
|
||||||
|
Variable_name Value
|
||||||
|
Qcache_hits 19
|
||||||
|
execute stmt3;
|
||||||
|
c1
|
||||||
|
10
|
||||||
|
show status like 'Qcache_hits';
|
||||||
|
Variable_name Value
|
||||||
|
Qcache_hits 19
|
||||||
|
execute stmt3;
|
||||||
|
c1
|
||||||
|
10
|
||||||
|
show status like 'Qcache_hits';
|
||||||
|
Variable_name Value
|
||||||
|
Qcache_hits 19
|
||||||
|
execute stmt3;
|
||||||
|
c1
|
||||||
|
10
|
||||||
|
show status like 'Qcache_hits';
|
||||||
|
Variable_name Value
|
||||||
|
Qcache_hits 19
|
||||||
|
---- switch to connection default ----
|
||||||
|
set global query_cache_size=0;
|
||||||
|
prepare stmt1 from "select * from t1 where c1=?";
|
||||||
|
set global query_cache_size=100000;
|
||||||
|
show status like 'Qcache_hits';
|
||||||
|
Variable_name Value
|
||||||
|
Qcache_hits 19
|
||||||
|
set @a=1;
|
||||||
|
execute stmt1 using @a;
|
||||||
|
c1
|
||||||
|
1
|
||||||
|
show status like 'Qcache_hits';
|
||||||
|
Variable_name Value
|
||||||
|
Qcache_hits 19
|
||||||
|
set @a=100;
|
||||||
|
execute stmt1 using @a;
|
||||||
|
c1
|
||||||
|
100
|
||||||
|
show status like 'Qcache_hits';
|
||||||
|
Variable_name Value
|
||||||
|
Qcache_hits 19
|
||||||
|
set @a=10;
|
||||||
|
execute stmt1 using @a;
|
||||||
|
c1
|
||||||
|
10
|
||||||
|
show status like 'Qcache_hits';
|
||||||
|
Variable_name Value
|
||||||
|
Qcache_hits 19
|
||||||
|
drop table t1;
|
||||||
|
---- disconnect connection con1 ----
|
||||||
|
set @@global.query_cache_size=@initial_query_cache_size;
|
||||||
|
flush status;
|
362
mysql-test/r/query_cache_ps_ps_prot.result
Normal file
362
mysql-test/r/query_cache_ps_ps_prot.result
Normal file
@ -0,0 +1,362 @@
|
|||||||
|
---- establish connection con1 (root) ----
|
||||||
|
---- switch to connection default ----
|
||||||
|
set @initial_query_cache_size = @@global.query_cache_size;
|
||||||
|
set @@global.query_cache_size=100000;
|
||||||
|
flush status;
|
||||||
|
drop table if exists t1;
|
||||||
|
create table t1(c1 int);
|
||||||
|
insert into t1 values(1),(10),(100);
|
||||||
|
prepare stmt1 from "select * from t1 where c1=10";
|
||||||
|
show status like 'Qcache_hits';
|
||||||
|
Variable_name Value
|
||||||
|
Qcache_hits 0
|
||||||
|
execute stmt1;
|
||||||
|
c1
|
||||||
|
10
|
||||||
|
show status like 'Qcache_hits';
|
||||||
|
Variable_name Value
|
||||||
|
Qcache_hits 0
|
||||||
|
execute stmt1;
|
||||||
|
c1
|
||||||
|
10
|
||||||
|
show status like 'Qcache_hits';
|
||||||
|
Variable_name Value
|
||||||
|
Qcache_hits 1
|
||||||
|
execute stmt1;
|
||||||
|
c1
|
||||||
|
10
|
||||||
|
show status like 'Qcache_hits';
|
||||||
|
Variable_name Value
|
||||||
|
Qcache_hits 2
|
||||||
|
prepare stmt2 from "select * from t1 where c1=10";
|
||||||
|
execute stmt2;
|
||||||
|
c1
|
||||||
|
10
|
||||||
|
show status like 'Qcache_hits';
|
||||||
|
Variable_name Value
|
||||||
|
Qcache_hits 3
|
||||||
|
execute stmt2;
|
||||||
|
c1
|
||||||
|
10
|
||||||
|
show status like 'Qcache_hits';
|
||||||
|
Variable_name Value
|
||||||
|
Qcache_hits 4
|
||||||
|
execute stmt2;
|
||||||
|
c1
|
||||||
|
10
|
||||||
|
show status like 'Qcache_hits';
|
||||||
|
Variable_name Value
|
||||||
|
Qcache_hits 5
|
||||||
|
---- switch to connection con1 ----
|
||||||
|
prepare stmt3 from "select * from t1 where c1=10";
|
||||||
|
execute stmt3;
|
||||||
|
c1
|
||||||
|
10
|
||||||
|
show status like 'Qcache_hits';
|
||||||
|
Variable_name Value
|
||||||
|
Qcache_hits 6
|
||||||
|
execute stmt3;
|
||||||
|
c1
|
||||||
|
10
|
||||||
|
show status like 'Qcache_hits';
|
||||||
|
Variable_name Value
|
||||||
|
Qcache_hits 7
|
||||||
|
execute stmt3;
|
||||||
|
c1
|
||||||
|
10
|
||||||
|
show status like 'Qcache_hits';
|
||||||
|
Variable_name Value
|
||||||
|
Qcache_hits 8
|
||||||
|
---- switch to connection default ----
|
||||||
|
prepare stmt10 from "SELECT * FROM t1 WHERE c1 = 100";
|
||||||
|
show status like 'Qcache_hits';
|
||||||
|
Variable_name Value
|
||||||
|
Qcache_hits 8
|
||||||
|
execute stmt10;
|
||||||
|
c1
|
||||||
|
100
|
||||||
|
show status like 'Qcache_hits';
|
||||||
|
Variable_name Value
|
||||||
|
Qcache_hits 8
|
||||||
|
execute stmt10;
|
||||||
|
c1
|
||||||
|
100
|
||||||
|
show status like 'Qcache_hits';
|
||||||
|
Variable_name Value
|
||||||
|
Qcache_hits 9
|
||||||
|
SELECT * FROM t1 WHERE c1 = 100;
|
||||||
|
c1
|
||||||
|
100
|
||||||
|
show status like 'Qcache_hits';
|
||||||
|
Variable_name Value
|
||||||
|
Qcache_hits 9
|
||||||
|
---- switch to connection con1 ----
|
||||||
|
SELECT * FROM t1 WHERE c1 = 100;
|
||||||
|
c1
|
||||||
|
100
|
||||||
|
show status like 'Qcache_hits';
|
||||||
|
Variable_name Value
|
||||||
|
Qcache_hits 10
|
||||||
|
---- switch to connection default ----
|
||||||
|
prepare stmt11 from "SELECT * FROM t1 WHERE c1 = 1";
|
||||||
|
---- switch to connection con1 ----
|
||||||
|
prepare stmt12 from "SELECT * FROM t1 WHERE c1 = 1";
|
||||||
|
---- switch to connection default ----
|
||||||
|
SELECT * FROM t1 WHERE c1 = 1;
|
||||||
|
c1
|
||||||
|
1
|
||||||
|
show status like 'Qcache_hits';
|
||||||
|
Variable_name Value
|
||||||
|
Qcache_hits 10
|
||||||
|
SELECT * FROM t1 WHERE c1 = 1;
|
||||||
|
c1
|
||||||
|
1
|
||||||
|
show status like 'Qcache_hits';
|
||||||
|
Variable_name Value
|
||||||
|
Qcache_hits 11
|
||||||
|
execute stmt11;
|
||||||
|
c1
|
||||||
|
1
|
||||||
|
show status like 'Qcache_hits';
|
||||||
|
Variable_name Value
|
||||||
|
Qcache_hits 11
|
||||||
|
---- switch to connection con1 ----
|
||||||
|
execute stmt12;
|
||||||
|
c1
|
||||||
|
1
|
||||||
|
show status like 'Qcache_hits';
|
||||||
|
Variable_name Value
|
||||||
|
Qcache_hits 12
|
||||||
|
---- switch to connection default ----
|
||||||
|
prepare stmt1 from "select * from t1 where c1=?";
|
||||||
|
show status like 'Qcache_hits';
|
||||||
|
Variable_name Value
|
||||||
|
Qcache_hits 12
|
||||||
|
set @a=1;
|
||||||
|
execute stmt1 using @a;
|
||||||
|
c1
|
||||||
|
1
|
||||||
|
show status like 'Qcache_hits';
|
||||||
|
Variable_name Value
|
||||||
|
Qcache_hits 12
|
||||||
|
execute stmt1 using @a;
|
||||||
|
c1
|
||||||
|
1
|
||||||
|
show status like 'Qcache_hits';
|
||||||
|
Variable_name Value
|
||||||
|
Qcache_hits 12
|
||||||
|
---- switch to connection con1 ----
|
||||||
|
set @a=1;
|
||||||
|
prepare stmt4 from "select * from t1 where c1=?";
|
||||||
|
execute stmt4 using @a;
|
||||||
|
c1
|
||||||
|
1
|
||||||
|
show status like 'Qcache_hits';
|
||||||
|
Variable_name Value
|
||||||
|
Qcache_hits 12
|
||||||
|
---- switch to connection default ----
|
||||||
|
prepare stmt1 from "select * from t1 where c1=10";
|
||||||
|
set global query_cache_size=0;
|
||||||
|
show status like 'Qcache_hits';
|
||||||
|
Variable_name Value
|
||||||
|
Qcache_hits 12
|
||||||
|
execute stmt1;
|
||||||
|
c1
|
||||||
|
10
|
||||||
|
show status like 'Qcache_hits';
|
||||||
|
Variable_name Value
|
||||||
|
Qcache_hits 12
|
||||||
|
execute stmt1;
|
||||||
|
c1
|
||||||
|
10
|
||||||
|
show status like 'Qcache_hits';
|
||||||
|
Variable_name Value
|
||||||
|
Qcache_hits 12
|
||||||
|
execute stmt1;
|
||||||
|
c1
|
||||||
|
10
|
||||||
|
show status like 'Qcache_hits';
|
||||||
|
Variable_name Value
|
||||||
|
Qcache_hits 12
|
||||||
|
---- switch to connection con1 ----
|
||||||
|
execute stmt3;
|
||||||
|
c1
|
||||||
|
10
|
||||||
|
show status like 'Qcache_hits';
|
||||||
|
Variable_name Value
|
||||||
|
Qcache_hits 12
|
||||||
|
execute stmt3;
|
||||||
|
c1
|
||||||
|
10
|
||||||
|
show status like 'Qcache_hits';
|
||||||
|
Variable_name Value
|
||||||
|
Qcache_hits 12
|
||||||
|
execute stmt3;
|
||||||
|
c1
|
||||||
|
10
|
||||||
|
show status like 'Qcache_hits';
|
||||||
|
Variable_name Value
|
||||||
|
Qcache_hits 12
|
||||||
|
---- switch to connection default ----
|
||||||
|
set global query_cache_size=100000;
|
||||||
|
execute stmt1;
|
||||||
|
c1
|
||||||
|
10
|
||||||
|
show status like 'Qcache_hits';
|
||||||
|
Variable_name Value
|
||||||
|
Qcache_hits 12
|
||||||
|
execute stmt1;
|
||||||
|
c1
|
||||||
|
10
|
||||||
|
show status like 'Qcache_hits';
|
||||||
|
Variable_name Value
|
||||||
|
Qcache_hits 13
|
||||||
|
execute stmt1;
|
||||||
|
c1
|
||||||
|
10
|
||||||
|
show status like 'Qcache_hits';
|
||||||
|
Variable_name Value
|
||||||
|
Qcache_hits 14
|
||||||
|
---- switch to connection con1 ----
|
||||||
|
execute stmt3;
|
||||||
|
c1
|
||||||
|
10
|
||||||
|
show status like 'Qcache_hits';
|
||||||
|
Variable_name Value
|
||||||
|
Qcache_hits 15
|
||||||
|
execute stmt3;
|
||||||
|
c1
|
||||||
|
10
|
||||||
|
show status like 'Qcache_hits';
|
||||||
|
Variable_name Value
|
||||||
|
Qcache_hits 16
|
||||||
|
execute stmt3;
|
||||||
|
c1
|
||||||
|
10
|
||||||
|
show status like 'Qcache_hits';
|
||||||
|
Variable_name Value
|
||||||
|
Qcache_hits 17
|
||||||
|
---- switch to connection default ----
|
||||||
|
set global query_cache_size=0;
|
||||||
|
show status like 'Qcache_hits';
|
||||||
|
Variable_name Value
|
||||||
|
Qcache_hits 17
|
||||||
|
execute stmt1;
|
||||||
|
c1
|
||||||
|
10
|
||||||
|
show status like 'Qcache_hits';
|
||||||
|
Variable_name Value
|
||||||
|
Qcache_hits 17
|
||||||
|
execute stmt1;
|
||||||
|
c1
|
||||||
|
10
|
||||||
|
show status like 'Qcache_hits';
|
||||||
|
Variable_name Value
|
||||||
|
Qcache_hits 17
|
||||||
|
execute stmt1;
|
||||||
|
c1
|
||||||
|
10
|
||||||
|
show status like 'Qcache_hits';
|
||||||
|
Variable_name Value
|
||||||
|
Qcache_hits 17
|
||||||
|
---- switch to connection con1 ----
|
||||||
|
execute stmt3;
|
||||||
|
c1
|
||||||
|
10
|
||||||
|
show status like 'Qcache_hits';
|
||||||
|
Variable_name Value
|
||||||
|
Qcache_hits 17
|
||||||
|
execute stmt3;
|
||||||
|
c1
|
||||||
|
10
|
||||||
|
show status like 'Qcache_hits';
|
||||||
|
Variable_name Value
|
||||||
|
Qcache_hits 17
|
||||||
|
execute stmt3;
|
||||||
|
c1
|
||||||
|
10
|
||||||
|
show status like 'Qcache_hits';
|
||||||
|
Variable_name Value
|
||||||
|
Qcache_hits 17
|
||||||
|
---- switch to connection default ----
|
||||||
|
set global query_cache_size=0;
|
||||||
|
prepare stmt1 from "select * from t1 where c1=10";
|
||||||
|
---- switch to connection con1 ----
|
||||||
|
prepare stmt3 from "select * from t1 where c1=10";
|
||||||
|
---- switch to connection default ----
|
||||||
|
set global query_cache_size=100000;
|
||||||
|
show status like 'Qcache_hits';
|
||||||
|
Variable_name Value
|
||||||
|
Qcache_hits 17
|
||||||
|
execute stmt1;
|
||||||
|
c1
|
||||||
|
10
|
||||||
|
show status like 'Qcache_hits';
|
||||||
|
Variable_name Value
|
||||||
|
Qcache_hits 17
|
||||||
|
execute stmt1;
|
||||||
|
c1
|
||||||
|
10
|
||||||
|
show status like 'Qcache_hits';
|
||||||
|
Variable_name Value
|
||||||
|
Qcache_hits 17
|
||||||
|
execute stmt1;
|
||||||
|
c1
|
||||||
|
10
|
||||||
|
show status like 'Qcache_hits';
|
||||||
|
Variable_name Value
|
||||||
|
Qcache_hits 17
|
||||||
|
---- switch to connection con1 ----
|
||||||
|
show status like 'Qcache_hits';
|
||||||
|
Variable_name Value
|
||||||
|
Qcache_hits 17
|
||||||
|
execute stmt3;
|
||||||
|
c1
|
||||||
|
10
|
||||||
|
show status like 'Qcache_hits';
|
||||||
|
Variable_name Value
|
||||||
|
Qcache_hits 17
|
||||||
|
execute stmt3;
|
||||||
|
c1
|
||||||
|
10
|
||||||
|
show status like 'Qcache_hits';
|
||||||
|
Variable_name Value
|
||||||
|
Qcache_hits 17
|
||||||
|
execute stmt3;
|
||||||
|
c1
|
||||||
|
10
|
||||||
|
show status like 'Qcache_hits';
|
||||||
|
Variable_name Value
|
||||||
|
Qcache_hits 17
|
||||||
|
---- switch to connection default ----
|
||||||
|
set global query_cache_size=0;
|
||||||
|
prepare stmt1 from "select * from t1 where c1=?";
|
||||||
|
set global query_cache_size=100000;
|
||||||
|
show status like 'Qcache_hits';
|
||||||
|
Variable_name Value
|
||||||
|
Qcache_hits 17
|
||||||
|
set @a=1;
|
||||||
|
execute stmt1 using @a;
|
||||||
|
c1
|
||||||
|
1
|
||||||
|
show status like 'Qcache_hits';
|
||||||
|
Variable_name Value
|
||||||
|
Qcache_hits 17
|
||||||
|
set @a=100;
|
||||||
|
execute stmt1 using @a;
|
||||||
|
c1
|
||||||
|
100
|
||||||
|
show status like 'Qcache_hits';
|
||||||
|
Variable_name Value
|
||||||
|
Qcache_hits 17
|
||||||
|
set @a=10;
|
||||||
|
execute stmt1 using @a;
|
||||||
|
c1
|
||||||
|
10
|
||||||
|
show status like 'Qcache_hits';
|
||||||
|
Variable_name Value
|
||||||
|
Qcache_hits 17
|
||||||
|
drop table t1;
|
||||||
|
---- disconnect connection con1 ----
|
||||||
|
set @@global.query_cache_size=@initial_query_cache_size;
|
||||||
|
flush status;
|
@ -1,204 +0,0 @@
|
|||||||
set global query_cache_size=100000;
|
|
||||||
flush status;
|
|
||||||
create table t1(c1 int);
|
|
||||||
insert into t1 values(1),(10),(100);
|
|
||||||
prepare stmt1 from "select * from t1 where c1=10";
|
|
||||||
show status like 'Qcache_hits';
|
|
||||||
Variable_name Value
|
|
||||||
Qcache_hits 0
|
|
||||||
execute stmt1;
|
|
||||||
c1
|
|
||||||
10
|
|
||||||
show status like 'Qcache_hits';
|
|
||||||
Variable_name Value
|
|
||||||
Qcache_hits 0
|
|
||||||
execute stmt1;
|
|
||||||
c1
|
|
||||||
10
|
|
||||||
show status like 'Qcache_hits';
|
|
||||||
Variable_name Value
|
|
||||||
Qcache_hits 1
|
|
||||||
execute stmt1;
|
|
||||||
c1
|
|
||||||
10
|
|
||||||
show status like 'Qcache_hits';
|
|
||||||
Variable_name Value
|
|
||||||
Qcache_hits 2
|
|
||||||
prepare stmt2 from "select * from t1 where c1=10";
|
|
||||||
execute stmt2;
|
|
||||||
c1
|
|
||||||
10
|
|
||||||
show status like 'Qcache_hits';
|
|
||||||
Variable_name Value
|
|
||||||
Qcache_hits 3
|
|
||||||
execute stmt2;
|
|
||||||
c1
|
|
||||||
10
|
|
||||||
show status like 'Qcache_hits';
|
|
||||||
Variable_name Value
|
|
||||||
Qcache_hits 4
|
|
||||||
execute stmt2;
|
|
||||||
c1
|
|
||||||
10
|
|
||||||
show status like 'Qcache_hits';
|
|
||||||
Variable_name Value
|
|
||||||
Qcache_hits 5
|
|
||||||
prepare stmt3 from "select * from t1 where c1=10";
|
|
||||||
execute stmt3;
|
|
||||||
c1
|
|
||||||
10
|
|
||||||
show status like 'Qcache_hits';
|
|
||||||
Variable_name Value
|
|
||||||
Qcache_hits 6
|
|
||||||
execute stmt3;
|
|
||||||
c1
|
|
||||||
10
|
|
||||||
show status like 'Qcache_hits';
|
|
||||||
Variable_name Value
|
|
||||||
Qcache_hits 7
|
|
||||||
execute stmt3;
|
|
||||||
c1
|
|
||||||
10
|
|
||||||
show status like 'Qcache_hits';
|
|
||||||
Variable_name Value
|
|
||||||
Qcache_hits 8
|
|
||||||
select * from t1 where c1=10;
|
|
||||||
c1
|
|
||||||
10
|
|
||||||
show status like 'Qcache_hits';
|
|
||||||
Variable_name Value
|
|
||||||
Qcache_hits 9
|
|
||||||
flush tables;
|
|
||||||
execute stmt1;
|
|
||||||
c1
|
|
||||||
10
|
|
||||||
show status like 'Qcache_hits';
|
|
||||||
Variable_name Value
|
|
||||||
Qcache_hits 9
|
|
||||||
select * from t1 where c1=10;
|
|
||||||
c1
|
|
||||||
10
|
|
||||||
show status like 'Qcache_hits';
|
|
||||||
Variable_name Value
|
|
||||||
Qcache_hits 10
|
|
||||||
prepare stmt1 from "select * from t1 where c1=?";
|
|
||||||
show status like 'Qcache_hits';
|
|
||||||
Variable_name Value
|
|
||||||
Qcache_hits 10
|
|
||||||
set @a=1;
|
|
||||||
execute stmt1 using @a;
|
|
||||||
c1
|
|
||||||
1
|
|
||||||
show status like 'Qcache_hits';
|
|
||||||
Variable_name Value
|
|
||||||
Qcache_hits 10
|
|
||||||
set @a=100;
|
|
||||||
execute stmt1 using @a;
|
|
||||||
c1
|
|
||||||
100
|
|
||||||
show status like 'Qcache_hits';
|
|
||||||
Variable_name Value
|
|
||||||
Qcache_hits 10
|
|
||||||
set @a=10;
|
|
||||||
execute stmt1 using @a;
|
|
||||||
c1
|
|
||||||
10
|
|
||||||
show status like 'Qcache_hits';
|
|
||||||
Variable_name Value
|
|
||||||
Qcache_hits 10
|
|
||||||
prepare stmt1 from "select * from t1 where c1=10";
|
|
||||||
set global query_cache_size=0;
|
|
||||||
show status like 'Qcache_hits';
|
|
||||||
Variable_name Value
|
|
||||||
Qcache_hits 10
|
|
||||||
execute stmt1;
|
|
||||||
c1
|
|
||||||
10
|
|
||||||
show status like 'Qcache_hits';
|
|
||||||
Variable_name Value
|
|
||||||
Qcache_hits 10
|
|
||||||
execute stmt1;
|
|
||||||
c1
|
|
||||||
10
|
|
||||||
show status like 'Qcache_hits';
|
|
||||||
Variable_name Value
|
|
||||||
Qcache_hits 10
|
|
||||||
execute stmt1;
|
|
||||||
c1
|
|
||||||
10
|
|
||||||
show status like 'Qcache_hits';
|
|
||||||
Variable_name Value
|
|
||||||
Qcache_hits 10
|
|
||||||
set global query_cache_size=100000;
|
|
||||||
execute stmt1;
|
|
||||||
c1
|
|
||||||
10
|
|
||||||
show status like 'Qcache_hits';
|
|
||||||
Variable_name Value
|
|
||||||
Qcache_hits 10
|
|
||||||
execute stmt1;
|
|
||||||
c1
|
|
||||||
10
|
|
||||||
show status like 'Qcache_hits';
|
|
||||||
Variable_name Value
|
|
||||||
Qcache_hits 11
|
|
||||||
execute stmt1;
|
|
||||||
c1
|
|
||||||
10
|
|
||||||
show status like 'Qcache_hits';
|
|
||||||
Variable_name Value
|
|
||||||
Qcache_hits 12
|
|
||||||
set global query_cache_size=0;
|
|
||||||
prepare stmt1 from "select * from t1 where c1=10";
|
|
||||||
set global query_cache_size=100000;
|
|
||||||
show status like 'Qcache_hits';
|
|
||||||
Variable_name Value
|
|
||||||
Qcache_hits 12
|
|
||||||
execute stmt1;
|
|
||||||
c1
|
|
||||||
10
|
|
||||||
show status like 'Qcache_hits';
|
|
||||||
Variable_name Value
|
|
||||||
Qcache_hits 12
|
|
||||||
execute stmt1;
|
|
||||||
c1
|
|
||||||
10
|
|
||||||
show status like 'Qcache_hits';
|
|
||||||
Variable_name Value
|
|
||||||
Qcache_hits 12
|
|
||||||
execute stmt1;
|
|
||||||
c1
|
|
||||||
10
|
|
||||||
show status like 'Qcache_hits';
|
|
||||||
Variable_name Value
|
|
||||||
Qcache_hits 12
|
|
||||||
set global query_cache_size=0;
|
|
||||||
prepare stmt1 from "select * from t1 where c1=?";
|
|
||||||
set global query_cache_size=100000;
|
|
||||||
show status like 'Qcache_hits';
|
|
||||||
Variable_name Value
|
|
||||||
Qcache_hits 12
|
|
||||||
set @a=1;
|
|
||||||
execute stmt1 using @a;
|
|
||||||
c1
|
|
||||||
1
|
|
||||||
show status like 'Qcache_hits';
|
|
||||||
Variable_name Value
|
|
||||||
Qcache_hits 12
|
|
||||||
set @a=100;
|
|
||||||
execute stmt1 using @a;
|
|
||||||
c1
|
|
||||||
100
|
|
||||||
show status like 'Qcache_hits';
|
|
||||||
Variable_name Value
|
|
||||||
Qcache_hits 12
|
|
||||||
set @a=10;
|
|
||||||
execute stmt1 using @a;
|
|
||||||
c1
|
|
||||||
10
|
|
||||||
show status like 'Qcache_hits';
|
|
||||||
Variable_name Value
|
|
||||||
Qcache_hits 12
|
|
||||||
drop table t1;
|
|
||||||
set global query_cache_size=0;
|
|
||||||
flush status;
|
|
@ -31,7 +31,7 @@ Master_Host 127.0.0.1
|
|||||||
Master_User root
|
Master_User root
|
||||||
Master_Port MASTER_PORT
|
Master_Port MASTER_PORT
|
||||||
Connect_Retry 1
|
Connect_Retry 1
|
||||||
Master_Log_File master-bin.000002
|
Master_Log_File #
|
||||||
Read_Master_Log_Pos #
|
Read_Master_Log_Pos #
|
||||||
Relay_Log_File #
|
Relay_Log_File #
|
||||||
Relay_Log_Pos #
|
Relay_Log_Pos #
|
||||||
@ -74,7 +74,7 @@ Master_Host 127.0.0.1
|
|||||||
Master_User root
|
Master_User root
|
||||||
Master_Port MASTER_PORT
|
Master_Port MASTER_PORT
|
||||||
Connect_Retry 1
|
Connect_Retry 1
|
||||||
Master_Log_File master-bin.000002
|
Master_Log_File #
|
||||||
Read_Master_Log_Pos #
|
Read_Master_Log_Pos #
|
||||||
Relay_Log_File #
|
Relay_Log_File #
|
||||||
Relay_Log_Pos #
|
Relay_Log_Pos #
|
||||||
@ -104,4 +104,3 @@ Master_SSL_Key
|
|||||||
Seconds_Behind_Master #
|
Seconds_Behind_Master #
|
||||||
Master_SSL_Verify_Server_Cert No
|
Master_SSL_Verify_Server_Cert No
|
||||||
DROP TABLE t1;
|
DROP TABLE t1;
|
||||||
DROP TABLE t1;
|
|
||||||
|
@ -86,3 +86,7 @@ ERROR 23000: Duplicate entry '2003-03-22' for key 'day'
|
|||||||
drop table t2;
|
drop table t2;
|
||||||
drop table t2;
|
drop table t2;
|
||||||
drop table t1;
|
drop table t1;
|
||||||
|
CREATE TABLE t1 (word CHAR(20) NOT NULL PRIMARY KEY) ENGINE=INNODB;
|
||||||
|
LOAD DATA INFILE "../std_data_ln/words.dat" INTO TABLE t1;
|
||||||
|
ERROR 23000: Duplicate entry 'Aarhus' for key 'PRIMARY'
|
||||||
|
DROP TABLE IF EXISTS t1;
|
||||||
|
@ -159,8 +159,8 @@ Replicate_Do_Table
|
|||||||
Replicate_Ignore_Table <Replicate_Ignore_Table>
|
Replicate_Ignore_Table <Replicate_Ignore_Table>
|
||||||
Replicate_Wild_Do_Table
|
Replicate_Wild_Do_Table
|
||||||
Replicate_Wild_Ignore_Table
|
Replicate_Wild_Ignore_Table
|
||||||
Last_Errno 1105
|
Last_Errno <Last_Errno>
|
||||||
Last_Error Unknown error
|
Last_Error <Last_Error>
|
||||||
Skip_Counter 0
|
Skip_Counter 0
|
||||||
Exec_Master_Log_Pos <Exec_Master_Log_Pos>
|
Exec_Master_Log_Pos <Exec_Master_Log_Pos>
|
||||||
Relay_Log_Space <Relay_Log_Space>
|
Relay_Log_Space <Relay_Log_Space>
|
||||||
|
@ -190,6 +190,75 @@ DELIMITER ;
|
|||||||
ROLLBACK /* added by mysqlbinlog */;
|
ROLLBACK /* added by mysqlbinlog */;
|
||||||
/*!50003 SET COMPLETION_TYPE=@OLD_COMPLETION_TYPE*/;
|
/*!50003 SET COMPLETION_TYPE=@OLD_COMPLETION_TYPE*/;
|
||||||
|
|
||||||
|
--- Test 4 Second Remote test --
|
||||||
|
DROP TABLE t1;
|
||||||
|
DROP TABLE t2;
|
||||||
|
DROP TABLE t3;
|
||||||
|
stop slave;
|
||||||
|
reset master;
|
||||||
|
reset slave;
|
||||||
|
start slave;
|
||||||
|
SELECT COUNT(*) from t1;
|
||||||
|
COUNT(*)
|
||||||
|
352
|
||||||
|
SELECT COUNT(*) from t2;
|
||||||
|
COUNT(*)
|
||||||
|
500
|
||||||
|
SELECT COUNT(*) from t3;
|
||||||
|
COUNT(*)
|
||||||
|
500
|
||||||
|
SELECT * FROM t1 ORDER BY word LIMIT 5;
|
||||||
|
word
|
||||||
|
Aarhus
|
||||||
|
Aarhus
|
||||||
|
Aarhus
|
||||||
|
Aarhus
|
||||||
|
Aarhus
|
||||||
|
SELECT * FROM t2 ORDER BY id LIMIT 5;
|
||||||
|
id
|
||||||
|
1
|
||||||
|
2
|
||||||
|
3
|
||||||
|
4
|
||||||
|
5
|
||||||
|
SELECT c1, c3, c4, c5 FROM t3 ORDER BY c1 LIMIT 5;
|
||||||
|
c1 c3 c4 c5
|
||||||
|
1 2006-02-22 00:00:00 Tested in Texas 2.2
|
||||||
|
2 2006-02-22 00:00:00 Tested in Texas 4.4
|
||||||
|
3 2006-02-22 00:00:00 Tested in Texas 6.6
|
||||||
|
4 2006-02-22 00:00:00 Tested in Texas 8.8
|
||||||
|
5 2006-02-22 00:00:00 Tested in Texas 11
|
||||||
|
SELECT COUNT(*) from t1;
|
||||||
|
COUNT(*)
|
||||||
|
352
|
||||||
|
SELECT COUNT(*) from t2;
|
||||||
|
COUNT(*)
|
||||||
|
500
|
||||||
|
SELECT COUNT(*) from t3;
|
||||||
|
COUNT(*)
|
||||||
|
500
|
||||||
|
SELECT * FROM t1 ORDER BY word LIMIT 5;
|
||||||
|
word
|
||||||
|
Aarhus
|
||||||
|
Aarhus
|
||||||
|
Aarhus
|
||||||
|
Aarhus
|
||||||
|
Aarhus
|
||||||
|
SELECT * FROM t2 ORDER BY id LIMIT 5;
|
||||||
|
id
|
||||||
|
1
|
||||||
|
2
|
||||||
|
3
|
||||||
|
4
|
||||||
|
5
|
||||||
|
SELECT c1, c3, c4, c5 FROM t3 ORDER BY c1 LIMIT 5;
|
||||||
|
c1 c3 c4 c5
|
||||||
|
1 2006-02-22 00:00:00 Tested in Texas 2.2
|
||||||
|
2 2006-02-22 00:00:00 Tested in Texas 4.4
|
||||||
|
3 2006-02-22 00:00:00 Tested in Texas 6.6
|
||||||
|
4 2006-02-22 00:00:00 Tested in Texas 8.8
|
||||||
|
5 2006-02-22 00:00:00 Tested in Texas 11
|
||||||
|
|
||||||
--- Test 5 LOAD DATA --
|
--- Test 5 LOAD DATA --
|
||||||
/*!40019 SET @@session.max_insert_delayed_threads=0*/;
|
/*!40019 SET @@session.max_insert_delayed_threads=0*/;
|
||||||
/*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/;
|
/*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/;
|
||||||
@ -273,4 +342,11 @@ HEX(f)
|
|||||||
835C
|
835C
|
||||||
|
|
||||||
--- Test cleanup --
|
--- Test cleanup --
|
||||||
|
DROP TABLE IF EXISTS t1;
|
||||||
|
CREATE TABLE t1 (a INT NOT NULL KEY, b INT);
|
||||||
|
INSERT INTO t1 VALUES(1,1);
|
||||||
|
SELECT * FROM t1;
|
||||||
|
a b
|
||||||
|
1 1
|
||||||
|
FLUSH LOGS;
|
||||||
DROP TABLE IF EXISTS t1, t2, t3, t04, t05, t4, t5;
|
DROP TABLE IF EXISTS t1, t2, t3, t04, t05, t4, t5;
|
||||||
|
@ -19,9 +19,41 @@ n
|
|||||||
2
|
2
|
||||||
3
|
3
|
||||||
4
|
4
|
||||||
show slave status;
|
SHOW SLAVE STATUS;;
|
||||||
Slave_IO_State Master_Host Master_User Master_Port Connect_Retry Master_Log_File Read_Master_Log_Pos Relay_Log_File Relay_Log_Pos Relay_Master_Log_File Slave_IO_Running Slave_SQL_Running Replicate_Do_DB Replicate_Ignore_DB Replicate_Do_Table Replicate_Ignore_Table Replicate_Wild_Do_Table Replicate_Wild_Ignore_Table Last_Errno Last_Error Skip_Counter Exec_Master_Log_Pos Relay_Log_Space Until_Condition Until_Log_File Until_Log_Pos Master_SSL_Allowed Master_SSL_CA_File Master_SSL_CA_Path Master_SSL_Cert Master_SSL_Cipher Master_SSL_Key Seconds_Behind_Master Master_SSL_Verify_Server_Cert
|
Slave_IO_State #
|
||||||
# 127.0.0.1 root MASTER_MYPORT 1 master-bin.000001 744 slave-relay-bin.000004 # master-bin.000001 # No 0 0 315 # Master master-bin.000001 311 No # No
|
Master_Host 127.0.0.1
|
||||||
|
Master_User root
|
||||||
|
Master_Port MASTER_MYPORT
|
||||||
|
Connect_Retry 1
|
||||||
|
Master_Log_File master-bin.000001
|
||||||
|
Read_Master_Log_Pos 744
|
||||||
|
Relay_Log_File slave-relay-bin.000004
|
||||||
|
Relay_Log_Pos #
|
||||||
|
Relay_Master_Log_File master-bin.000001
|
||||||
|
Slave_IO_Running #
|
||||||
|
Slave_SQL_Running No
|
||||||
|
Replicate_Do_DB
|
||||||
|
Replicate_Ignore_DB
|
||||||
|
Replicate_Do_Table
|
||||||
|
Replicate_Ignore_Table
|
||||||
|
Replicate_Wild_Do_Table
|
||||||
|
Replicate_Wild_Ignore_Table
|
||||||
|
Last_Errno 0
|
||||||
|
Last_Error
|
||||||
|
Skip_Counter 0
|
||||||
|
Exec_Master_Log_Pos 315
|
||||||
|
Relay_Log_Space #
|
||||||
|
Until_Condition Master
|
||||||
|
Until_Log_File master-bin.000001
|
||||||
|
Until_Log_Pos 311
|
||||||
|
Master_SSL_Allowed No
|
||||||
|
Master_SSL_CA_File
|
||||||
|
Master_SSL_CA_Path
|
||||||
|
Master_SSL_Cert
|
||||||
|
Master_SSL_Cipher
|
||||||
|
Master_SSL_Key
|
||||||
|
Seconds_Behind_Master #
|
||||||
|
Master_SSL_Verify_Server_Cert No
|
||||||
start slave until master_log_file='master-no-such-bin.000001', master_log_pos=291;
|
start slave until master_log_file='master-no-such-bin.000001', master_log_pos=291;
|
||||||
select * from t1;
|
select * from t1;
|
||||||
n
|
n
|
||||||
@ -29,23 +61,119 @@ n
|
|||||||
2
|
2
|
||||||
3
|
3
|
||||||
4
|
4
|
||||||
show slave status;
|
SHOW SLAVE STATUS;;
|
||||||
Slave_IO_State Master_Host Master_User Master_Port Connect_Retry Master_Log_File Read_Master_Log_Pos Relay_Log_File Relay_Log_Pos Relay_Master_Log_File Slave_IO_Running Slave_SQL_Running Replicate_Do_DB Replicate_Ignore_DB Replicate_Do_Table Replicate_Ignore_Table Replicate_Wild_Do_Table Replicate_Wild_Ignore_Table Last_Errno Last_Error Skip_Counter Exec_Master_Log_Pos Relay_Log_Space Until_Condition Until_Log_File Until_Log_Pos Master_SSL_Allowed Master_SSL_CA_File Master_SSL_CA_Path Master_SSL_Cert Master_SSL_Cipher Master_SSL_Key Seconds_Behind_Master Master_SSL_Verify_Server_Cert
|
Slave_IO_State #
|
||||||
# 127.0.0.1 root MASTER_MYPORT 1 master-bin.000001 744 slave-relay-bin.000004 # master-bin.000001 # No 0 0 315 # Master master-no-such-bin.000001 291 No # No
|
Master_Host 127.0.0.1
|
||||||
|
Master_User root
|
||||||
|
Master_Port MASTER_MYPORT
|
||||||
|
Connect_Retry 1
|
||||||
|
Master_Log_File master-bin.000001
|
||||||
|
Read_Master_Log_Pos 744
|
||||||
|
Relay_Log_File slave-relay-bin.000004
|
||||||
|
Relay_Log_Pos #
|
||||||
|
Relay_Master_Log_File master-bin.000001
|
||||||
|
Slave_IO_Running #
|
||||||
|
Slave_SQL_Running No
|
||||||
|
Replicate_Do_DB
|
||||||
|
Replicate_Ignore_DB
|
||||||
|
Replicate_Do_Table
|
||||||
|
Replicate_Ignore_Table
|
||||||
|
Replicate_Wild_Do_Table
|
||||||
|
Replicate_Wild_Ignore_Table
|
||||||
|
Last_Errno 0
|
||||||
|
Last_Error
|
||||||
|
Skip_Counter 0
|
||||||
|
Exec_Master_Log_Pos 315
|
||||||
|
Relay_Log_Space #
|
||||||
|
Until_Condition Master
|
||||||
|
Until_Log_File master-no-such-bin.000001
|
||||||
|
Until_Log_Pos 291
|
||||||
|
Master_SSL_Allowed No
|
||||||
|
Master_SSL_CA_File
|
||||||
|
Master_SSL_CA_Path
|
||||||
|
Master_SSL_Cert
|
||||||
|
Master_SSL_Cipher
|
||||||
|
Master_SSL_Key
|
||||||
|
Seconds_Behind_Master #
|
||||||
|
Master_SSL_Verify_Server_Cert No
|
||||||
start slave until relay_log_file='slave-relay-bin.000004', relay_log_pos=728;
|
start slave until relay_log_file='slave-relay-bin.000004', relay_log_pos=728;
|
||||||
select * from t2;
|
select * from t2;
|
||||||
n
|
n
|
||||||
1
|
1
|
||||||
2
|
2
|
||||||
show slave status;
|
SHOW SLAVE STATUS;;
|
||||||
Slave_IO_State Master_Host Master_User Master_Port Connect_Retry Master_Log_File Read_Master_Log_Pos Relay_Log_File Relay_Log_Pos Relay_Master_Log_File Slave_IO_Running Slave_SQL_Running Replicate_Do_DB Replicate_Ignore_DB Replicate_Do_Table Replicate_Ignore_Table Replicate_Wild_Do_Table Replicate_Wild_Ignore_Table Last_Errno Last_Error Skip_Counter Exec_Master_Log_Pos Relay_Log_Space Until_Condition Until_Log_File Until_Log_Pos Master_SSL_Allowed Master_SSL_CA_File Master_SSL_CA_Path Master_SSL_Cert Master_SSL_Cipher Master_SSL_Key Seconds_Behind_Master Master_SSL_Verify_Server_Cert
|
Slave_IO_State #
|
||||||
# 127.0.0.1 root MASTER_MYPORT 1 master-bin.000001 744 slave-relay-bin.000004 # master-bin.000001 # No 0 0 590 # Relay slave-relay-bin.000004 728 No # No
|
Master_Host 127.0.0.1
|
||||||
|
Master_User root
|
||||||
|
Master_Port MASTER_MYPORT
|
||||||
|
Connect_Retry 1
|
||||||
|
Master_Log_File master-bin.000001
|
||||||
|
Read_Master_Log_Pos 744
|
||||||
|
Relay_Log_File slave-relay-bin.000004
|
||||||
|
Relay_Log_Pos #
|
||||||
|
Relay_Master_Log_File master-bin.000001
|
||||||
|
Slave_IO_Running #
|
||||||
|
Slave_SQL_Running No
|
||||||
|
Replicate_Do_DB
|
||||||
|
Replicate_Ignore_DB
|
||||||
|
Replicate_Do_Table
|
||||||
|
Replicate_Ignore_Table
|
||||||
|
Replicate_Wild_Do_Table
|
||||||
|
Replicate_Wild_Ignore_Table
|
||||||
|
Last_Errno 0
|
||||||
|
Last_Error
|
||||||
|
Skip_Counter 0
|
||||||
|
Exec_Master_Log_Pos 590
|
||||||
|
Relay_Log_Space #
|
||||||
|
Until_Condition Relay
|
||||||
|
Until_Log_File slave-relay-bin.000004
|
||||||
|
Until_Log_Pos 728
|
||||||
|
Master_SSL_Allowed No
|
||||||
|
Master_SSL_CA_File
|
||||||
|
Master_SSL_CA_Path
|
||||||
|
Master_SSL_Cert
|
||||||
|
Master_SSL_Cipher
|
||||||
|
Master_SSL_Key
|
||||||
|
Seconds_Behind_Master #
|
||||||
|
Master_SSL_Verify_Server_Cert No
|
||||||
start slave;
|
start slave;
|
||||||
stop slave;
|
stop slave;
|
||||||
start slave until master_log_file='master-bin.000001', master_log_pos=740;
|
start slave until master_log_file='master-bin.000001', master_log_pos=740;
|
||||||
show slave status;
|
SHOW SLAVE STATUS;;
|
||||||
Slave_IO_State Master_Host Master_User Master_Port Connect_Retry Master_Log_File Read_Master_Log_Pos Relay_Log_File Relay_Log_Pos Relay_Master_Log_File Slave_IO_Running Slave_SQL_Running Replicate_Do_DB Replicate_Ignore_DB Replicate_Do_Table Replicate_Ignore_Table Replicate_Wild_Do_Table Replicate_Wild_Ignore_Table Last_Errno Last_Error Skip_Counter Exec_Master_Log_Pos Relay_Log_Space Until_Condition Until_Log_File Until_Log_Pos Master_SSL_Allowed Master_SSL_CA_File Master_SSL_CA_Path Master_SSL_Cert Master_SSL_Cipher Master_SSL_Key Seconds_Behind_Master Master_SSL_Verify_Server_Cert
|
Slave_IO_State #
|
||||||
# 127.0.0.1 root MASTER_MYPORT 1 master-bin.000001 744 slave-relay-bin.000004 # master-bin.000001 Yes No 0 0 744 # Master master-bin.000001 740 No # No
|
Master_Host 127.0.0.1
|
||||||
|
Master_User root
|
||||||
|
Master_Port MASTER_MYPORT
|
||||||
|
Connect_Retry 1
|
||||||
|
Master_Log_File master-bin.000001
|
||||||
|
Read_Master_Log_Pos 744
|
||||||
|
Relay_Log_File slave-relay-bin.000004
|
||||||
|
Relay_Log_Pos #
|
||||||
|
Relay_Master_Log_File master-bin.000001
|
||||||
|
Slave_IO_Running Yes
|
||||||
|
Slave_SQL_Running No
|
||||||
|
Replicate_Do_DB
|
||||||
|
Replicate_Ignore_DB
|
||||||
|
Replicate_Do_Table
|
||||||
|
Replicate_Ignore_Table
|
||||||
|
Replicate_Wild_Do_Table
|
||||||
|
Replicate_Wild_Ignore_Table
|
||||||
|
Last_Errno 0
|
||||||
|
Last_Error
|
||||||
|
Skip_Counter 0
|
||||||
|
Exec_Master_Log_Pos 744
|
||||||
|
Relay_Log_Space #
|
||||||
|
Until_Condition Master
|
||||||
|
Until_Log_File master-bin.000001
|
||||||
|
Until_Log_Pos 740
|
||||||
|
Master_SSL_Allowed No
|
||||||
|
Master_SSL_CA_File
|
||||||
|
Master_SSL_CA_Path
|
||||||
|
Master_SSL_Cert
|
||||||
|
Master_SSL_Cipher
|
||||||
|
Master_SSL_Key
|
||||||
|
Seconds_Behind_Master #
|
||||||
|
Master_SSL_Verify_Server_Cert No
|
||||||
start slave until master_log_file='master-bin', master_log_pos=561;
|
start slave until master_log_file='master-bin', master_log_pos=561;
|
||||||
ERROR HY000: Incorrect parameter or combination of parameters for START SLAVE UNTIL
|
ERROR HY000: Incorrect parameter or combination of parameters for START SLAVE UNTIL
|
||||||
start slave until master_log_file='master-bin.000001', master_log_pos=561, relay_log_pos=12;
|
start slave until master_log_file='master-bin.000001', master_log_pos=561, relay_log_pos=12;
|
||||||
|
@ -1030,7 +1030,7 @@ select bug12329();
|
|||||||
bug12329()
|
bug12329()
|
||||||
101
|
101
|
||||||
execute stmt1;
|
execute stmt1;
|
||||||
ERROR HY000: Table 't2' was not locked with LOCK TABLES
|
ERROR 42S02: Table 'test.t2' doesn't exist
|
||||||
deallocate prepare stmt1;
|
deallocate prepare stmt1;
|
||||||
drop function bug12329;
|
drop function bug12329;
|
||||||
drop table t1, t2;
|
drop table t1, t2;
|
||||||
@ -1152,12 +1152,12 @@ create trigger t1_ai after insert on t1 for each row insert into t2 values (new.
|
|||||||
create view v1 as select * from t1;
|
create view v1 as select * from t1;
|
||||||
drop table t2;
|
drop table t2;
|
||||||
insert into v1 values (1);
|
insert into v1 values (1);
|
||||||
ERROR HY000: Table 't2' was not locked with LOCK TABLES
|
ERROR 42S02: Table 'test.t2' doesn't exist
|
||||||
drop trigger t1_ai;
|
drop trigger t1_ai;
|
||||||
create function bug11555_1() returns int return (select max(i) from t2);
|
create function bug11555_1() returns int return (select max(i) from t2);
|
||||||
create trigger t1_ai after insert on t1 for each row set @a:=bug11555_1();
|
create trigger t1_ai after insert on t1 for each row set @a:=bug11555_1();
|
||||||
insert into v1 values (2);
|
insert into v1 values (2);
|
||||||
ERROR HY000: Table 't2' was not locked with LOCK TABLES
|
ERROR 42S02: Table 'test.t2' doesn't exist
|
||||||
drop function bug11555_1;
|
drop function bug11555_1;
|
||||||
drop table t1;
|
drop table t1;
|
||||||
drop view v1;
|
drop view v1;
|
||||||
|
@ -254,4 +254,17 @@ execute stmt;
|
|||||||
deallocate prepare stmt;
|
deallocate prepare stmt;
|
||||||
drop function bug19634;
|
drop function bug19634;
|
||||||
drop table t1, t2, t3;
|
drop table t1, t2, t3;
|
||||||
|
drop table if exists bug_27907_logs;
|
||||||
|
drop table if exists bug_27907_t1;
|
||||||
|
create table bug_27907_logs (a int);
|
||||||
|
create table bug_27907_t1 (a int);
|
||||||
|
create trigger bug_27907_t1_ai after insert on bug_27907_t1
|
||||||
|
for each row
|
||||||
|
begin
|
||||||
|
insert into bug_27907_logs (a) values (1);
|
||||||
|
end|
|
||||||
|
drop table bug_27907_logs;
|
||||||
|
insert into bug_27907_t1(a) values (1);
|
||||||
|
ERROR 42S02: Table 'test.bug_27907_logs' doesn't exist
|
||||||
|
drop table bug_27907_t1;
|
||||||
End of 5.0 tests
|
End of 5.0 tests
|
||||||
|
@ -1202,3 +1202,29 @@ after substr str_remainder
|
|||||||
after substr b,c
|
after substr b,c
|
||||||
DROP PROCEDURE bug27415_text_test|
|
DROP PROCEDURE bug27415_text_test|
|
||||||
DROP PROCEDURE bug27415_text_test2|
|
DROP PROCEDURE bug27415_text_test2|
|
||||||
|
drop function if exists f1;
|
||||||
|
drop table if exists t1;
|
||||||
|
create function f1() returns int
|
||||||
|
begin
|
||||||
|
if @a=1 then set @b='abc';
|
||||||
|
else set @b=1;
|
||||||
|
end if;
|
||||||
|
set @a=1;
|
||||||
|
return 0;
|
||||||
|
end|
|
||||||
|
create table t1 (a int)|
|
||||||
|
insert into t1 (a) values (1), (2)|
|
||||||
|
set @b=1|
|
||||||
|
set @a=0|
|
||||||
|
select f1(), @b from t1|
|
||||||
|
f1() @b
|
||||||
|
0 1
|
||||||
|
0 0
|
||||||
|
set @b:='test'|
|
||||||
|
set @a=0|
|
||||||
|
select f1(), @b from t1|
|
||||||
|
f1() @b
|
||||||
|
0 1
|
||||||
|
0 abc
|
||||||
|
drop function f1;
|
||||||
|
drop table t1;
|
||||||
|
@ -5617,6 +5617,23 @@ Called B
|
|||||||
Called B
|
Called B
|
||||||
drop procedure proc_21462_a|
|
drop procedure proc_21462_a|
|
||||||
drop procedure proc_21462_b|
|
drop procedure proc_21462_b|
|
||||||
|
drop table if exists t3|
|
||||||
|
drop procedure if exists proc_bug19733|
|
||||||
|
create table t3 (s1 int)|
|
||||||
|
create procedure proc_bug19733()
|
||||||
|
begin
|
||||||
|
declare v int default 0;
|
||||||
|
while v < 100 do
|
||||||
|
create index i on t3 (s1);
|
||||||
|
drop index i on t3;
|
||||||
|
set v = v + 1;
|
||||||
|
end while;
|
||||||
|
end|
|
||||||
|
call proc_bug19733()|
|
||||||
|
call proc_bug19733()|
|
||||||
|
call proc_bug19733()|
|
||||||
|
drop procedure proc_bug19733|
|
||||||
|
drop table t3|
|
||||||
DROP PROCEDURE IF EXISTS p1|
|
DROP PROCEDURE IF EXISTS p1|
|
||||||
DROP VIEW IF EXISTS v1, v2|
|
DROP VIEW IF EXISTS v1, v2|
|
||||||
DROP TABLE IF EXISTS t3, t4|
|
DROP TABLE IF EXISTS t3, t4|
|
||||||
@ -6110,6 +6127,8 @@ select bug20777(9223372036854775810) as '9223372036854775810 2**63+2';
|
|||||||
select bug20777(-9223372036854775808) as 'lower bounds signed bigint';
|
select bug20777(-9223372036854775808) as 'lower bounds signed bigint';
|
||||||
lower bounds signed bigint
|
lower bounds signed bigint
|
||||||
0
|
0
|
||||||
|
Warnings:
|
||||||
|
Warning 1264 Out of range value for column 'f1' at row 1
|
||||||
select bug20777(9223372036854775807) as 'upper bounds signed bigint';
|
select bug20777(9223372036854775807) as 'upper bounds signed bigint';
|
||||||
upper bounds signed bigint
|
upper bounds signed bigint
|
||||||
9223372036854775807
|
9223372036854775807
|
||||||
@ -6122,9 +6141,13 @@ upper bounds unsigned bigint
|
|||||||
select bug20777(18446744073709551616) as 'upper bounds unsigned bigint + 1';
|
select bug20777(18446744073709551616) as 'upper bounds unsigned bigint + 1';
|
||||||
upper bounds unsigned bigint + 1
|
upper bounds unsigned bigint + 1
|
||||||
18446744073709551615
|
18446744073709551615
|
||||||
|
Warnings:
|
||||||
|
Warning 1264 Out of range value for column 'f1' at row 1
|
||||||
select bug20777(-1) as 'lower bounds unsigned bigint - 1';
|
select bug20777(-1) as 'lower bounds unsigned bigint - 1';
|
||||||
lower bounds unsigned bigint - 1
|
lower bounds unsigned bigint - 1
|
||||||
0
|
0
|
||||||
|
Warnings:
|
||||||
|
Warning 1264 Out of range value for column 'f1' at row 1
|
||||||
create table examplebug20777 as select
|
create table examplebug20777 as select
|
||||||
0 as 'i',
|
0 as 'i',
|
||||||
bug20777(9223372036854775806) as '2**63-2',
|
bug20777(9223372036854775806) as '2**63-2',
|
||||||
@ -6136,7 +6159,12 @@ bug20777(18446744073709551615) as '2**64-1',
|
|||||||
bug20777(18446744073709551616) as '2**64',
|
bug20777(18446744073709551616) as '2**64',
|
||||||
bug20777(0) as '0',
|
bug20777(0) as '0',
|
||||||
bug20777(-1) as '-1';
|
bug20777(-1) as '-1';
|
||||||
|
Warnings:
|
||||||
|
Warning 1264 Out of range value for column 'f1' at row 1
|
||||||
|
Warning 1264 Out of range value for column 'f1' at row 1
|
||||||
insert into examplebug20777 values (1, 9223372036854775806, 9223372036854775807, 223372036854775808, 9223372036854775809, 18446744073709551614, 18446744073709551615, 8446744073709551616, 0, -1);
|
insert into examplebug20777 values (1, 9223372036854775806, 9223372036854775807, 223372036854775808, 9223372036854775809, 18446744073709551614, 18446744073709551615, 8446744073709551616, 0, -1);
|
||||||
|
Warnings:
|
||||||
|
Warning 1264 Out of range value for column '-1' at row 1
|
||||||
show create table examplebug20777;
|
show create table examplebug20777;
|
||||||
Table Create Table
|
Table Create Table
|
||||||
examplebug20777 CREATE TABLE `examplebug20777` (
|
examplebug20777 CREATE TABLE `examplebug20777` (
|
||||||
|
@ -820,9 +820,9 @@ call p1();
|
|||||||
drop trigger t1_bi;
|
drop trigger t1_bi;
|
||||||
create trigger t1_bi after insert on t1 for each row insert into t3 values (new.id);
|
create trigger t1_bi after insert on t1 for each row insert into t3 values (new.id);
|
||||||
execute stmt1;
|
execute stmt1;
|
||||||
ERROR HY000: Table 't3' was not locked with LOCK TABLES
|
ERROR 42S02: Table 'test.t3' doesn't exist
|
||||||
call p1();
|
call p1();
|
||||||
ERROR HY000: Table 't3' was not locked with LOCK TABLES
|
ERROR 42S02: Table 'test.t3' doesn't exist
|
||||||
deallocate prepare stmt1;
|
deallocate prepare stmt1;
|
||||||
drop procedure p1;
|
drop procedure p1;
|
||||||
drop table t1, t2, t3;
|
drop table t1, t2, t3;
|
||||||
|
@ -110,15 +110,24 @@ select 1 from t1 where cast('2000-01-01 12:01:01' as datetime) between start_dat
|
|||||||
1
|
1
|
||||||
1
|
1
|
||||||
drop table t1;
|
drop table t1;
|
||||||
select @d:=1111, year(@d), month(@d), day(@d), cast(@d as date);
|
select @d:=1111;
|
||||||
@d:=1111 year(@d) month(@d) day(@d) cast(@d as date)
|
@d:=1111
|
||||||
1111 2000 11 11 2000-11-11
|
1111
|
||||||
select @d:=011111, year(@d), month(@d), day(@d), cast(@d as date);
|
select year(@d), month(@d), day(@d), cast(@d as date);
|
||||||
@d:=011111 year(@d) month(@d) day(@d) cast(@d as date)
|
year(@d) month(@d) day(@d) cast(@d as date)
|
||||||
11111 2001 11 11 2001-11-11
|
2000 11 11 2000-11-11
|
||||||
select @d:=1311, year(@d), month(@d), day(@d), cast(@d as date);
|
select @d:=011111;
|
||||||
@d:=1311 year(@d) month(@d) day(@d) cast(@d as date)
|
@d:=011111
|
||||||
1311 NULL NULL NULL NULL
|
11111
|
||||||
|
select year(@d), month(@d), day(@d), cast(@d as date);
|
||||||
|
year(@d) month(@d) day(@d) cast(@d as date)
|
||||||
|
2001 11 11 2001-11-11
|
||||||
|
select @d:=1311;
|
||||||
|
@d:=1311
|
||||||
|
1311
|
||||||
|
select year(@d), month(@d), day(@d), cast(@d as date);
|
||||||
|
year(@d) month(@d) day(@d) cast(@d as date)
|
||||||
|
NULL NULL NULL NULL
|
||||||
Warnings:
|
Warnings:
|
||||||
Warning 1292 Incorrect datetime value: '1311'
|
Warning 1292 Incorrect datetime value: '1311'
|
||||||
Warning 1292 Incorrect datetime value: '1311'
|
Warning 1292 Incorrect datetime value: '1311'
|
||||||
|
@ -91,7 +91,7 @@ NULL test test
|
|||||||
set @g=1;
|
set @g=1;
|
||||||
select @g,(@g:=c),@g from t1;
|
select @g,(@g:=c),@g from t1;
|
||||||
@g (@g:=c) @g
|
@g (@g:=c) @g
|
||||||
1 test test
|
1 test 0
|
||||||
select @c, @d, @e, @f;
|
select @c, @d, @e, @f;
|
||||||
@c @d @e @f
|
@c @d @e @f
|
||||||
1 1 2 test
|
1 1 2 test
|
||||||
|
@ -547,6 +547,13 @@ UpdateXML(@xml, '/a/b/@bb2', '')
|
|||||||
select UpdateXML(@xml, '/a/b/@bb2', 'bb3="bb3"');
|
select UpdateXML(@xml, '/a/b/@bb2', 'bb3="bb3"');
|
||||||
UpdateXML(@xml, '/a/b/@bb2', 'bb3="bb3"')
|
UpdateXML(@xml, '/a/b/@bb2', 'bb3="bb3"')
|
||||||
<a aa1="aa1" aa2="aa2"><b bb1="bb1" bb3="bb3">bb</b></a>
|
<a aa1="aa1" aa2="aa2"><b bb1="bb1" bb3="bb3">bb</b></a>
|
||||||
|
select updatexml('<div><div><span>1</span><span>2</span></div></div>',
|
||||||
|
'/','<tr><td>1</td><td>2</td></tr>') as upd1;
|
||||||
|
upd1
|
||||||
|
<tr><td>1</td><td>2</td></tr>
|
||||||
|
select updatexml('', '/', '') as upd2;
|
||||||
|
upd2
|
||||||
|
|
||||||
SET @xml= '<order><clerk>lesser wombat</clerk></order>';
|
SET @xml= '<order><clerk>lesser wombat</clerk></order>';
|
||||||
select extractvalue(@xml,'order/clerk');
|
select extractvalue(@xml,'order/clerk');
|
||||||
extractvalue(@xml,'order/clerk')
|
extractvalue(@xml,'order/clerk')
|
||||||
@ -884,3 +891,124 @@ test
|
|||||||
select ExtractValue('<a><self>test</self></a>', '/a/self');
|
select ExtractValue('<a><self>test</self></a>', '/a/self');
|
||||||
ExtractValue('<a><self>test</self></a>', '/a/self')
|
ExtractValue('<a><self>test</self></a>', '/a/self')
|
||||||
test
|
test
|
||||||
|
set @i=1;
|
||||||
|
select ExtractValue('<a><b>b1</b><b>b2</b></a>','/a/b[$@i]');
|
||||||
|
ExtractValue('<a><b>b1</b><b>b2</b></a>','/a/b[$@i]')
|
||||||
|
b1
|
||||||
|
set @i=2;
|
||||||
|
select ExtractValue('<a><b>b1</b><b>b2</b></a>','/a/b[$@i]');
|
||||||
|
ExtractValue('<a><b>b1</b><b>b2</b></a>','/a/b[$@i]')
|
||||||
|
b2
|
||||||
|
set @i=NULL;
|
||||||
|
select ExtractValue('<a><b>b1</b><b>b2</b></a>','/a/b[$@i]');
|
||||||
|
ExtractValue('<a><b>b1</b><b>b2</b></a>','/a/b[$@i]')
|
||||||
|
|
||||||
|
CREATE PROCEDURE spxml(xml VARCHAR(128))
|
||||||
|
BEGIN
|
||||||
|
DECLARE c INT;
|
||||||
|
DECLARE i INT DEFAULT 1;
|
||||||
|
SET c= ExtractValue(xml,'count(/a/b)');
|
||||||
|
SET @i= c;
|
||||||
|
WHILE i <= c DO
|
||||||
|
BEGIN
|
||||||
|
SELECT i, @i, ExtractValue(xml,'/a/b[$i]'), ExtractValue(xml,'/a/b[$@i]');
|
||||||
|
SET i= i + 1;
|
||||||
|
SET @i= @i - 1;
|
||||||
|
END;
|
||||||
|
END WHILE;
|
||||||
|
END|
|
||||||
|
call spxml('<a><b>b1</b><b>b2</b><b>b3</b></a>');
|
||||||
|
i @i ExtractValue(xml,'/a/b[$i]') ExtractValue(xml,'/a/b[$@i]')
|
||||||
|
1 3 b1 b3
|
||||||
|
i @i ExtractValue(xml,'/a/b[$i]') ExtractValue(xml,'/a/b[$@i]')
|
||||||
|
2 2 b2 b2
|
||||||
|
i @i ExtractValue(xml,'/a/b[$i]') ExtractValue(xml,'/a/b[$@i]')
|
||||||
|
3 1 b3 b1
|
||||||
|
drop procedure spxml;
|
||||||
|
Multiple matches, but no index specification
|
||||||
|
SELECT ExtractValue('<a><b>b1</b><b>b2</b></a>','/a/b');
|
||||||
|
ExtractValue('<a><b>b1</b><b>b2</b></a>','/a/b')
|
||||||
|
b1 b2
|
||||||
|
No matches
|
||||||
|
SELECT ExtractValue('<a><b>b1</b><b>b2</b></a>','/a/c');
|
||||||
|
ExtractValue('<a><b>b1</b><b>b2</b></a>','/a/c')
|
||||||
|
|
||||||
|
Index out of range
|
||||||
|
SELECT ExtractValue('<a><b>b1</b><b>b2</b></a>','/a/b[-1]');
|
||||||
|
ExtractValue('<a><b>b1</b><b>b2</b></a>','/a/b[-1]')
|
||||||
|
|
||||||
|
SELECT ExtractValue('<a><b>b1</b><b>b2</b></a>','/a/b[10]');
|
||||||
|
ExtractValue('<a><b>b1</b><b>b2</b></a>','/a/b[10]')
|
||||||
|
|
||||||
|
With string-to-number conversion
|
||||||
|
SELECT ExtractValue('<a><b>b1</b><b>b2</b></a>','/a/b["1"]');
|
||||||
|
ExtractValue('<a><b>b1</b><b>b2</b></a>','/a/b["1"]')
|
||||||
|
b1
|
||||||
|
SELECT ExtractValue('<a><b>b1</b><b>b2</b></a>','/a/b["1 and string"]');
|
||||||
|
ExtractValue('<a><b>b1</b><b>b2</b></a>','/a/b["1 and string"]')
|
||||||
|
b1
|
||||||
|
Warnings:
|
||||||
|
Warning 1292 Truncated incorrect INTEGER value: '1 and string"]'
|
||||||
|
Warning 1292 Truncated incorrect INTEGER value: '1 and string"]'
|
||||||
|
SELECT ExtractValue('<a><b>b1</b><b>b2</b></a>','/a/b["string and 1"]');
|
||||||
|
ExtractValue('<a><b>b1</b><b>b2</b></a>','/a/b["string and 1"]')
|
||||||
|
|
||||||
|
Warnings:
|
||||||
|
Warning 1292 Truncated incorrect INTEGER value: 'string and 1"]'
|
||||||
|
Warning 1292 Truncated incorrect INTEGER value: 'string and 1"]'
|
||||||
|
SELECT ExtractValue('<a><b>b1</b><b>b2</b></a>','/a/b["string"]');
|
||||||
|
ExtractValue('<a><b>b1</b><b>b2</b></a>','/a/b["string"]')
|
||||||
|
|
||||||
|
Warnings:
|
||||||
|
Warning 1292 Truncated incorrect INTEGER value: 'string"]'
|
||||||
|
Warning 1292 Truncated incorrect INTEGER value: 'string"]'
|
||||||
|
String-to-number conversion from a user variable
|
||||||
|
SET @i='1';
|
||||||
|
SELECT ExtractValue('<a><b>b1</b><b>b2</b></a>','/a/b[$@i]');
|
||||||
|
ExtractValue('<a><b>b1</b><b>b2</b></a>','/a/b[$@i]')
|
||||||
|
b1
|
||||||
|
SET @i='1 and string';
|
||||||
|
SELECT ExtractValue('<a><b>b1</b><b>b2</b></a>','/a/b[$@i]');
|
||||||
|
ExtractValue('<a><b>b1</b><b>b2</b></a>','/a/b[$@i]')
|
||||||
|
b1
|
||||||
|
SET @i='string and 1';
|
||||||
|
SELECT ExtractValue('<a><b>b1</b><b>b2</b></a>','/a/b[$@i]');
|
||||||
|
ExtractValue('<a><b>b1</b><b>b2</b></a>','/a/b[$@i]')
|
||||||
|
|
||||||
|
SET @i='string';
|
||||||
|
SELECT ExtractValue('<a><b>b1</b><b>b2</b></a>','/a/b[$@i]');
|
||||||
|
ExtractValue('<a><b>b1</b><b>b2</b></a>','/a/b[$@i]')
|
||||||
|
|
||||||
|
String-to-number conversion with a CHAR SP variable
|
||||||
|
CREATE PROCEDURE spxml(xml VARCHAR(128), i CHAR(16))
|
||||||
|
BEGIN
|
||||||
|
SELECT ExtractValue(xml,'/a/b[$i]');
|
||||||
|
END|
|
||||||
|
CALL spxml('<a><b>b1</b><b>b2</b></a>', '1');
|
||||||
|
ExtractValue(xml,'/a/b[$i]')
|
||||||
|
b1
|
||||||
|
CALL spxml('<a><b>b1</b><b>b2</b></a>', '1 and string');
|
||||||
|
ExtractValue(xml,'/a/b[$i]')
|
||||||
|
b1
|
||||||
|
Warnings:
|
||||||
|
Warning 1292 Truncated incorrect INTEGER value: '1 and string '
|
||||||
|
Warning 1292 Truncated incorrect INTEGER value: '1 and string '
|
||||||
|
CALL spxml('<a><b>b1</b><b>b2</b></a>', 'string and 1');
|
||||||
|
ExtractValue(xml,'/a/b[$i]')
|
||||||
|
|
||||||
|
Warnings:
|
||||||
|
Warning 1292 Truncated incorrect INTEGER value: 'string and 1 '
|
||||||
|
Warning 1292 Truncated incorrect INTEGER value: 'string and 1 '
|
||||||
|
CALL spxml('<a><b>b1</b><b>b2</b></a>', 'string');
|
||||||
|
ExtractValue(xml,'/a/b[$i]')
|
||||||
|
|
||||||
|
Warnings:
|
||||||
|
Warning 1292 Truncated incorrect INTEGER value: 'string '
|
||||||
|
Warning 1292 Truncated incorrect INTEGER value: 'string '
|
||||||
|
DROP PROCEDURE spxml;
|
||||||
|
select UpdateXML('<a>a</a>',repeat('a b ',1000),'');
|
||||||
|
ERROR HY000: XPATH syntax error: 'b a b a b a b a b a b a b a b a '
|
||||||
|
select ExtractValue('<a>a</a>', '/a[@x=@y0123456789_0123456789_0123456789_0123456789]');
|
||||||
|
ERROR HY000: XPATH error: comparison of two nodesets is not supported: '=@y0123456789_0123456789_0123456'
|
||||||
|
select ExtractValue('<a>a</a>', '/a[@x=$y0123456789_0123456789_0123456789_0123456789]');
|
||||||
|
ERROR HY000: Unknown XPATH variable at: '$y0123456789_0123456789_01234567'
|
||||||
|
@ -1,7 +1,12 @@
|
|||||||
# In order to be more or less robust test for bug#25044 has to take
|
#
|
||||||
# significant time (e.g. about 9 seconds on my (Dmitri's) computer)
|
# Tests for various concurrency-related aspects of ALTER TABLE implemetation
|
||||||
# so we probably want execute it only in --big-test mode.
|
#
|
||||||
|
# This test takes rather long time so let us run it only in --big-test mode
|
||||||
--source include/big_test.inc
|
--source include/big_test.inc
|
||||||
|
# We are using some debug-only features in this test
|
||||||
|
--source include/have_debug.inc
|
||||||
|
# Also we are using SBR to check that statements are executed
|
||||||
|
# in proper order.
|
||||||
--source include/have_binlog_format_mixed_or_statement.inc
|
--source include/have_binlog_format_mixed_or_statement.inc
|
||||||
|
|
||||||
|
|
||||||
@ -22,27 +27,20 @@ create table t1 (n1 int, n2 int, n3 int,
|
|||||||
key (n3, n1, n2));
|
key (n3, n1, n2));
|
||||||
create table t2 (i int);
|
create table t2 (i int);
|
||||||
|
|
||||||
# Populating 't1' table with keys disabled, so ALTER TABLE .. ENABLE KEYS
|
# Starting from 5.1 we have runtime settable @@debug variable,
|
||||||
# will run for some time
|
# which can be used for introducing delays at certain points of
|
||||||
|
# statement execution, so we don't need many rows in 't1' to make
|
||||||
|
# this test repeatable.
|
||||||
alter table t1 disable keys;
|
alter table t1 disable keys;
|
||||||
--disable_query_log
|
insert into t1 values (RAND()*1000, RAND()*1000, RAND()*1000);
|
||||||
insert into t1 values (RAND()*1000,RAND()*1000,RAND()*1000);
|
|
||||||
let $1=19;
|
|
||||||
while ($1)
|
|
||||||
{
|
|
||||||
eval insert into t1 select RAND()*1000,RAND()*1000,RAND()*1000 from t1;
|
|
||||||
dec $1;
|
|
||||||
}
|
|
||||||
--enable_query_log
|
|
||||||
|
|
||||||
# Later we use binlog to check the order in which statements are
|
# Later we use binlog to check the order in which statements are
|
||||||
# executed so let us reset it first.
|
# executed so let us reset it first.
|
||||||
reset master;
|
reset master;
|
||||||
|
set session debug="+d,sleep_alter_enable_indexes";
|
||||||
--send alter table t1 enable keys;
|
--send alter table t1 enable keys;
|
||||||
connection addconroot;
|
connection addconroot;
|
||||||
let $show_type= PROCESSLIST;
|
--sleep 2
|
||||||
let $show_pattern= '%Repair by sorting%alter table t1 enable keys%';
|
|
||||||
--source include/wait_show_pattern.inc
|
|
||||||
# This statement should not be blocked by in-flight ALTER and therefore
|
# This statement should not be blocked by in-flight ALTER and therefore
|
||||||
# should be executed and written to binlog before ALTER TABLE ... ENABLE KEYS
|
# should be executed and written to binlog before ALTER TABLE ... ENABLE KEYS
|
||||||
# finishes.
|
# finishes.
|
||||||
@ -51,12 +49,68 @@ insert into t2 values (1);
|
|||||||
insert into t1 values (1, 1, 1);
|
insert into t1 values (1, 1, 1);
|
||||||
connection default;
|
connection default;
|
||||||
--reap
|
--reap
|
||||||
|
set session debug="-d,sleep_alter_enable_indexes";
|
||||||
# Check that statements were executed/binlogged in correct order.
|
# Check that statements were executed/binlogged in correct order.
|
||||||
--replace_column 2 # 5 #
|
--replace_column 2 # 5 #
|
||||||
show binlog events in 'master-bin.000001' from 102;
|
show binlog events in 'master-bin.000001' from 106;
|
||||||
|
|
||||||
# Clean up
|
# Clean up
|
||||||
drop tables t1, t2;
|
drop tables t1, t2;
|
||||||
|
|
||||||
|
|
||||||
--echo End of 5.0 tests
|
--echo End of 5.0 tests
|
||||||
|
|
||||||
|
#
|
||||||
|
# Additional coverage for the main ALTER TABLE case
|
||||||
|
#
|
||||||
|
# We should be sure that table being altered is properly
|
||||||
|
# locked during statement execution and in particular that
|
||||||
|
# no DDL or DML statement can sneak in and get access to
|
||||||
|
# the table when real operation has already taken place
|
||||||
|
# but this fact has not been noted in binary log yet.
|
||||||
|
--disable_warnings
|
||||||
|
drop table if exists t1, t2, t3;
|
||||||
|
--enable_warnings
|
||||||
|
create table t1 (i int);
|
||||||
|
# We are going to check that statements are logged in correct order
|
||||||
|
reset master;
|
||||||
|
set session debug="+d,sleep_alter_before_main_binlog";
|
||||||
|
--send alter table t1 change i c char(10) default 'Test1';
|
||||||
|
connection addconroot;
|
||||||
|
--sleep 2
|
||||||
|
insert into t1 values ();
|
||||||
|
select * from t1;
|
||||||
|
connection default;
|
||||||
|
--reap
|
||||||
|
--send alter table t1 change c vc varchar(100) default 'Test2';
|
||||||
|
connection addconroot;
|
||||||
|
--sleep 2
|
||||||
|
rename table t1 to t2;
|
||||||
|
connection default;
|
||||||
|
--reap
|
||||||
|
drop table t2;
|
||||||
|
# And now tests for ALTER TABLE with RENAME clause. In this
|
||||||
|
# case target table name should be properly locked as well.
|
||||||
|
create table t1 (i int);
|
||||||
|
--send alter table t1 change i c char(10) default 'Test3', rename to t2;
|
||||||
|
connection addconroot;
|
||||||
|
--sleep 2
|
||||||
|
insert into t2 values ();
|
||||||
|
select * from t2;
|
||||||
|
connection default;
|
||||||
|
--reap
|
||||||
|
--send alter table t2 change c vc varchar(100) default 'Test2', rename to t1;
|
||||||
|
connection addconroot;
|
||||||
|
--sleep 2
|
||||||
|
rename table t1 to t3;
|
||||||
|
connection default;
|
||||||
|
--reap
|
||||||
|
drop table t3;
|
||||||
|
set session debug="-d,sleep_alter_before_main_binlog";
|
||||||
|
|
||||||
|
# Check that all statements were logged in correct order
|
||||||
|
--replace_column 2 # 5 #
|
||||||
|
show binlog events in 'master-bin.000001' from 106;
|
||||||
|
|
||||||
|
|
||||||
|
--echo End of 5.1 tests
|
||||||
|
@ -727,7 +727,58 @@ ALTER TABLE t1 MODIFY COLUMN v VARCHAR(4);
|
|||||||
SELECT * FROM t1;
|
SELECT * FROM t1;
|
||||||
DROP TABLE t1;
|
DROP TABLE t1;
|
||||||
|
|
||||||
# End of 5.0 tests
|
--echo End of 5.0 tests
|
||||||
|
|
||||||
|
#
|
||||||
|
# Extended test coverage for ALTER TABLE behaviour under LOCK TABLES
|
||||||
|
# It should be consistent across all platforms and for all engines
|
||||||
|
# (Before 5.1 this was not true as behavior was different between
|
||||||
|
# Unix/Windows and transactional/non-transactional tables).
|
||||||
|
# See also innodb_mysql.test
|
||||||
|
#
|
||||||
|
--disable_warnings
|
||||||
|
drop table if exists t1, t2, t3;
|
||||||
|
--enable_warnings
|
||||||
|
create table t1 (i int);
|
||||||
|
create table t3 (j int);
|
||||||
|
insert into t1 values ();
|
||||||
|
insert into t3 values ();
|
||||||
|
# Table which is altered under LOCK TABLES it should stay in list of locked
|
||||||
|
# tables and be available after alter takes place unless ALTER contains RENAME
|
||||||
|
# clause. We should see the new definition of table, of course.
|
||||||
|
lock table t1 write, t3 read;
|
||||||
|
# Example of so-called 'fast' ALTER TABLE
|
||||||
|
alter table t1 modify i int default 1;
|
||||||
|
insert into t1 values ();
|
||||||
|
select * from t1;
|
||||||
|
# And now full-blown ALTER TABLE
|
||||||
|
alter table t1 change i c char(10) default "Two";
|
||||||
|
insert into t1 values ();
|
||||||
|
select * from t1;
|
||||||
|
# If table is renamed then it should be removed from the list
|
||||||
|
# of locked tables. 'Fast' ALTER TABLE with RENAME clause:
|
||||||
|
alter table t1 modify c char(10) default "Three", rename to t2;
|
||||||
|
--error ER_TABLE_NOT_LOCKED
|
||||||
|
select * from t1;
|
||||||
|
--error ER_TABLE_NOT_LOCKED
|
||||||
|
select * from t2;
|
||||||
|
select * from t3;
|
||||||
|
unlock tables;
|
||||||
|
insert into t2 values ();
|
||||||
|
select * from t2;
|
||||||
|
lock table t2 write, t3 read;
|
||||||
|
# Full ALTER TABLE with RENAME
|
||||||
|
alter table t2 change c vc varchar(100) default "Four", rename to t1;
|
||||||
|
--error ER_TABLE_NOT_LOCKED
|
||||||
|
select * from t1;
|
||||||
|
--error ER_TABLE_NOT_LOCKED
|
||||||
|
select * from t2;
|
||||||
|
select * from t3;
|
||||||
|
unlock tables;
|
||||||
|
insert into t1 values ();
|
||||||
|
select * from t1;
|
||||||
|
drop tables t1, t3;
|
||||||
|
|
||||||
|
|
||||||
#
|
#
|
||||||
# Bug#18775 - Temporary table from alter table visible to other threads
|
# Bug#18775 - Temporary table from alter table visible to other threads
|
||||||
|
248
mysql-test/t/binlog_killed.test
Normal file
248
mysql-test/t/binlog_killed.test
Normal file
@ -0,0 +1,248 @@
|
|||||||
|
-- source include/have_innodb.inc
|
||||||
|
-- source include/have_binlog_format_mixed_or_statement.inc
|
||||||
|
-- source include/not_embedded.inc
|
||||||
|
|
||||||
|
###
|
||||||
|
### bug#22725 : incorrect killed error in binlogged query
|
||||||
|
###
|
||||||
|
|
||||||
|
connect (con1, localhost, root,,);
|
||||||
|
connect (con2, localhost, root,,);
|
||||||
|
|
||||||
|
create table t1 (a int auto_increment, b int, PRIMARY KEY (a)) ENGINE=InnoDB;
|
||||||
|
create table t2 (a int auto_increment, b int, PRIMARY KEY (a)) ENGINE=MyISAM;
|
||||||
|
create table t3 (a int auto_increment, b int, PRIMARY KEY (a)) ENGINE=InnoDB;
|
||||||
|
|
||||||
|
#
|
||||||
|
# effective test for bug#22725
|
||||||
|
#
|
||||||
|
|
||||||
|
connection con1;
|
||||||
|
select get_lock("a", 20);
|
||||||
|
|
||||||
|
connection con2;
|
||||||
|
let $ID= `select connection_id()`;
|
||||||
|
reset master;
|
||||||
|
send insert into t2 values (null, null), (null, get_lock("a", 10));
|
||||||
|
|
||||||
|
|
||||||
|
connection con1;
|
||||||
|
|
||||||
|
disable_abort_on_error;
|
||||||
|
disable_query_log;
|
||||||
|
disable_result_log;
|
||||||
|
|
||||||
|
eval kill query $ID;
|
||||||
|
|
||||||
|
connection con2;
|
||||||
|
--error 0,ER_QUERY_INTERRUPTED
|
||||||
|
reap;
|
||||||
|
let $rows= `select count(*) from t2 /* must be 2 or 0 */`;
|
||||||
|
|
||||||
|
--exec $MYSQL_BINLOG --start-position=134 $MYSQLTEST_VARDIR/log/master-bin.000001 > $MYSQLTEST_VARDIR/tmp/kill_query_calling_sp.binlog
|
||||||
|
--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
|
||||||
|
eval select
|
||||||
|
(@a:=load_file("$MYSQLTEST_VARDIR/tmp/kill_query_calling_sp.binlog"))
|
||||||
|
is not null;
|
||||||
|
--replace_result $MYSQL_TEST_DIR MYSQL_TEST_DIR
|
||||||
|
let $error_code= `select @a like "%#%error_code=0%" /* must return 1 or 0*/`;
|
||||||
|
let $insert_binlogged= `select @a like "%insert into%" /* must return 1 or 0 */`;
|
||||||
|
eval set @result= $rows- $error_code - $insert_binlogged;
|
||||||
|
|
||||||
|
enable_abort_on_error;
|
||||||
|
enable_query_log;
|
||||||
|
enable_result_log;
|
||||||
|
|
||||||
|
select @result /* must be zero either way */;
|
||||||
|
|
||||||
|
# the functions are either *insensitive* to killing or killing can cause
|
||||||
|
# strange problmes with the error propagation out of SF's stack
|
||||||
|
# Bug#27563, Bug#27565, BUG#24971
|
||||||
|
#
|
||||||
|
# TODO: use if's block as regression test for the bugs or remove
|
||||||
|
#
|
||||||
|
if (0)
|
||||||
|
{
|
||||||
|
delimiter |;
|
||||||
|
create function bug27563()
|
||||||
|
RETURNS int(11)
|
||||||
|
DETERMINISTIC
|
||||||
|
begin
|
||||||
|
select get_lock("a", 10) into @a;
|
||||||
|
return 1;
|
||||||
|
end|
|
||||||
|
delimiter ;|
|
||||||
|
|
||||||
|
# the function is sensitive to killing requiring innodb though with wrong client error
|
||||||
|
# TO FIX in BUG#27565; TODO: remove --error 1105 afterwards
|
||||||
|
delimiter |;
|
||||||
|
create function bug27565()
|
||||||
|
RETURNS int(11)
|
||||||
|
DETERMINISTIC
|
||||||
|
begin
|
||||||
|
select a from t1 where a=1 into @a for update;
|
||||||
|
return 1;
|
||||||
|
end|
|
||||||
|
delimiter ;|
|
||||||
|
|
||||||
|
reset master;
|
||||||
|
|
||||||
|
|
||||||
|
### ta table case: killing causes rollback
|
||||||
|
|
||||||
|
# A. autocommit ON
|
||||||
|
connection con1;
|
||||||
|
select get_lock("a", 20);
|
||||||
|
|
||||||
|
connection con2;
|
||||||
|
let $ID= `select connection_id()`;
|
||||||
|
send insert into t1 values (bug27563(),1);
|
||||||
|
|
||||||
|
connection con1;
|
||||||
|
eval kill query $ID;
|
||||||
|
|
||||||
|
connection con2;
|
||||||
|
# todo (re-record test): after bugs 27563,27565 got fixed affected rows will report zero
|
||||||
|
--enable_info
|
||||||
|
# todo: remove 0 return after fixing Bug#27563
|
||||||
|
--error 0,ER_QUERY_INTERRUPTED
|
||||||
|
reap; ### pb: wrong error
|
||||||
|
--disable_info
|
||||||
|
###--replace_column 2 # 5 #
|
||||||
|
### show binlog events from 98 /* nothing in binlog unless Bug#27563 */;
|
||||||
|
show master status /* must be only FD event unless Bug#27563 */;
|
||||||
|
select count(*) from t1 /* must be zero unless Bug#27563 */;
|
||||||
|
|
||||||
|
# M. multi-statement-ta
|
||||||
|
connection con2;
|
||||||
|
let $ID= `select connection_id()`;
|
||||||
|
begin;
|
||||||
|
send insert into t1 values (bug27563(),1);
|
||||||
|
|
||||||
|
connection con1;
|
||||||
|
eval kill query $ID;
|
||||||
|
connection con2;
|
||||||
|
# todo (re-record test): after bugs 27563,27565 got fixed affected rows will report zero
|
||||||
|
--enable_info
|
||||||
|
# todo: remove 0 return after fixing Bug#27563
|
||||||
|
--error 0,ER_QUERY_INTERRUPTED
|
||||||
|
reap;
|
||||||
|
--disable_info
|
||||||
|
select count(*) from t1 /* must be zero unless Bug#27563 */;
|
||||||
|
commit;
|
||||||
|
|
||||||
|
|
||||||
|
### non-ta table case: killing must be recorded in binlog
|
||||||
|
|
||||||
|
reset master;
|
||||||
|
|
||||||
|
connection con2;
|
||||||
|
let $ID= `select connection_id()`;
|
||||||
|
send insert into t2 values (bug27563(),1);
|
||||||
|
|
||||||
|
connection con1;
|
||||||
|
eval kill query $ID;
|
||||||
|
|
||||||
|
connection con2;
|
||||||
|
# todo: remove 0 return after fixing Bug#27563
|
||||||
|
--error 0,ER_QUERY_INTERRUPTED
|
||||||
|
reap;
|
||||||
|
select count(*) from t2 /* must be one */;
|
||||||
|
#show binlog events from 98 /* must have the insert on non-ta table */;
|
||||||
|
show master status /* must have the insert event more to FD */;
|
||||||
|
# the value of the error flag of KILLED_QUERY is tested further
|
||||||
|
|
||||||
|
connection con1;
|
||||||
|
select RELEASE_LOCK("a");
|
||||||
|
|
||||||
|
### test with effective killing of SF()
|
||||||
|
|
||||||
|
delete from t1;
|
||||||
|
delete from t2;
|
||||||
|
insert into t1 values (1,1);
|
||||||
|
insert into t2 values (1,1);
|
||||||
|
|
||||||
|
#
|
||||||
|
# Bug#27565
|
||||||
|
# test where KILL is propagated as error to the top level
|
||||||
|
# still another bug with the error message to the user
|
||||||
|
# todo: fix reexecute the result file after fixing
|
||||||
|
#
|
||||||
|
begin; update t1 set b=0 where a=1;
|
||||||
|
|
||||||
|
connection con2;
|
||||||
|
let $ID= `select connection_id()`;
|
||||||
|
send update t2 set b=bug27565()-1 where a=1;
|
||||||
|
|
||||||
|
connection con1;
|
||||||
|
eval kill query $ID;
|
||||||
|
commit;
|
||||||
|
|
||||||
|
connection con2;
|
||||||
|
# todo: fix Bug #27565 killed query of SF() is not reported correctly and
|
||||||
|
# remove 1105 (wrong)
|
||||||
|
#--error ER_QUERY_INTERRUPTED
|
||||||
|
--error 1105,ER_QUERY_INTERRUPTED
|
||||||
|
reap; ### pb: wrong error
|
||||||
|
select * from t1 /* must be: (1,0) */;
|
||||||
|
select * from t2 /* must be as before: (1,1) */;
|
||||||
|
|
||||||
|
## bug#22725 with effective and propagating killing
|
||||||
|
#
|
||||||
|
# top-level ta-table
|
||||||
|
connection con1;
|
||||||
|
delete from t3;
|
||||||
|
reset master;
|
||||||
|
begin; update t1 set b=0 where a=1;
|
||||||
|
|
||||||
|
connection con2;
|
||||||
|
let $ID= `select connection_id()`;
|
||||||
|
# the query won't perform completely since the function gets interrupted
|
||||||
|
send insert into t3 values (0,0),(1,bug27565());
|
||||||
|
|
||||||
|
connection con1;
|
||||||
|
eval kill query $ID;
|
||||||
|
rollback;
|
||||||
|
|
||||||
|
connection con2;
|
||||||
|
# todo: fix Bug #27565 killed query of SF() is not reported correctly and
|
||||||
|
# remove 1105 (wrong)
|
||||||
|
#--error ER_QUERY_INTERRUPTED
|
||||||
|
--error 1105,ER_QUERY_INTERRUPTED
|
||||||
|
reap; ### pb: wrong error
|
||||||
|
select count(*) from t3 /* must be zero */;
|
||||||
|
show master status /* nothing in binlog */;
|
||||||
|
|
||||||
|
# top-level non-ta-table
|
||||||
|
connection con1;
|
||||||
|
delete from t2;
|
||||||
|
reset master;
|
||||||
|
begin; update t1 set b=0 where a=1;
|
||||||
|
|
||||||
|
connection con2;
|
||||||
|
let $ID= `select connection_id()`;
|
||||||
|
# the query won't perform completely since the function gets intrurrupted
|
||||||
|
send insert into t2 values (0,0),(1,bug27565()) /* non-ta t2 */;
|
||||||
|
|
||||||
|
connection con1;
|
||||||
|
eval kill query $ID;
|
||||||
|
rollback;
|
||||||
|
|
||||||
|
connection con2;
|
||||||
|
# todo: fix Bug #27565 killed query of SF() is not reported correctly and
|
||||||
|
# remove 1105 (wrong)
|
||||||
|
#--error ER_QUERY_INTERRUPTED
|
||||||
|
--error 1105,ER_QUERY_INTERRUPTED
|
||||||
|
reap; ### pb: wrong error
|
||||||
|
|
||||||
|
select count(*) from t2 /* count must be one */;
|
||||||
|
show master status /* insert into non-ta must be in binlog */;
|
||||||
|
|
||||||
|
drop function bug27563;
|
||||||
|
drop function bug27565;
|
||||||
|
}
|
||||||
|
|
||||||
|
system rm $MYSQLTEST_VARDIR/tmp/kill_query_calling_sp.binlog ;
|
||||||
|
|
||||||
|
drop table t1,t2,t3;
|
||||||
|
|
@ -1,12 +1,17 @@
|
|||||||
# Tests for various aspects of CREATE TABLE ... SELECT implementation
|
# Tests for various concurrency-related aspects of CREATE TABLE ... SELECT
|
||||||
|
# and CREATE TABLE like implementation.
|
||||||
#
|
#
|
||||||
# Note that we don't test general CREATE TABLE ... SELECT functionality here as
|
# Note that we don't test general CREATE TABLE ... SELECT/LIKE functionality
|
||||||
# it is already covered by create.test. We are more interested in extreme cases.
|
# here as it is already covered by create.test. We are more interested in
|
||||||
|
# extreme cases.
|
||||||
#
|
#
|
||||||
# This test takes rather long time so let us run it only in --big-test mode
|
# This test takes rather long time so let us run it only in --big-test mode
|
||||||
--source include/big_test.inc
|
--source include/big_test.inc
|
||||||
# We are using some debug-only features in this test
|
# We are using some debug-only features in this test
|
||||||
--source include/have_debug.inc
|
--source include/have_debug.inc
|
||||||
|
# Some of tests below also use binlog to check that statements are
|
||||||
|
# executed and logged in correct order
|
||||||
|
--source include/have_binlog_format_mixed_or_statement.inc
|
||||||
|
|
||||||
# Create auxilliary connections
|
# Create auxilliary connections
|
||||||
connect (addconroot1, localhost, root,,);
|
connect (addconroot1, localhost, root,,);
|
||||||
@ -20,7 +25,7 @@ drop table if exists t1,t2,t3,t4,t5;
|
|||||||
|
|
||||||
|
|
||||||
#
|
#
|
||||||
# Tests for concurrency problems.
|
# Tests for concurrency problems in CREATE TABLE ... SELECT
|
||||||
#
|
#
|
||||||
# We introduce delays between various stages of table creation
|
# We introduce delays between various stages of table creation
|
||||||
# and check that other statements dealing with this table cannot
|
# and check that other statements dealing with this table cannot
|
||||||
@ -266,3 +271,122 @@ connection default;
|
|||||||
select * from t1;
|
select * from t1;
|
||||||
show create table t1;
|
show create table t1;
|
||||||
drop table t1, t2, t3;
|
drop table t1, t2, t3;
|
||||||
|
|
||||||
|
|
||||||
|
# Tests for possible concurrency issues with CREATE TABLE ... LIKE
|
||||||
|
#
|
||||||
|
# Bug #18950 "create table like does not obtain LOCK_open"
|
||||||
|
# Bug #23667 "CREATE TABLE LIKE is not isolated from alteration by other
|
||||||
|
# connections"
|
||||||
|
#
|
||||||
|
# Again the idea of this test is that we introduce artificial delays on
|
||||||
|
# various stages of table creation and check that concurrent statements
|
||||||
|
# for tables from CREATE TABLE ... LIKE are not interfering.
|
||||||
|
|
||||||
|
--disable_warnings
|
||||||
|
drop table if exists t1,t2;
|
||||||
|
--enable_warnings
|
||||||
|
|
||||||
|
# What happens if some statements sneak in right after we have
|
||||||
|
# opened source table ?
|
||||||
|
create table t1 (i int);
|
||||||
|
set session debug="+d,sleep_create_like_before_check_if_exists";
|
||||||
|
# Reset binlog to have clear start
|
||||||
|
reset master;
|
||||||
|
--send create table t2 like t1;
|
||||||
|
connection addconroot1;
|
||||||
|
--sleep 2
|
||||||
|
# DML on source table should be allowed to run concurrently
|
||||||
|
insert into t1 values (1);
|
||||||
|
# And DDL should wait
|
||||||
|
drop table t1;
|
||||||
|
connection default;
|
||||||
|
--reap
|
||||||
|
show create table t2;
|
||||||
|
drop table t2;
|
||||||
|
# Let us check that statements were executed/binlogged in correct order
|
||||||
|
--replace_column 2 # 5 #
|
||||||
|
show binlog events in 'master-bin.000001' from 106;
|
||||||
|
|
||||||
|
# Now let us check the gap between check for target table
|
||||||
|
# existance and copying of .frm file.
|
||||||
|
create table t1 (i int);
|
||||||
|
set session debug="-d,sleep_create_like_before_check_if_exists:+d,sleep_create_like_before_copy";
|
||||||
|
# It should be impossible to create target table concurrently
|
||||||
|
--send create table t2 like t1;
|
||||||
|
connection addconroot1;
|
||||||
|
--sleep 2
|
||||||
|
create table if not exists t2 (j int);
|
||||||
|
connection default;
|
||||||
|
--reap
|
||||||
|
show create table t2;
|
||||||
|
drop table t2;
|
||||||
|
# And concurrent DDL on the source table should be still disallowed
|
||||||
|
reset master;
|
||||||
|
--send create table t2 like t1;
|
||||||
|
connection addconroot1;
|
||||||
|
--sleep 2
|
||||||
|
drop table t1;
|
||||||
|
connection default;
|
||||||
|
--reap
|
||||||
|
drop table t2;
|
||||||
|
--replace_column 2 # 5 #
|
||||||
|
show binlog events in 'master-bin.000001' from 106;
|
||||||
|
|
||||||
|
# And now he gap between copying of .frm file and ha_create_table() call.
|
||||||
|
create table t1 (i int);
|
||||||
|
set session debug="-d,sleep_create_like_before_copy:+d,sleep_create_like_before_ha_create";
|
||||||
|
# Both DML and DDL on target table should wait till operation completes
|
||||||
|
reset master;
|
||||||
|
--send create table t2 like t1;
|
||||||
|
connection addconroot1;
|
||||||
|
--sleep 2
|
||||||
|
insert into t2 values (1);
|
||||||
|
connection default;
|
||||||
|
--reap
|
||||||
|
drop table t2;
|
||||||
|
--send create table t2 like t1;
|
||||||
|
connection addconroot1;
|
||||||
|
--sleep 2
|
||||||
|
drop table t2;
|
||||||
|
connection default;
|
||||||
|
--reap
|
||||||
|
# Concurrent DDL on the source table still waits
|
||||||
|
--send create table t2 like t1;
|
||||||
|
connection addconroot1;
|
||||||
|
--sleep 2
|
||||||
|
drop table t1;
|
||||||
|
connection default;
|
||||||
|
--reap
|
||||||
|
drop table t2;
|
||||||
|
--replace_column 2 # 5 #
|
||||||
|
show binlog events in 'master-bin.000001' from 106;
|
||||||
|
|
||||||
|
# Finally we check the gap between ha_create_table() and binlogging
|
||||||
|
create table t1 (i int);
|
||||||
|
set session debug="-d,sleep_create_like_before_ha_create:+d,sleep_create_like_before_binlogging";
|
||||||
|
reset master;
|
||||||
|
--send create table t2 like t1;
|
||||||
|
connection addconroot1;
|
||||||
|
--sleep 2
|
||||||
|
insert into t2 values (1);
|
||||||
|
connection default;
|
||||||
|
--reap
|
||||||
|
drop table t2;
|
||||||
|
--send create table t2 like t1;
|
||||||
|
connection addconroot1;
|
||||||
|
--sleep 2
|
||||||
|
drop table t2;
|
||||||
|
connection default;
|
||||||
|
--reap
|
||||||
|
--send create table t2 like t1;
|
||||||
|
connection addconroot1;
|
||||||
|
--sleep 2
|
||||||
|
drop table t1;
|
||||||
|
connection default;
|
||||||
|
--reap
|
||||||
|
drop table t2;
|
||||||
|
--replace_column 2 # 5 #
|
||||||
|
show binlog events in 'master-bin.000001' from 106;
|
||||||
|
|
||||||
|
set session debug="-d,sleep_create_like_before_binlogging";
|
@ -306,7 +306,7 @@ create table t3 like t1;
|
|||||||
create table t3 like mysqltest.t3;
|
create table t3 like mysqltest.t3;
|
||||||
--error 1049
|
--error 1049
|
||||||
create table non_existing_database.t1 like t1;
|
create table non_existing_database.t1 like t1;
|
||||||
--error 1051
|
--error ER_NO_SUCH_TABLE
|
||||||
create table t3 like non_existing_table;
|
create table t3 like non_existing_table;
|
||||||
--error 1050
|
--error 1050
|
||||||
create temporary table t3 like t1;
|
create temporary table t3 like t1;
|
||||||
|
@ -14,6 +14,8 @@ user_limits : Bug#23921 random failure of user_limits.test
|
|||||||
im_options : Bug#20294 2006-07-24 stewart Instance manager test im_options fails randomly
|
im_options : Bug#20294 2006-07-24 stewart Instance manager test im_options fails randomly
|
||||||
im_daemon_life_cycle : Bug#20294 2007-05-14 alik Instance manager tests fail randomly
|
im_daemon_life_cycle : Bug#20294 2007-05-14 alik Instance manager tests fail randomly
|
||||||
im_cmd_line : Bug#20294 2007-05-14 alik Instance manager tests fail randomly
|
im_cmd_line : Bug#20294 2007-05-14 alik Instance manager tests fail randomly
|
||||||
|
im_utils : Bug#20294 2007-05-30 alik Instance manager tests fail randomly
|
||||||
|
im_instance_conf : Bug#20294 2007-05-30 alik Instance manager tests fail randomly
|
||||||
im_life_cycle : BUG#27851 Instance manager dies on ASSERT in ~Thread_registry() or from not being able to close a mysqld instance.
|
im_life_cycle : BUG#27851 Instance manager dies on ASSERT in ~Thread_registry() or from not being able to close a mysqld instance.
|
||||||
im_instance_conf : BUG#28743 Instance manager generates warnings in test suite
|
im_instance_conf : BUG#28743 Instance manager generates warnings in test suite
|
||||||
im_utils : BUG#28743 Instance manager generates warnings in test suite
|
im_utils : BUG#28743 Instance manager generates warnings in test suite
|
||||||
@ -28,12 +30,11 @@ rpl_ndb_circular_simplex : BUG#27972 2007-04-20 mats Slave cannot start where it
|
|||||||
rpl_ndb_2innodb : BUG#19227 2006-04-20 pekka pk delete apparently not replicated
|
rpl_ndb_2innodb : BUG#19227 2006-04-20 pekka pk delete apparently not replicated
|
||||||
rpl_ndb_2myisam : BUG#19227 Seems to pass currently
|
rpl_ndb_2myisam : BUG#19227 Seems to pass currently
|
||||||
rpl_ndb_dd_partitions : BUG#19259 2006-04-21 rpl_ndb_dd_partitions fails on s/AMD
|
rpl_ndb_dd_partitions : BUG#19259 2006-04-21 rpl_ndb_dd_partitions fails on s/AMD
|
||||||
rpl_ndb_ddl : BUG#18946 result file needs update + test needs to checked
|
|
||||||
rpl_ddl : BUG#26418 2007-03-01 mleich Slave out of sync after CREATE/DROP TEMPORARY TABLE + ROLLBACK on master
|
rpl_ddl : BUG#26418 2007-03-01 mleich Slave out of sync after CREATE/DROP TEMPORARY TABLE + ROLLBACK on master
|
||||||
rpl_ndb_innodb2ndb : Bug #19710 Cluster replication to partition table fails on DELETE FROM statement
|
rpl_ndb_innodb2ndb : Bug #19710 Cluster replication to partition table fails on DELETE FROM statement
|
||||||
rpl_ndb_myisam2ndb : Bug #19710 Cluster replication to partition table fails on DELETE FROM statement
|
rpl_ndb_myisam2ndb : Bug #19710 Cluster replication to partition table fails on DELETE FROM statement
|
||||||
rpl_row_blob_innodb : BUG#18980 2006-04-10 kent Test fails randomly
|
#rpl_row_blob_innodb : BUG#18980 2006-04-10 kent Test fails randomly
|
||||||
synchronization : Bug#24529 Test 'synchronization' fails on Mac pushbuild; Also on Linux 64 bit.
|
rpl_ndb_ddl : BUG#28798 2007-05-31 lars Valgrind failure in NDB
|
||||||
|
|
||||||
# the below testcase have been reworked to avoid the bug, test contains comment, keep bug open
|
# the below testcase have been reworked to avoid the bug, test contains comment, keep bug open
|
||||||
#ndb_binlog_ddl_multi : BUG#18976 2006-04-10 kent CRBR: multiple binlog, second binlog may miss schema log events
|
#ndb_binlog_ddl_multi : BUG#18976 2006-04-10 kent CRBR: multiple binlog, second binlog may miss schema log events
|
||||||
@ -43,3 +44,6 @@ synchronization : Bug#24529 Test 'synchronization' fails on Mac pushb
|
|||||||
#rpl_ndb_dd_advance : Bug#25913 rpl_ndb_dd_advance fails randomly
|
#rpl_ndb_dd_advance : Bug#25913 rpl_ndb_dd_advance fails randomly
|
||||||
|
|
||||||
ndb_partition_error2 : HF is not sure if the test can work as internded on all the platforms
|
ndb_partition_error2 : HF is not sure if the test can work as internded on all the platforms
|
||||||
|
|
||||||
|
im_options_set : Bug#20294: Instance manager tests fail randomly
|
||||||
|
im_options_unset : Bug#20294: Instance manager tests fail randomly
|
||||||
|
@ -451,6 +451,10 @@ set global event_scheduler=off;
|
|||||||
--echo "Should have only our process now:"
|
--echo "Should have only our process now:"
|
||||||
select /*4*/ user, host, db, command, state, info from information_schema.processlist where (command!='Daemon' || user='event_scheduler') and (info is null or info not like '%processlist%') order by info;
|
select /*4*/ user, host, db, command, state, info from information_schema.processlist where (command!='Daemon' || user='event_scheduler') and (info is null or info not like '%processlist%') order by info;
|
||||||
drop event закачка21;
|
drop event закачка21;
|
||||||
|
let $wait_condition=
|
||||||
|
select count(*) = 0 from information_schema.processlist
|
||||||
|
where db='events_test' and command = 'Connect' and user=current_user();
|
||||||
|
--source include/wait_condition.inc
|
||||||
|
|
||||||
####
|
####
|
||||||
# Bug #16410 Events: CREATE EVENT is legal in a CREATE TRIGGER statement
|
# Bug #16410 Events: CREATE EVENT is legal in a CREATE TRIGGER statement
|
||||||
@ -725,4 +729,14 @@ drop table t1|
|
|||||||
drop event e1|
|
drop event e1|
|
||||||
delimiter ;|
|
delimiter ;|
|
||||||
|
|
||||||
|
|
||||||
|
#
|
||||||
|
# End of tests
|
||||||
|
#
|
||||||
|
|
||||||
|
let $wait_condition=
|
||||||
|
select count(*) = 0 from information_schema.processlist
|
||||||
|
where db='events_test' and command = 'Connect' and user=current_user();
|
||||||
|
--source include/wait_condition.inc
|
||||||
|
|
||||||
drop database events_test;
|
drop database events_test;
|
||||||
|
@ -610,7 +610,53 @@ DROP EVENT e1;
|
|||||||
|
|
||||||
SET TIME_ZONE=@save_time_zone;
|
SET TIME_ZONE=@save_time_zone;
|
||||||
|
|
||||||
|
#
|
||||||
|
# START - BUG#28666 CREATE EVENT ... EVERY 0 SECOND let server crash
|
||||||
|
#
|
||||||
|
--disable_warnings
|
||||||
|
drop event if exists new_event;
|
||||||
|
--enable_warnings
|
||||||
|
--error ER_EVENT_INTERVAL_NOT_POSITIVE_OR_TOO_BIG
|
||||||
|
CREATE EVENT new_event ON SCHEDULE EVERY 0 SECOND DO SELECT 1;
|
||||||
|
--error ER_EVENT_INTERVAL_NOT_POSITIVE_OR_TOO_BIG
|
||||||
|
CREATE EVENT new_event ON SCHEDULE EVERY (SELECT 0) SECOND DO SELECT 1;
|
||||||
|
--error ER_EVENT_INTERVAL_NOT_POSITIVE_OR_TOO_BIG
|
||||||
|
CREATE EVENT new_event ON SCHEDULE EVERY "abcdef" SECOND DO SELECT 1;
|
||||||
|
--error ER_EVENT_INTERVAL_NOT_POSITIVE_OR_TOO_BIG
|
||||||
|
CREATE EVENT new_event ON SCHEDULE EVERY "0abcdef" SECOND DO SELECT 1;
|
||||||
|
--error ER_EVENT_INTERVAL_NOT_POSITIVE_OR_TOO_BIG
|
||||||
|
CREATE EVENT new_event ON SCHEDULE EVERY "a1bcdef" SECOND DO SELECT 1;
|
||||||
|
|
||||||
|
--error ER_EVENT_INTERVAL_NOT_POSITIVE_OR_TOO_BIG
|
||||||
|
CREATE EVENT new_event ON SCHEDULE EVERY (SELECT "abcdef" UNION SELECT "abcdef") SECOND DO SELECT 1;
|
||||||
|
--error ER_EVENT_INTERVAL_NOT_POSITIVE_OR_TOO_BIG
|
||||||
|
CREATE EVENT new_event ON SCHEDULE EVERY (SELECT "0abcdef") SECOND DO SELECT 1;
|
||||||
|
--error ER_EVENT_INTERVAL_NOT_POSITIVE_OR_TOO_BIG
|
||||||
|
CREATE EVENT new_event ON SCHEDULE EVERY (SELECT "a1bcdef") SECOND DO SELECT 1;
|
||||||
|
|
||||||
|
--error ER_WRONG_VALUE
|
||||||
|
CREATE EVENT new_event ON SCHEDULE AT "every day" DO SELECT 1;
|
||||||
|
--error ER_WRONG_VALUE
|
||||||
|
CREATE EVENT new_event ON SCHEDULE AT "0every day" DO SELECT 1;
|
||||||
|
--error ER_WRONG_VALUE
|
||||||
|
CREATE EVENT new_event ON SCHEDULE AT (SELECT "every day") DO SELECT 1;
|
||||||
|
|
||||||
|
--error ER_PARSE_ERROR
|
||||||
|
CREATE EVENT new_event ON SCHEDULE AT NOW() STARTS NOW() DO SELECT 1;
|
||||||
|
--error ER_PARSE_ERROR
|
||||||
|
CREATE EVENT new_event ON SCHEDULE AT NOW() ENDS NOW() DO SELECT 1;
|
||||||
|
--error ER_PARSE_ERROR
|
||||||
|
CREATE EVENT new_event ON SCHEDULE AT NOW() STARTS NOW() ENDS NOW() DO SELECT 1;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#
|
#
|
||||||
# End of tests
|
# End of tests
|
||||||
#
|
#
|
||||||
drop database events_test;
|
|
||||||
|
let $wait_condition=
|
||||||
|
select count(*) = 0 from information_schema.processlist
|
||||||
|
where db='events_test' and command = 'Connect' and user=current_user();
|
||||||
|
--source include/wait_condition.inc
|
||||||
|
|
||||||
|
DROP DATABASE events_test;
|
||||||
|
@ -101,8 +101,14 @@ disconnect ev_con1;
|
|||||||
connection default;
|
connection default;
|
||||||
DROP USER ev_test@localhost;
|
DROP USER ev_test@localhost;
|
||||||
DROP DATABASE events_test2;
|
DROP DATABASE events_test2;
|
||||||
#
|
|
||||||
## EVENTS grants test end
|
#
|
||||||
|
# End of tests
|
||||||
#
|
#
|
||||||
|
|
||||||
|
let $wait_condition=
|
||||||
|
select count(*) = 0 from information_schema.processlist
|
||||||
|
where db='events_test' and command = 'Connect' and user=current_user();
|
||||||
|
--source include/wait_condition.inc
|
||||||
|
|
||||||
DROP DATABASE events_test;
|
DROP DATABASE events_test;
|
||||||
|
@ -107,4 +107,10 @@ SET SESSION long_query_time =@old_session_long_query_time;
|
|||||||
|
|
||||||
DROP DATABASE events_test;
|
DROP DATABASE events_test;
|
||||||
|
|
||||||
|
|
||||||
SET GLOBAL event_scheduler=off;
|
SET GLOBAL event_scheduler=off;
|
||||||
|
|
||||||
|
let $wait_condition=
|
||||||
|
select count(*) = 0 from information_schema.processlist
|
||||||
|
where db='events_test' and command = 'Connect' and user=current_user();
|
||||||
|
--source include/wait_condition.inc
|
||||||
|
@ -11,8 +11,10 @@ use events_test;
|
|||||||
select @@event_scheduler;
|
select @@event_scheduler;
|
||||||
let $wait_condition=select count(distinct name)=3 from execution_log;
|
let $wait_condition=select count(distinct name)=3 from execution_log;
|
||||||
--source include/wait_condition.inc
|
--source include/wait_condition.inc
|
||||||
--echo "Should get 3 rows : abc1, abc2, abc3
|
|
||||||
select distinct name from execution_log order by name;
|
|
||||||
drop table execution_log;
|
drop table execution_log;
|
||||||
# Will drop all events
|
# Will drop all events
|
||||||
drop database events_test;
|
drop database events_test;
|
||||||
|
|
||||||
|
let $wait_condition=
|
||||||
|
select count(*) = 0 from information_schema.processlist
|
||||||
|
where db='events_test' and command = 'Connect' and user=current_user();
|
||||||
|
@ -106,3 +106,13 @@ DROP TABLE table_3;
|
|||||||
DROP TABLE table_4;
|
DROP TABLE table_4;
|
||||||
DROP DATABASE events_test;
|
DROP DATABASE events_test;
|
||||||
SET GLOBAL event_scheduler=OFF;
|
SET GLOBAL event_scheduler=OFF;
|
||||||
|
|
||||||
|
#
|
||||||
|
# End of tests
|
||||||
|
#
|
||||||
|
|
||||||
|
let $wait_condition=
|
||||||
|
select count(*) = 0 from information_schema.processlist
|
||||||
|
where db='events_test' and command = 'Connect' and user=current_user();
|
||||||
|
--source include/wait_condition.inc
|
||||||
|
|
||||||
|
@ -133,4 +133,5 @@ DROP USER event_user3@localhost;
|
|||||||
#
|
#
|
||||||
# DROP DATABASE test end (bug #16406)
|
# DROP DATABASE test end (bug #16406)
|
||||||
#
|
#
|
||||||
|
|
||||||
DROP DATABASE events_test;
|
DROP DATABASE events_test;
|
||||||
|
@ -288,7 +288,11 @@ DROP TABLE t_step;
|
|||||||
DROP DATABASE mysqltest_db1;
|
DROP DATABASE mysqltest_db1;
|
||||||
--disable_query_log
|
--disable_query_log
|
||||||
eval USE $old_db;
|
eval USE $old_db;
|
||||||
--enable_query_log
|
|
||||||
|
|
||||||
|
--enable_query_log
|
||||||
|
let $wait_condition=
|
||||||
|
select count(*) = 0 from information_schema.processlist
|
||||||
|
where db='mysqltest_db1' and command = 'Connect' and user=current_user();
|
||||||
|
--source include/wait_condition.inc
|
||||||
|
|
||||||
--echo End of 5.1 tests.
|
--echo End of 5.1 tests.
|
||||||
|
@ -111,5 +111,11 @@ commit work;
|
|||||||
#
|
#
|
||||||
# Cleanup
|
# Cleanup
|
||||||
#
|
#
|
||||||
|
|
||||||
|
let $wait_condition=
|
||||||
|
select count(*) = 0 from information_schema.processlist
|
||||||
|
where db='events_test' and command = 'Connect' and user=current_user();
|
||||||
|
--source include/wait_condition.inc
|
||||||
|
|
||||||
drop database events_test;
|
drop database events_test;
|
||||||
|
|
||||||
|
@ -57,5 +57,10 @@ drop database mysqltest_db2;
|
|||||||
#
|
#
|
||||||
# Cleanup
|
# Cleanup
|
||||||
#
|
#
|
||||||
|
let $wait_condition=
|
||||||
|
select count(*) = 0 from information_schema.processlist
|
||||||
|
where db='events_test' and command = 'Connect' and user=current_user();
|
||||||
|
--source include/wait_condition.inc
|
||||||
|
|
||||||
drop database events_test;
|
drop database events_test;
|
||||||
|
|
||||||
|
@ -513,3 +513,47 @@ REVOKE ALL PRIVILEGES, GRANT OPTION FROM `a@`@localhost;
|
|||||||
drop user `a@`@localhost;
|
drop user `a@`@localhost;
|
||||||
|
|
||||||
SET GLOBAL log_bin_trust_function_creators = 0;
|
SET GLOBAL log_bin_trust_function_creators = 0;
|
||||||
|
|
||||||
|
|
||||||
|
#
|
||||||
|
# Bug#25578 "CREATE TABLE LIKE does not require any privileges on source table"
|
||||||
|
#
|
||||||
|
--disable_warnings
|
||||||
|
drop database if exists mysqltest_1;
|
||||||
|
drop database if exists mysqltest_2;
|
||||||
|
--enable_warnings
|
||||||
|
--error 0,ER_CANNOT_USER
|
||||||
|
drop user mysqltest_u1@localhost;
|
||||||
|
|
||||||
|
create database mysqltest_1;
|
||||||
|
create database mysqltest_2;
|
||||||
|
grant all on mysqltest_1.* to mysqltest_u1@localhost;
|
||||||
|
use mysqltest_2;
|
||||||
|
create table t1 (i int);
|
||||||
|
|
||||||
|
# Connect as user with all rights on mysqltest_1 but with no rights on mysqltest_2.
|
||||||
|
connect (user1,localhost,mysqltest_u1,,mysqltest_1);
|
||||||
|
connection user1;
|
||||||
|
# As expected error is emitted
|
||||||
|
--error ER_TABLEACCESS_DENIED_ERROR
|
||||||
|
show create table mysqltest_2.t1;
|
||||||
|
# This should emit error as well
|
||||||
|
--error ER_TABLEACCESS_DENIED_ERROR
|
||||||
|
create table t1 like mysqltest_2.t1;
|
||||||
|
|
||||||
|
# Now let us check that SELECT privilege on the source is enough
|
||||||
|
connection default;
|
||||||
|
grant select on mysqltest_2.t1 to mysqltest_u1@localhost;
|
||||||
|
connection user1;
|
||||||
|
show create table mysqltest_2.t1;
|
||||||
|
create table t1 like mysqltest_2.t1;
|
||||||
|
|
||||||
|
# Clean-up
|
||||||
|
connection default;
|
||||||
|
use test;
|
||||||
|
drop database mysqltest_1;
|
||||||
|
drop database mysqltest_2;
|
||||||
|
drop user mysqltest_u1@localhost;
|
||||||
|
|
||||||
|
--echo End of 5.0 tests
|
||||||
|
|
||||||
|
25
mysql-test/t/grant_cache_no_prot.test
Normal file
25
mysql-test/t/grant_cache_no_prot.test
Normal file
@ -0,0 +1,25 @@
|
|||||||
|
#################### t/grant_cache_no_prot.test ###################
|
||||||
|
#
|
||||||
|
# Test grants with query cache to be run when mysqltest was started
|
||||||
|
# without any "--<whatever>-protocol".
|
||||||
|
#
|
||||||
|
# Last update:
|
||||||
|
# 2007-05-03 ML - Move t/grant_cache.test to include/grant_cache.inc
|
||||||
|
# - Create this test as non "--<whatever>-protocol" variant.
|
||||||
|
#
|
||||||
|
|
||||||
|
# We cannot run on embedded server because we use multiple sessions.
|
||||||
|
--source include/not_embedded.inc
|
||||||
|
|
||||||
|
--source include/have_query_cache.inc
|
||||||
|
|
||||||
|
# The file with expected results fits only to a run without
|
||||||
|
# ps-protocol/sp-protocol/cursor-protocol/view-protocol.
|
||||||
|
if (`SELECT $PS_PROTOCOL + $SP_PROTOCOL + $CURSOR_PROTOCOL
|
||||||
|
+ $VIEW_PROTOCOL > 0`)
|
||||||
|
{
|
||||||
|
--skip Test requires: ps-protocol/sp-protocol/cursor-protocol/view-protocol disabled
|
||||||
|
}
|
||||||
|
|
||||||
|
# The main testing script
|
||||||
|
--source include/grant_cache.inc
|
24
mysql-test/t/grant_cache_ps_prot.test
Normal file
24
mysql-test/t/grant_cache_ps_prot.test
Normal file
@ -0,0 +1,24 @@
|
|||||||
|
#################### t/grant_cache_ps_prot.test ##################
|
||||||
|
#
|
||||||
|
# Test grants with query cache to be run when mysqltest was
|
||||||
|
# started with the option "--ps-protocol".
|
||||||
|
#
|
||||||
|
# Last update:
|
||||||
|
# 2007-05-03 ML - Move t/grant_cache.test to include/grant_cache.inc
|
||||||
|
# - Create this test as "--ps-protocol" only variant.
|
||||||
|
#
|
||||||
|
|
||||||
|
# We cannot run on embedded server because we use multiple sessions.
|
||||||
|
--source include/not_embedded.inc
|
||||||
|
|
||||||
|
--source include/have_query_cache.inc
|
||||||
|
|
||||||
|
# The file with expected results fits only to a run with "--ps-protocol".
|
||||||
|
if (`SELECT $SP_PROTOCOL + $CURSOR_PROTOCOL + $VIEW_PROTOCOL > 0
|
||||||
|
OR $PS_PROTOCOL = 0`)
|
||||||
|
{
|
||||||
|
--skip Test requires: ps-protocol enabled, other protocols disabled
|
||||||
|
}
|
||||||
|
|
||||||
|
# The main testing script
|
||||||
|
--source include/grant_cache.inc
|
@ -263,7 +263,7 @@ EOF
|
|||||||
--exec $MYSQL test -e "show status" 2>&1 > /dev/null
|
--exec $MYSQL test -e "show status" 2>&1 > /dev/null
|
||||||
--exec $MYSQL --help 2>&1 > /dev/null
|
--exec $MYSQL --help 2>&1 > /dev/null
|
||||||
--exec $MYSQL --version 2>&1 > /dev/null
|
--exec $MYSQL --version 2>&1 > /dev/null
|
||||||
--enable_quary_log
|
--enable_query_log
|
||||||
|
|
||||||
#
|
#
|
||||||
# bug #26851: Mysql Client --pager Buffer Overflow
|
# bug #26851: Mysql Client --pager Buffer Overflow
|
||||||
|
@ -48,11 +48,6 @@ select otto from (select 1 as otto) as t1;
|
|||||||
--error 0
|
--error 0
|
||||||
select otto from (select 1 as otto) as t1;
|
select otto from (select 1 as otto) as t1;
|
||||||
|
|
||||||
# expectation <> response
|
|
||||||
-- // --error 1054
|
|
||||||
-- // select otto from (select 1 as otto) as t1;
|
|
||||||
|
|
||||||
|
|
||||||
# ----------------------------------------------------------------------------
|
# ----------------------------------------------------------------------------
|
||||||
# Negative case(statement):
|
# Negative case(statement):
|
||||||
# The derived table t1 does not contain a column named 'friedrich' .
|
# The derived table t1 does not contain a column named 'friedrich' .
|
||||||
@ -333,9 +328,9 @@ select 3 from t1 ;
|
|||||||
# This is a comment
|
# This is a comment
|
||||||
# This is a ; comment
|
# This is a ; comment
|
||||||
# This is a -- comment
|
# This is a -- comment
|
||||||
-- This is also a comment
|
# -- This is also a comment
|
||||||
-- # This is also a comment
|
# -- # This is also a comment
|
||||||
-- This is also a ; comment
|
# -- This is also a ; comment
|
||||||
|
|
||||||
# ----------------------------------------------------------------------------
|
# ----------------------------------------------------------------------------
|
||||||
# Test comments with embedded command
|
# Test comments with embedded command
|
||||||
@ -1873,7 +1868,7 @@ DROP TABLE t1;
|
|||||||
--disable_query_log
|
--disable_query_log
|
||||||
--exec $MYSQL_TEST --help 2>&1 > /dev/null
|
--exec $MYSQL_TEST --help 2>&1 > /dev/null
|
||||||
--exec $MYSQL_TEST --version 2>&1 > /dev/null
|
--exec $MYSQL_TEST --version 2>&1 > /dev/null
|
||||||
--enable_quary_log
|
--enable_query_log
|
||||||
--disable_abort_on_error
|
--disable_abort_on_error
|
||||||
--error 1
|
--error 1
|
||||||
--exec $MYSQL_TEST a b c 2>&1 > /dev/null
|
--exec $MYSQL_TEST a b c 2>&1 > /dev/null
|
||||||
|
@ -719,10 +719,10 @@ CREATE TABLE t1 (a INT UNSIGNED NOT NULL, b TIME);
|
|||||||
INSERT INTO t1 (a) VALUES (100000), (0), (100), (1000000),(10000), (1000), (10);
|
INSERT INTO t1 (a) VALUES (100000), (0), (100), (1000000),(10000), (1000), (10);
|
||||||
UPDATE t1 SET b = SEC_TO_TIME(a);
|
UPDATE t1 SET b = SEC_TO_TIME(a);
|
||||||
|
|
||||||
-- Correct ORDER
|
# Correct ORDER
|
||||||
SELECT a, b FROM t1 ORDER BY b DESC;
|
SELECT a, b FROM t1 ORDER BY b DESC;
|
||||||
|
|
||||||
-- must be ordered as the above
|
# must be ordered as the above
|
||||||
SELECT a, b FROM t1 ORDER BY SEC_TO_TIME(a) DESC;
|
SELECT a, b FROM t1 ORDER BY SEC_TO_TIME(a) DESC;
|
||||||
|
|
||||||
DROP TABLE t1;
|
DROP TABLE t1;
|
||||||
|
@ -1119,6 +1119,113 @@ EXECUTE stmt USING @a;
|
|||||||
DEALLOCATE PREPARE stmt;
|
DEALLOCATE PREPARE stmt;
|
||||||
DROP TABLE t1;
|
DROP TABLE t1;
|
||||||
|
|
||||||
|
#
|
||||||
|
# Bug#19182: CREATE TABLE bar (m INT) SELECT n FROM foo; doesn't work
|
||||||
|
# from stored procedure.
|
||||||
|
#
|
||||||
|
# The cause of a bug was that cached LEX::create_list was modified,
|
||||||
|
# and then together with LEX::key_list was reset.
|
||||||
|
#
|
||||||
|
--disable_warnings
|
||||||
|
DROP TABLE IF EXISTS t1, t2;
|
||||||
|
--enable_warnings
|
||||||
|
|
||||||
|
CREATE TABLE t1 (i INT);
|
||||||
|
|
||||||
|
PREPARE st_19182
|
||||||
|
FROM "CREATE TABLE t2 (i INT, j INT, KEY (i), KEY(j)) SELECT i FROM t1";
|
||||||
|
|
||||||
|
EXECUTE st_19182;
|
||||||
|
DESC t2;
|
||||||
|
|
||||||
|
DROP TABLE t2;
|
||||||
|
|
||||||
|
# Check that on second execution we don't loose 'j' column and the keys
|
||||||
|
# on 'i' and 'j' columns.
|
||||||
|
EXECUTE st_19182;
|
||||||
|
DESC t2;
|
||||||
|
|
||||||
|
DEALLOCATE PREPARE st_19182;
|
||||||
|
DROP TABLE t2, t1;
|
||||||
|
|
||||||
|
#
|
||||||
|
# Bug #22060 "ALTER TABLE x AUTO_INCREMENT=y in SP crashes server"
|
||||||
|
#
|
||||||
|
# Code which implemented CREATE/ALTER TABLE and CREATE DATABASE
|
||||||
|
# statement modified HA_CREATE_INFO structure in LEX, making these
|
||||||
|
# statements PS/SP-unsafe (their re-execution might have resulted
|
||||||
|
# in incorrect results).
|
||||||
|
#
|
||||||
|
--disable_warnings
|
||||||
|
drop database if exists mysqltest;
|
||||||
|
drop table if exists t1, t2;
|
||||||
|
--enable_warnings
|
||||||
|
# CREATE TABLE and CREATE TABLE ... SELECT
|
||||||
|
create database mysqltest character set utf8;
|
||||||
|
prepare stmt1 from "create table mysqltest.t1 (c char(10))";
|
||||||
|
prepare stmt2 from "create table mysqltest.t2 select 'test'";
|
||||||
|
execute stmt1;
|
||||||
|
execute stmt2;
|
||||||
|
show create table mysqltest.t1;
|
||||||
|
show create table mysqltest.t2;
|
||||||
|
drop table mysqltest.t1;
|
||||||
|
drop table mysqltest.t2;
|
||||||
|
alter database mysqltest character set latin1;
|
||||||
|
execute stmt1;
|
||||||
|
execute stmt2;
|
||||||
|
show create table mysqltest.t1;
|
||||||
|
show create table mysqltest.t2;
|
||||||
|
drop database mysqltest;
|
||||||
|
deallocate prepare stmt1;
|
||||||
|
deallocate prepare stmt2;
|
||||||
|
#
|
||||||
|
# CREATE TABLE with DATA DIRECTORY option
|
||||||
|
#
|
||||||
|
# Protect ourselves from data left in tmp/ by a previos possibly failed
|
||||||
|
# test
|
||||||
|
--system rm -f $MYSQLTEST_VARDIR/tmp/t1.*
|
||||||
|
--disable_warnings
|
||||||
|
--disable_query_log
|
||||||
|
eval prepare stmt from "create table t1 (c char(10)) data directory='$MYSQLTEST_VARDIR/tmp'";
|
||||||
|
--enable_query_log
|
||||||
|
execute stmt;
|
||||||
|
#
|
||||||
|
# DATA DIRECTORY option does not always work: if the operating
|
||||||
|
# system does not support symlinks, have_symlinks option is automatically
|
||||||
|
# disabled.
|
||||||
|
# In this case DATA DIRECTORY is silently ignored when
|
||||||
|
# creating a table, and is not output by SHOW CREATE TABLE.
|
||||||
|
#
|
||||||
|
--disable_result_log
|
||||||
|
show create table t1;
|
||||||
|
--enable_result_log
|
||||||
|
drop table t1;
|
||||||
|
execute stmt;
|
||||||
|
--disable_result_log
|
||||||
|
show create table t1;
|
||||||
|
--enable_result_log
|
||||||
|
--enable_warnings
|
||||||
|
drop table t1;
|
||||||
|
deallocate prepare stmt;
|
||||||
|
#
|
||||||
|
|
||||||
|
#
|
||||||
|
# Bug #27937: crash on the second execution for prepared statement
|
||||||
|
# from UNION with ORDER BY an expression containing RAND()
|
||||||
|
#
|
||||||
|
|
||||||
|
CREATE TABLE t1(a int);
|
||||||
|
INSERT INTO t1 VALUES (2), (3), (1);
|
||||||
|
|
||||||
|
PREPARE st1 FROM
|
||||||
|
'(SELECT a FROM t1) UNION (SELECT a+10 FROM t1) ORDER BY RAND()*0+a';
|
||||||
|
|
||||||
|
EXECUTE st1;
|
||||||
|
EXECUTE st1;
|
||||||
|
|
||||||
|
DEALLOCATE PREPARE st1;
|
||||||
|
DROP TABLE t1;
|
||||||
|
|
||||||
--echo End of 4.1 tests.
|
--echo End of 4.1 tests.
|
||||||
|
|
||||||
############################# 5.0 tests start ################################
|
############################# 5.0 tests start ################################
|
||||||
@ -1597,6 +1704,77 @@ EXECUTE stmt USING @arg;
|
|||||||
DEALLOCATE PREPARE stmt;
|
DEALLOCATE PREPARE stmt;
|
||||||
|
|
||||||
DROP TABLE t1,t2;
|
DROP TABLE t1,t2;
|
||||||
|
#
|
||||||
|
# Bug#4968 "Stored procedure crash if cursor opened on altered table"
|
||||||
|
# The bug is not repeatable any more after the fix for
|
||||||
|
# Bug#15217 "Bug #15217 Using a SP cursor on a table created with PREPARE
|
||||||
|
# fails with weird error", however ALTER TABLE is not re-execution friendly
|
||||||
|
# and that caused a valgrind warning. Check that the warning is gone.
|
||||||
|
#
|
||||||
|
--disable_warnings
|
||||||
|
drop table if exists t1;
|
||||||
|
--enable_warnings
|
||||||
|
create table t1 (s1 char(20));
|
||||||
|
prepare stmt from "alter table t1 modify s1 int";
|
||||||
|
execute stmt;
|
||||||
|
execute stmt;
|
||||||
|
drop table t1;
|
||||||
|
deallocate prepare stmt;
|
||||||
|
|
||||||
|
#
|
||||||
|
# Bug#6895 "Prepared Statements: ALTER TABLE DROP COLUMN does nothing"
|
||||||
|
#
|
||||||
|
--disable_warnings
|
||||||
|
drop table if exists t1;
|
||||||
|
--enable_warnings
|
||||||
|
create table t1 (a int, b int);
|
||||||
|
prepare s_6895 from "alter table t1 drop column b";
|
||||||
|
execute s_6895;
|
||||||
|
show columns from t1;
|
||||||
|
drop table t1;
|
||||||
|
create table t1 (a int, b int);
|
||||||
|
execute s_6895;
|
||||||
|
show columns from t1;
|
||||||
|
drop table t1;
|
||||||
|
create table t1 (a int, b int);
|
||||||
|
execute s_6895;
|
||||||
|
show columns from t1;
|
||||||
|
deallocate prepare s_6895;
|
||||||
|
drop table t1;
|
||||||
|
|
||||||
|
#
|
||||||
|
# Bug #22060 "ALTER TABLE x AUTO_INCREMENT=y in SP crashes server"
|
||||||
|
#
|
||||||
|
# 5.0 part of the test.
|
||||||
|
#
|
||||||
|
|
||||||
|
# ALTER TABLE
|
||||||
|
create table t1 (i int primary key auto_increment) comment='comment for table t1';
|
||||||
|
create table t2 (i int, j int, k int);
|
||||||
|
prepare stmt from "alter table t1 auto_increment=100";
|
||||||
|
execute stmt;
|
||||||
|
show create table t1;
|
||||||
|
# Let us trash table-cache's memory
|
||||||
|
flush tables;
|
||||||
|
select * from t2;
|
||||||
|
execute stmt;
|
||||||
|
show create table t1;
|
||||||
|
deallocate prepare stmt;
|
||||||
|
drop table t1, t2;
|
||||||
|
# 5.1 part of the test.
|
||||||
|
# CREATE DATABASE
|
||||||
|
set @old_character_set_server= @@character_set_server;
|
||||||
|
set @@character_set_server= latin1;
|
||||||
|
prepare stmt from "create database mysqltest_1";
|
||||||
|
execute stmt;
|
||||||
|
show create database mysqltest_1;
|
||||||
|
drop database mysqltest_1;
|
||||||
|
set @@character_set_server= utf8;
|
||||||
|
execute stmt;
|
||||||
|
show create database mysqltest_1;
|
||||||
|
drop database mysqltest_1;
|
||||||
|
deallocate prepare stmt;
|
||||||
|
set @@character_set_server= @old_character_set_server;
|
||||||
|
|
||||||
|
|
||||||
#
|
#
|
||||||
@ -2571,5 +2749,21 @@ connection default;
|
|||||||
|
|
||||||
DROP TABLE t1, t2;
|
DROP TABLE t1, t2;
|
||||||
|
|
||||||
|
#
|
||||||
|
# Bug #24879 Prepared Statements: CREATE TABLE (UTF8 KEY) produces a growing
|
||||||
|
# key length
|
||||||
|
#
|
||||||
|
# Test that parse information is not altered by subsequent executions of a
|
||||||
|
# prepared statement
|
||||||
|
#
|
||||||
|
drop table if exists t1;
|
||||||
|
prepare stmt
|
||||||
|
from "create table t1 (c char(100) character set utf8, key (c(10)))";
|
||||||
|
execute stmt;
|
||||||
|
show create table t1;
|
||||||
|
drop table t1;
|
||||||
|
execute stmt;
|
||||||
|
show create table t1;
|
||||||
|
drop table t1;
|
||||||
|
|
||||||
--echo End of 5.1 tests.
|
--echo End of 5.1 tests.
|
||||||
|
26
mysql-test/t/query_cache_ps_no_prot.test
Normal file
26
mysql-test/t/query_cache_ps_no_prot.test
Normal file
@ -0,0 +1,26 @@
|
|||||||
|
#################### t/query_cache_ps_no_prot.test #####################
|
||||||
|
#
|
||||||
|
# Test grants with query cache to be run when mysqltest was started
|
||||||
|
# without any "--<whatever>-protocol".
|
||||||
|
#
|
||||||
|
# Last update:
|
||||||
|
# 2007-05-03 ML - Move t/query_cache_sql_prepare.test to
|
||||||
|
# include/query_cache_sql_prepare.inc
|
||||||
|
# - Create this test as non "--<whatever>-protocol" variant.
|
||||||
|
#
|
||||||
|
|
||||||
|
# We cannot run on embedded server because we use multiple sessions.
|
||||||
|
--source include/not_embedded.inc
|
||||||
|
|
||||||
|
--source include/have_query_cache.inc
|
||||||
|
|
||||||
|
# The file with expected results fits only to a run without
|
||||||
|
# ps-protocol/sp-protocol/cursor-protocol/view-protocol.
|
||||||
|
if (`SELECT $PS_PROTOCOL + $SP_PROTOCOL + $CURSOR_PROTOCOL
|
||||||
|
+ $VIEW_PROTOCOL > 0`)
|
||||||
|
{
|
||||||
|
--skip Test requires: ps-protocol/sp-protocol/cursor-protocol/view-protocol disabled
|
||||||
|
}
|
||||||
|
|
||||||
|
# The main testing script
|
||||||
|
--source include/query_cache_sql_prepare.inc
|
25
mysql-test/t/query_cache_ps_ps_prot.test
Normal file
25
mysql-test/t/query_cache_ps_ps_prot.test
Normal file
@ -0,0 +1,25 @@
|
|||||||
|
#################### t/query_cache_ps_ps_prot.test #####################
|
||||||
|
#
|
||||||
|
# Test grants with query cache to be run when mysqltest was started
|
||||||
|
# without any "--<whatever>-protocol".
|
||||||
|
#
|
||||||
|
# Last update:
|
||||||
|
# 2007-05-03 ML - Move t/query_cache_sql_prepare.test to
|
||||||
|
# include/query_cache_sql_prepare.inc
|
||||||
|
# - Create this test as "--ps-protocol" only variant.
|
||||||
|
#
|
||||||
|
|
||||||
|
# We cannot run on embedded server because we use multiple sessions.
|
||||||
|
--source include/not_embedded.inc
|
||||||
|
|
||||||
|
--source include/have_query_cache.inc
|
||||||
|
|
||||||
|
# The file with expected results fits only to a run with "--ps-protocol".
|
||||||
|
if (`SELECT $SP_PROTOCOL + $CURSOR_PROTOCOL + $VIEW_PROTOCOL > 0
|
||||||
|
OR $PS_PROTOCOL = 0`)
|
||||||
|
{
|
||||||
|
--skip Test requires: ps-protocol enabled, other protocols disabled
|
||||||
|
}
|
||||||
|
|
||||||
|
# The main testing script
|
||||||
|
--source include/query_cache_sql_prepare.inc
|
@ -1,146 +0,0 @@
|
|||||||
# This is to see how statements prepared via the PREPARE SQL command
|
|
||||||
# go into the query cache: if using parameters they cannot; if not
|
|
||||||
# using parameters they can.
|
|
||||||
# Query cache is abbreviated as "QC"
|
|
||||||
|
|
||||||
-- source include/have_query_cache.inc
|
|
||||||
# embedded can't make more than one connection, which this test needs
|
|
||||||
-- source include/not_embedded.inc
|
|
||||||
|
|
||||||
connect (con1,localhost,root,,test,$MASTER_MYPORT,);
|
|
||||||
connection default;
|
|
||||||
|
|
||||||
set global query_cache_size=100000;
|
|
||||||
flush status;
|
|
||||||
create table t1(c1 int);
|
|
||||||
insert into t1 values(1),(10),(100);
|
|
||||||
|
|
||||||
# Prepared statements has no parameters, query caching should happen
|
|
||||||
prepare stmt1 from "select * from t1 where c1=10";
|
|
||||||
show status like 'Qcache_hits';
|
|
||||||
execute stmt1;
|
|
||||||
show status like 'Qcache_hits';
|
|
||||||
execute stmt1;
|
|
||||||
show status like 'Qcache_hits';
|
|
||||||
execute stmt1;
|
|
||||||
show status like 'Qcache_hits';
|
|
||||||
# Another prepared statement (same text, same connection), should hit the QC
|
|
||||||
prepare stmt2 from "select * from t1 where c1=10";
|
|
||||||
execute stmt2;
|
|
||||||
show status like 'Qcache_hits';
|
|
||||||
execute stmt2;
|
|
||||||
show status like 'Qcache_hits';
|
|
||||||
execute stmt2;
|
|
||||||
show status like 'Qcache_hits';
|
|
||||||
# Another prepared statement (same text, other connection), should hit the QC
|
|
||||||
connection con1;
|
|
||||||
prepare stmt3 from "select * from t1 where c1=10";
|
|
||||||
execute stmt3;
|
|
||||||
show status like 'Qcache_hits';
|
|
||||||
execute stmt3;
|
|
||||||
show status like 'Qcache_hits';
|
|
||||||
execute stmt3;
|
|
||||||
show status like 'Qcache_hits';
|
|
||||||
connection default;
|
|
||||||
# A non-prepared statement (same text, same connection), should hit
|
|
||||||
# the QC (as it uses the text protocol like SQL EXECUTE).
|
|
||||||
# But if it uses the binary protocol, it will not hit. So we make sure
|
|
||||||
# that it uses the text protocol:
|
|
||||||
-- disable_ps_protocol
|
|
||||||
select * from t1 where c1=10;
|
|
||||||
show status like 'Qcache_hits';
|
|
||||||
# A non-prepared statement (same text, other connection), should hit
|
|
||||||
# the QC. To test that it hits the result of SQL EXECUTE, we need to
|
|
||||||
# empty/repopulate the QC (to remove the result from the non-prepared
|
|
||||||
# SELECT just above).
|
|
||||||
flush tables;
|
|
||||||
execute stmt1;
|
|
||||||
show status like 'Qcache_hits';
|
|
||||||
connection con1;
|
|
||||||
select * from t1 where c1=10;
|
|
||||||
show status like 'Qcache_hits';
|
|
||||||
-- enable_ps_protocol
|
|
||||||
connection default;
|
|
||||||
|
|
||||||
# Prepared statement has parameters, query caching should not happen
|
|
||||||
prepare stmt1 from "select * from t1 where c1=?";
|
|
||||||
show status like 'Qcache_hits';
|
|
||||||
set @a=1;
|
|
||||||
execute stmt1 using @a;
|
|
||||||
show status like 'Qcache_hits';
|
|
||||||
set @a=100;
|
|
||||||
execute stmt1 using @a;
|
|
||||||
show status like 'Qcache_hits';
|
|
||||||
set @a=10;
|
|
||||||
execute stmt1 using @a;
|
|
||||||
show status like 'Qcache_hits';
|
|
||||||
|
|
||||||
# See if enabling/disabling the query cache between PREPARE and
|
|
||||||
# EXECUTE is an issue; the expected result is that the query cache
|
|
||||||
# will not be used.
|
|
||||||
# Indeed, decision to read/write the query cache is taken at PREPARE
|
|
||||||
# time, so if the query cache was disabled at PREPARE time then no
|
|
||||||
# execution of the statement will read/write the query cache.
|
|
||||||
# If the query cache was enabled at PREPARE time, but disabled at
|
|
||||||
# EXECUTE time, at EXECUTE time the query cache internal functions do
|
|
||||||
# nothing so again the query cache is not read/written. But if the
|
|
||||||
# query cache is re-enabled before another execution then that
|
|
||||||
# execution will read/write the query cache.
|
|
||||||
|
|
||||||
# QC is enabled at PREPARE
|
|
||||||
prepare stmt1 from "select * from t1 where c1=10";
|
|
||||||
# then QC is disabled at EXECUTE
|
|
||||||
set global query_cache_size=0;
|
|
||||||
show status like 'Qcache_hits';
|
|
||||||
execute stmt1;
|
|
||||||
show status like 'Qcache_hits';
|
|
||||||
execute stmt1;
|
|
||||||
show status like 'Qcache_hits';
|
|
||||||
execute stmt1;
|
|
||||||
show status like 'Qcache_hits';
|
|
||||||
# then QC is re-enabled for more EXECUTE.
|
|
||||||
set global query_cache_size=100000;
|
|
||||||
# Note that this execution will not hit results from the
|
|
||||||
# beginning of the test (because QC has been emptied meanwhile by
|
|
||||||
# setting its size to 0).
|
|
||||||
execute stmt1;
|
|
||||||
show status like 'Qcache_hits';
|
|
||||||
execute stmt1;
|
|
||||||
show status like 'Qcache_hits';
|
|
||||||
execute stmt1;
|
|
||||||
show status like 'Qcache_hits';
|
|
||||||
|
|
||||||
# QC is disabled at PREPARE
|
|
||||||
set global query_cache_size=0;
|
|
||||||
prepare stmt1 from "select * from t1 where c1=10";
|
|
||||||
# then QC is enabled at EXECUTE
|
|
||||||
set global query_cache_size=100000;
|
|
||||||
show status like 'Qcache_hits';
|
|
||||||
execute stmt1;
|
|
||||||
show status like 'Qcache_hits';
|
|
||||||
execute stmt1;
|
|
||||||
show status like 'Qcache_hits';
|
|
||||||
execute stmt1;
|
|
||||||
show status like 'Qcache_hits';
|
|
||||||
|
|
||||||
# QC is disabled at PREPARE
|
|
||||||
set global query_cache_size=0;
|
|
||||||
prepare stmt1 from "select * from t1 where c1=?";
|
|
||||||
# then QC is enabled at EXECUTE
|
|
||||||
set global query_cache_size=100000;
|
|
||||||
show status like 'Qcache_hits';
|
|
||||||
set @a=1;
|
|
||||||
execute stmt1 using @a;
|
|
||||||
show status like 'Qcache_hits';
|
|
||||||
set @a=100;
|
|
||||||
execute stmt1 using @a;
|
|
||||||
show status like 'Qcache_hits';
|
|
||||||
set @a=10;
|
|
||||||
execute stmt1 using @a;
|
|
||||||
show status like 'Qcache_hits';
|
|
||||||
|
|
||||||
|
|
||||||
drop table t1;
|
|
||||||
|
|
||||||
set global query_cache_size=0;
|
|
||||||
flush status; # reset Qcache status variables for next tests
|
|
@ -7,10 +7,8 @@ select (1,2,3) IN ((3,2,3), (1,2,3), (1,3,3));
|
|||||||
select row(10,2,3) IN (row(3,2,3), row(1,2,3), row(1,3,3));
|
select row(10,2,3) IN (row(3,2,3), row(1,2,3), row(1,3,3));
|
||||||
select row(1,2,3) IN (row(3,NULL,3), row(1,2,3), row(1,3,3));
|
select row(1,2,3) IN (row(3,NULL,3), row(1,2,3), row(1,3,3));
|
||||||
select row(10,2,3) IN (row(3,NULL,3), row(1,2,3), row(1,3,3));
|
select row(10,2,3) IN (row(3,NULL,3), row(1,2,3), row(1,3,3));
|
||||||
--disable_ps_warnings
|
|
||||||
select row('a',1.5,3) IN (row(1,2,3), row('a',1.5,3), row('a','a','a'));
|
select row('a',1.5,3) IN (row(1,2,3), row('a',1.5,3), row('a','a','a'));
|
||||||
select row('a',0,3) IN (row(3,2,3), row('a','a','3'), row(1,3,3));
|
select row('a',0,3) IN (row(3,2,3), row('a','a','3'), row(1,3,3));
|
||||||
--enable_ps_warnings
|
|
||||||
select row('a',0,3) IN (row(3,2,3), row('a','0','3'), row(1,3,3));
|
select row('a',0,3) IN (row(3,2,3), row('a','0','3'), row(1,3,3));
|
||||||
select row('a',1.5,3) IN (row(3,NULL,3), row('a',1.5,3), row(1,3,3));
|
select row('a',1.5,3) IN (row(3,NULL,3), row('a',1.5,3), row(1,3,3));
|
||||||
select row('b',1.5,3) IN (row(3,NULL,3), row('a',1.5,3), row(1,3,3));
|
select row('b',1.5,3) IN (row(3,NULL,3), row('a',1.5,3), row(1,3,3));
|
||||||
|
@ -22,7 +22,7 @@ connection slave;
|
|||||||
SELECT * FROM t1;
|
SELECT * FROM t1;
|
||||||
|
|
||||||
--replace_result $MASTER_MYPORT MASTER_PORT
|
--replace_result $MASTER_MYPORT MASTER_PORT
|
||||||
--replace_column 1 # 7 # 8 # 9 # 22 # 23 # 33 #
|
--replace_column 1 # 6 # 7 # 8 # 9 # 22 # 23 # 33 #
|
||||||
--query_vertical SHOW SLAVE STATUS
|
--query_vertical SHOW SLAVE STATUS
|
||||||
|
|
||||||
SET GLOBAL SQL_SLAVE_SKIP_COUNTER=1;
|
SET GLOBAL SQL_SLAVE_SKIP_COUNTER=1;
|
||||||
@ -34,10 +34,9 @@ START SLAVE;
|
|||||||
|
|
||||||
SELECT * FROM t1;
|
SELECT * FROM t1;
|
||||||
--replace_result $MASTER_MYPORT MASTER_PORT
|
--replace_result $MASTER_MYPORT MASTER_PORT
|
||||||
--replace_column 1 # 7 # 8 # 9 # 22 # 23 # 33 #
|
--replace_column 1 # 6 # 7 # 8 # 9 # 22 # 23 # 33 #
|
||||||
--query_vertical SHOW SLAVE STATUS
|
--query_vertical SHOW SLAVE STATUS
|
||||||
|
|
||||||
DROP TABLE t1;
|
|
||||||
connection master;
|
connection master;
|
||||||
DROP TABLE t1;
|
DROP TABLE t1;
|
||||||
|
--sync_slave_with_master
|
||||||
|
@ -197,7 +197,7 @@ UPDATE t1 SET `nom`="DEAD" WHERE `nid`=1;
|
|||||||
--connection slave
|
--connection slave
|
||||||
--echo **** On Slave ****
|
--echo **** On Slave ****
|
||||||
--replace_result $MASTER_MYPORT MASTER_PORT
|
--replace_result $MASTER_MYPORT MASTER_PORT
|
||||||
--replace_column 1 <Slave_IO_State> 7 <Read_Master_Log_Pos> 8 <Relay_Log_File> 9 <Relay_Log_Pos> 16 <Replicate_Ignore_Table> 22 <Exec_Master_Log_Pos> 23 <Relay_Log_Space> 33 <Seconds_Behind_Master>
|
--replace_column 1 <Slave_IO_State> 7 <Read_Master_Log_Pos> 8 <Relay_Log_File> 9 <Relay_Log_Pos> 16 <Replicate_Ignore_Table> 19 <Last_Errno> 20 <Last_Error> 22 <Exec_Master_Log_Pos> 23 <Relay_Log_Space> 33 <Seconds_Behind_Master>
|
||||||
--query_vertical SHOW SLAVE STATUS;
|
--query_vertical SHOW SLAVE STATUS;
|
||||||
|
|
||||||
# now set max retries high enough to succeed, and start slave again
|
# now set max retries high enough to succeed, and start slave again
|
||||||
|
@ -24,6 +24,7 @@
|
|||||||
#
|
#
|
||||||
|
|
||||||
--source include/master-slave.inc
|
--source include/master-slave.inc
|
||||||
|
--source include/have_binlog_format_row.inc
|
||||||
--source include/have_ndb.inc
|
--source include/have_ndb.inc
|
||||||
let $engine_type= NDB;
|
let $engine_type= NDB;
|
||||||
let $temp_engine_type= MEMORY;
|
let $temp_engine_type= MEMORY;
|
||||||
|
@ -183,67 +183,67 @@ select "--- Test 3 First Remote test --" as "";
|
|||||||
--exec $MYSQL_BINLOG --short-form --local-load=$MYSQLTEST_VARDIR/tmp/ --read-from-remote-server --user=root --host=127.0.0.1 --port=$MASTER_MYPORT master-bin.000001
|
--exec $MYSQL_BINLOG --short-form --local-load=$MYSQLTEST_VARDIR/tmp/ --read-from-remote-server --user=root --host=127.0.0.1 --port=$MASTER_MYPORT master-bin.000001
|
||||||
|
|
||||||
# This part is disabled due to bug #17654
|
# This part is disabled due to bug #17654
|
||||||
################### Start Bug 17654 ######################
|
|
||||||
#--disable_query_log
|
|
||||||
#select "--- Test 4 Second Remote test --" as "";
|
|
||||||
#--enable_query_log
|
|
||||||
#--exec $MYSQL_BINLOG --read-from-remote-server --user=root --host=127.0.0.1 --port=$MASTER_MYPORT master-bin.000001 > $MYSQLTEST_VARDIR/tmp/remote.sql
|
|
||||||
|
|
||||||
#--exec $MYSQL_BINLOG --read-from-remote-server --user=root --host=127.0.0.1 --port=$MASTER_MYPORT master-bin.000002 >> $MYSQLTEST_VARDIR/tmp/remote.sql
|
--disable_query_log
|
||||||
|
select "--- Test 4 Second Remote test --" as "";
|
||||||
|
--enable_query_log
|
||||||
|
--exec $MYSQL_BINLOG --read-from-remote-server --user=root --host=127.0.0.1 --port=$MASTER_MYPORT master-bin.000001 > $MYSQLTEST_VARDIR/tmp/remote.sql
|
||||||
|
|
||||||
|
--exec $MYSQL_BINLOG --read-from-remote-server --user=root --host=127.0.0.1 --port=$MASTER_MYPORT master-bin.000002 >> $MYSQLTEST_VARDIR/tmp/remote.sql
|
||||||
|
|
||||||
# Now that we have our file, lets get rid of the current database.
|
# Now that we have our file, lets get rid of the current database.
|
||||||
# Cleanup the master and the slave and try to recreate.
|
# Cleanup the master and the slave and try to recreate.
|
||||||
|
|
||||||
#DROP TABLE t1;
|
DROP TABLE t1;
|
||||||
#DROP TABLE t2;
|
DROP TABLE t2;
|
||||||
#DROP TABLE t3;
|
DROP TABLE t3;
|
||||||
|
|
||||||
#sync_slave_with_master;
|
sync_slave_with_master;
|
||||||
|
|
||||||
#we expect STOP SLAVE to produce a warning as the slave is stopped
|
#we expect STOP SLAVE to produce a warning as the slave is stopped
|
||||||
#(the server was started with skip-slave-start)
|
#(the server was started with skip-slave-start)
|
||||||
|
|
||||||
#--disable_warnings
|
--disable_warnings
|
||||||
#stop slave;
|
stop slave;
|
||||||
#--enable_warnings
|
--enable_warnings
|
||||||
#--require r/slave-stopped.result
|
--require r/slave-stopped.result
|
||||||
#show status like 'Slave_running';
|
show status like 'Slave_running';
|
||||||
#connection master;
|
connection master;
|
||||||
#reset master;
|
reset master;
|
||||||
#connection slave;
|
connection slave;
|
||||||
#reset slave;
|
reset slave;
|
||||||
#start slave;
|
start slave;
|
||||||
#--require r/slave-running.result
|
--require r/slave-running.result
|
||||||
#show status like 'Slave_running';
|
show status like 'Slave_running';
|
||||||
#connection master;
|
connection master;
|
||||||
|
|
||||||
# We should be clean at this point, now we will run in the file from above.
|
# We should be clean at this point, now we will run in the file from above.
|
||||||
|
|
||||||
#--exec $MYSQL -e "source $MYSQLTEST_VARDIR/tmp/remote.sql"
|
--exec $MYSQL -e "source $MYSQLTEST_VARDIR/tmp/remote.sql"
|
||||||
|
|
||||||
# Lets Check the tables on the Master
|
# Lets Check the tables on the Master
|
||||||
|
|
||||||
#SELECT COUNT(*) from t1;
|
SELECT COUNT(*) from t1;
|
||||||
#SELECT COUNT(*) from t2;
|
SELECT COUNT(*) from t2;
|
||||||
#SELECT COUNT(*) from t3;
|
SELECT COUNT(*) from t3;
|
||||||
#SELECT * FROM t1 ORDER BY word LIMIT 5;
|
SELECT * FROM t1 ORDER BY word LIMIT 5;
|
||||||
#SELECT * FROM t2 ORDER BY id LIMIT 5;
|
SELECT * FROM t2 ORDER BY id LIMIT 5;
|
||||||
#SELECT c1, c3, c4, c5 FROM t3 ORDER BY c1 LIMIT 5;
|
SELECT c1, c3, c4, c5 FROM t3 ORDER BY c1 LIMIT 5;
|
||||||
|
|
||||||
# Should have the same on the slave;
|
# Should have the same on the slave;
|
||||||
|
|
||||||
#sync_slave_with_master;
|
sync_slave_with_master;
|
||||||
#SELECT COUNT(*) from t1;
|
SELECT COUNT(*) from t1;
|
||||||
#SELECT COUNT(*) from t2;
|
SELECT COUNT(*) from t2;
|
||||||
#SELECT COUNT(*) from t3;
|
SELECT COUNT(*) from t3;
|
||||||
#SELECT * FROM t1 ORDER BY word LIMIT 5;
|
SELECT * FROM t1 ORDER BY word LIMIT 5;
|
||||||
#SELECT * FROM t2 ORDER BY id LIMIT 5;
|
SELECT * FROM t2 ORDER BY id LIMIT 5;
|
||||||
#SELECT c1, c3, c4, c5 FROM t3 ORDER BY c1 LIMIT 5;
|
SELECT c1, c3, c4, c5 FROM t3 ORDER BY c1 LIMIT 5;
|
||||||
#connection master;
|
connection master;
|
||||||
|
|
||||||
# We should be gold by the time, so I will get rid of our file.
|
# We should be gold by the time, so I will get rid of our file.
|
||||||
|
|
||||||
#--exec rm $MYSQLTEST_VARDIR/tmp/remote.sql
|
--exec rm $MYSQLTEST_VARDIR/tmp/remote.sql
|
||||||
################### End Bug 17654 ######################
|
################### End Bug 17654 ######################
|
||||||
|
|
||||||
# LOAD DATA
|
# LOAD DATA
|
||||||
@ -315,7 +315,34 @@ select "--- Test cleanup --" as "";
|
|||||||
--enable_query_log
|
--enable_query_log
|
||||||
# clean up
|
# clean up
|
||||||
connection master;
|
connection master;
|
||||||
DROP TABLE IF EXISTS t1, t2, t3, t04, t05, t4, t5;
|
|
||||||
sync_slave_with_master;
|
sync_slave_with_master;
|
||||||
|
|
||||||
|
connection master;
|
||||||
|
|
||||||
|
# BUG#17654 also test mysqlbinlog to ensure it can read the binlog from a remote server
|
||||||
|
# and ensure that the results are the same as if read from a file (the same file).
|
||||||
|
|
||||||
|
--disable_warnings
|
||||||
|
DROP TABLE IF EXISTS t1;
|
||||||
|
--enable_warnings
|
||||||
|
|
||||||
|
CREATE TABLE t1 (a INT NOT NULL KEY, b INT);
|
||||||
|
|
||||||
|
INSERT INTO t1 VALUES(1,1);
|
||||||
|
|
||||||
|
SELECT * FROM t1;
|
||||||
|
|
||||||
|
FLUSH LOGS;
|
||||||
|
|
||||||
|
--exec $MYSQL_BINLOG --read-from-remote-server --user=root --host=127.0.0.1 --port=$MASTER_MYPORT master-bin.000001 > $MYSQLTEST_VARDIR/tmp/remote.sql
|
||||||
|
--exec $MYSQL_BINLOG $MYSQLTEST_VARDIR/log/master-bin.000001 > $MYSQLTEST_VARDIR/tmp/local.sql
|
||||||
|
|
||||||
|
--diff_files $MYSQLTEST_VARDIR/tmp/local.sql $MYSQLTEST_VARDIR/tmp/remote.sql
|
||||||
|
|
||||||
|
--exec rm $MYSQLTEST_VARDIR/tmp/remote.sql
|
||||||
|
|
||||||
|
--exec rm $MYSQLTEST_VARDIR/tmp/local.sql
|
||||||
|
|
||||||
|
DROP TABLE IF EXISTS t1, t2, t3, t04, t05, t4, t5;
|
||||||
|
|
||||||
# End of 4.1 tests
|
# End of 4.1 tests
|
||||||
|
@ -33,7 +33,7 @@ wait_for_slave_to_stop;
|
|||||||
select * from t1;
|
select * from t1;
|
||||||
--replace_result $MASTER_MYPORT MASTER_MYPORT
|
--replace_result $MASTER_MYPORT MASTER_MYPORT
|
||||||
--replace_column 1 # 9 # 11 # 23 # 33 #
|
--replace_column 1 # 9 # 11 # 23 # 33 #
|
||||||
show slave status;
|
--query_vertical SHOW SLAVE STATUS;
|
||||||
|
|
||||||
# this should fail right after start
|
# this should fail right after start
|
||||||
start slave until master_log_file='master-no-such-bin.000001', master_log_pos=291;
|
start slave until master_log_file='master-no-such-bin.000001', master_log_pos=291;
|
||||||
@ -43,7 +43,7 @@ sleep 2;
|
|||||||
wait_for_slave_to_stop;
|
wait_for_slave_to_stop;
|
||||||
--replace_result $MASTER_MYPORT MASTER_MYPORT
|
--replace_result $MASTER_MYPORT MASTER_MYPORT
|
||||||
--replace_column 1 # 9 # 11 # 23 # 33 #
|
--replace_column 1 # 9 # 11 # 23 # 33 #
|
||||||
show slave status;
|
--query_vertical SHOW SLAVE STATUS;
|
||||||
|
|
||||||
# try replicate all up to and not including the second insert to t2;
|
# try replicate all up to and not including the second insert to t2;
|
||||||
start slave until relay_log_file='slave-relay-bin.000004', relay_log_pos=728;
|
start slave until relay_log_file='slave-relay-bin.000004', relay_log_pos=728;
|
||||||
@ -52,7 +52,7 @@ wait_for_slave_to_stop;
|
|||||||
select * from t2;
|
select * from t2;
|
||||||
--replace_result $MASTER_MYPORT MASTER_MYPORT
|
--replace_result $MASTER_MYPORT MASTER_MYPORT
|
||||||
--replace_column 1 # 9 # 11 # 23 # 33 #
|
--replace_column 1 # 9 # 11 # 23 # 33 #
|
||||||
show slave status;
|
--query_vertical SHOW SLAVE STATUS;
|
||||||
|
|
||||||
# clean up
|
# clean up
|
||||||
start slave;
|
start slave;
|
||||||
@ -69,7 +69,7 @@ wait_for_slave_to_stop;
|
|||||||
# here the sql slave thread should be stopped
|
# here the sql slave thread should be stopped
|
||||||
--replace_result $MASTER_MYPORT MASTER_MYPORT bin.000005 bin.000004 bin.000006 bin.000004 bin.000007 bin.000004
|
--replace_result $MASTER_MYPORT MASTER_MYPORT bin.000005 bin.000004 bin.000006 bin.000004 bin.000007 bin.000004
|
||||||
--replace_column 1 # 9 # 23 # 33 #
|
--replace_column 1 # 9 # 23 # 33 #
|
||||||
show slave status;
|
--query_vertical SHOW SLAVE STATUS;
|
||||||
|
|
||||||
#testing various error conditions
|
#testing various error conditions
|
||||||
--error 1277
|
--error 1277
|
||||||
|
@ -1458,7 +1458,7 @@ select bug12329();
|
|||||||
# Until we implement proper mechanism for invalidation of PS/SP when table
|
# Until we implement proper mechanism for invalidation of PS/SP when table
|
||||||
# or SP's are changed the following statement will fail with 'Table ... was
|
# or SP's are changed the following statement will fail with 'Table ... was
|
||||||
# not locked' error (this mechanism should be based on the new TDC).
|
# not locked' error (this mechanism should be based on the new TDC).
|
||||||
--error 1100
|
--error ER_NO_SUCH_TABLE
|
||||||
execute stmt1;
|
execute stmt1;
|
||||||
deallocate prepare stmt1;
|
deallocate prepare stmt1;
|
||||||
drop function bug12329;
|
drop function bug12329;
|
||||||
@ -1643,13 +1643,13 @@ create trigger t1_ai after insert on t1 for each row insert into t2 values (new.
|
|||||||
create view v1 as select * from t1;
|
create view v1 as select * from t1;
|
||||||
drop table t2;
|
drop table t2;
|
||||||
# Limitation, the desired error is ER_VIEW_INVALID
|
# Limitation, the desired error is ER_VIEW_INVALID
|
||||||
--error ER_TABLE_NOT_LOCKED
|
--error ER_NO_SUCH_TABLE
|
||||||
insert into v1 values (1);
|
insert into v1 values (1);
|
||||||
drop trigger t1_ai;
|
drop trigger t1_ai;
|
||||||
create function bug11555_1() returns int return (select max(i) from t2);
|
create function bug11555_1() returns int return (select max(i) from t2);
|
||||||
create trigger t1_ai after insert on t1 for each row set @a:=bug11555_1();
|
create trigger t1_ai after insert on t1 for each row set @a:=bug11555_1();
|
||||||
# Limitation, the desired error is ER_VIEW_INVALID
|
# Limitation, the desired error is ER_VIEW_INVALID
|
||||||
--error ER_TABLE_NOT_LOCKED
|
--error ER_NO_SUCH_TABLE
|
||||||
insert into v1 values (2);
|
insert into v1 values (2);
|
||||||
drop function bug11555_1;
|
drop function bug11555_1;
|
||||||
drop table t1;
|
drop table t1;
|
||||||
|
@ -301,5 +301,36 @@ deallocate prepare stmt;
|
|||||||
drop function bug19634;
|
drop function bug19634;
|
||||||
drop table t1, t2, t3;
|
drop table t1, t2, t3;
|
||||||
|
|
||||||
|
#
|
||||||
|
# Bug #27907 Misleading error message when opening/locking tables
|
||||||
|
#
|
||||||
|
|
||||||
|
--disable_warnings
|
||||||
|
drop table if exists bug_27907_logs;
|
||||||
|
drop table if exists bug_27907_t1;
|
||||||
|
--enable_warnings
|
||||||
|
|
||||||
|
create table bug_27907_logs (a int);
|
||||||
|
create table bug_27907_t1 (a int);
|
||||||
|
|
||||||
|
delimiter |;
|
||||||
|
|
||||||
|
create trigger bug_27907_t1_ai after insert on bug_27907_t1
|
||||||
|
for each row
|
||||||
|
begin
|
||||||
|
insert into bug_27907_logs (a) values (1);
|
||||||
|
end|
|
||||||
|
|
||||||
|
delimiter ;|
|
||||||
|
|
||||||
|
drop table bug_27907_logs;
|
||||||
|
|
||||||
|
#
|
||||||
|
# was failing before with error ER_NOT_LOCKED
|
||||||
|
#
|
||||||
|
--error ER_NO_SUCH_TABLE
|
||||||
|
insert into bug_27907_t1(a) values (1);
|
||||||
|
|
||||||
|
drop table bug_27907_t1;
|
||||||
|
|
||||||
--echo End of 5.0 tests
|
--echo End of 5.0 tests
|
||||||
|
@ -1412,3 +1412,39 @@ DROP PROCEDURE bug27415_text_test2|
|
|||||||
DELIMITER ;|
|
DELIMITER ;|
|
||||||
|
|
||||||
# End of 5.0 tests.
|
# End of 5.0 tests.
|
||||||
|
|
||||||
|
#
|
||||||
|
# Bug #26277 User variable returns one type in SELECT @v and other for CREATE as SELECT @v
|
||||||
|
#
|
||||||
|
--disable_warnings
|
||||||
|
drop function if exists f1;
|
||||||
|
drop table if exists t1;
|
||||||
|
--enable_warnings
|
||||||
|
|
||||||
|
delimiter |;
|
||||||
|
create function f1() returns int
|
||||||
|
begin
|
||||||
|
if @a=1 then set @b='abc';
|
||||||
|
else set @b=1;
|
||||||
|
end if;
|
||||||
|
set @a=1;
|
||||||
|
return 0;
|
||||||
|
end|
|
||||||
|
|
||||||
|
create table t1 (a int)|
|
||||||
|
insert into t1 (a) values (1), (2)|
|
||||||
|
|
||||||
|
set @b=1|
|
||||||
|
set @a=0|
|
||||||
|
select f1(), @b from t1|
|
||||||
|
|
||||||
|
set @b:='test'|
|
||||||
|
set @a=0|
|
||||||
|
select f1(), @b from t1|
|
||||||
|
|
||||||
|
delimiter ;|
|
||||||
|
|
||||||
|
drop function f1;
|
||||||
|
drop table t1;
|
||||||
|
# End of 5.1 tests.
|
||||||
|
|
||||||
|
@ -6569,6 +6569,34 @@ drop procedure proc_21462_a|
|
|||||||
drop procedure proc_21462_b|
|
drop procedure proc_21462_b|
|
||||||
|
|
||||||
|
|
||||||
|
#
|
||||||
|
# Bug#19733 "Repeated alter, or repeated create/drop, fails"
|
||||||
|
# Check that CREATE/DROP INDEX is re-execution friendly.
|
||||||
|
#
|
||||||
|
--disable_warnings
|
||||||
|
drop table if exists t3|
|
||||||
|
drop procedure if exists proc_bug19733|
|
||||||
|
--enable_warnings
|
||||||
|
create table t3 (s1 int)|
|
||||||
|
|
||||||
|
create procedure proc_bug19733()
|
||||||
|
begin
|
||||||
|
declare v int default 0;
|
||||||
|
while v < 100 do
|
||||||
|
create index i on t3 (s1);
|
||||||
|
drop index i on t3;
|
||||||
|
set v = v + 1;
|
||||||
|
end while;
|
||||||
|
end|
|
||||||
|
|
||||||
|
call proc_bug19733()|
|
||||||
|
call proc_bug19733()|
|
||||||
|
call proc_bug19733()|
|
||||||
|
|
||||||
|
drop procedure proc_bug19733|
|
||||||
|
drop table t3|
|
||||||
|
|
||||||
|
|
||||||
#
|
#
|
||||||
# BUG#20492: Subsequent calls to stored procedure yeild incorrect
|
# BUG#20492: Subsequent calls to stored procedure yeild incorrect
|
||||||
# result if join is used
|
# result if join is used
|
||||||
@ -7067,7 +7095,7 @@ use test|
|
|||||||
--disable_warnings
|
--disable_warnings
|
||||||
drop function if exists bug20777|
|
drop function if exists bug20777|
|
||||||
drop table if exists examplebug20777|
|
drop table if exists examplebug20777|
|
||||||
--enabled_warnings
|
--enable_warnings
|
||||||
create function bug20777(f1 bigint unsigned) returns bigint unsigned
|
create function bug20777(f1 bigint unsigned) returns bigint unsigned
|
||||||
begin
|
begin
|
||||||
set f1 = (f1 - 10); set f1 = (f1 + 10);
|
set f1 = (f1 - 10); set f1 = (f1 + 10);
|
||||||
|
@ -975,9 +975,7 @@ select * from t1;
|
|||||||
# Check that select don't abort even in strict mode (for now)
|
# Check that select don't abort even in strict mode (for now)
|
||||||
set sql_mode='traditional';
|
set sql_mode='traditional';
|
||||||
|
|
||||||
--disable_ps_warnings
|
|
||||||
select count(*) from t1 where STR_TO_DATE('2004.12.12 10:22:61','%Y.%m.%d %T') IS NULL;
|
select count(*) from t1 where STR_TO_DATE('2004.12.12 10:22:61','%Y.%m.%d %T') IS NULL;
|
||||||
--enable_ps_warnings
|
|
||||||
|
|
||||||
drop table t1;
|
drop table t1;
|
||||||
|
|
||||||
|
@ -260,11 +260,11 @@ insert into t2 values
|
|||||||
('dd', 1, NULL);
|
('dd', 1, NULL);
|
||||||
alter table t1 add index idx(ie1,ie2);
|
alter table t1 add index idx(ie1,ie2);
|
||||||
|
|
||||||
--cc 3 NULL NULL
|
# cc 3 NULL NULL
|
||||||
select oref, a, b, (a,b) in (select ie1,ie2 from t1 where oref=t2.oref) Z from t2 where a=3 and b is null ;
|
select oref, a, b, (a,b) in (select ie1,ie2 from t1 where oref=t2.oref) Z from t2 where a=3 and b is null ;
|
||||||
insert into t2 values ('new1', 10,10);
|
insert into t2 values ('new1', 10,10);
|
||||||
insert into t1 values ('new1', 1234, 10, NULL);
|
insert into t1 values ('new1', 1234, 10, NULL);
|
||||||
-- new1, 10, 10, NULL,
|
# new1, 10, 10, NULL,
|
||||||
select oref, a, b, (a,b) in (select ie1,ie2 from t1 where oref=t2.oref) Z from t2 where a=10 and b=10;
|
select oref, a, b, (a,b) in (select ie1,ie2 from t1 where oref=t2.oref) Z from t2 where a=10 and b=10;
|
||||||
explain extended
|
explain extended
|
||||||
select oref, a, b, (a,b) in (select ie1,ie2 from t1 where oref=t2.oref) Z from t2 where a=10 and b=10;
|
select oref, a, b, (a,b) in (select ie1,ie2 from t1 where oref=t2.oref) Z from t2 where a=10 and b=10;
|
||||||
|
@ -1000,9 +1000,9 @@ create trigger t1_bi after insert on t1 for each row insert into t3 values (new.
|
|||||||
# Until we implement proper mechanism for invalidation of PS/SP when table
|
# Until we implement proper mechanism for invalidation of PS/SP when table
|
||||||
# or SP's are changed these two statements will fail with 'Table ... was
|
# or SP's are changed these two statements will fail with 'Table ... was
|
||||||
# not locked' error (this mechanism should be based on the new TDC).
|
# not locked' error (this mechanism should be based on the new TDC).
|
||||||
--error 1100 #ER_TABLE_NOT_LOCKED
|
--error ER_NO_SUCH_TABLE
|
||||||
execute stmt1;
|
execute stmt1;
|
||||||
--error 1100 #ER_TABLE_NOT_LOCKED
|
--error ER_NO_SUCH_TABLE
|
||||||
call p1();
|
call p1();
|
||||||
deallocate prepare stmt1;
|
deallocate prepare stmt1;
|
||||||
drop procedure p1;
|
drop procedure p1;
|
||||||
|
@ -128,9 +128,12 @@ drop table t1;
|
|||||||
# Bug #23093: Implicit conversion of 9912101 to date does not match
|
# Bug #23093: Implicit conversion of 9912101 to date does not match
|
||||||
# cast(9912101 as date)
|
# cast(9912101 as date)
|
||||||
#
|
#
|
||||||
select @d:=1111, year(@d), month(@d), day(@d), cast(@d as date);
|
select @d:=1111;
|
||||||
select @d:=011111, year(@d), month(@d), day(@d), cast(@d as date);
|
select year(@d), month(@d), day(@d), cast(@d as date);
|
||||||
select @d:=1311, year(@d), month(@d), day(@d), cast(@d as date);
|
select @d:=011111;
|
||||||
|
select year(@d), month(@d), day(@d), cast(@d as date);
|
||||||
|
select @d:=1311;
|
||||||
|
select year(@d), month(@d), day(@d), cast(@d as date);
|
||||||
create table t1 (d date , dt datetime , ts timestamp);
|
create table t1 (d date , dt datetime , ts timestamp);
|
||||||
insert into t1 values (9912101,9912101,9912101);
|
insert into t1 values (9912101,9912101,9912101);
|
||||||
insert into t1 values (11111,11111,11111);
|
insert into t1 values (11111,11111,11111);
|
||||||
|
@ -231,6 +231,13 @@ select UpdateXML(@xml, '/a/b/@bb1', 'bb3="bb3"');
|
|||||||
select UpdateXML(@xml, '/a/b/@bb2', '');
|
select UpdateXML(@xml, '/a/b/@bb2', '');
|
||||||
select UpdateXML(@xml, '/a/b/@bb2', 'bb3="bb3"');
|
select UpdateXML(@xml, '/a/b/@bb2', 'bb3="bb3"');
|
||||||
|
|
||||||
|
#
|
||||||
|
# Bug#27898 UPDATEXML Crashes the Server!
|
||||||
|
#
|
||||||
|
select updatexml('<div><div><span>1</span><span>2</span></div></div>',
|
||||||
|
'/','<tr><td>1</td><td>2</td></tr>') as upd1;
|
||||||
|
select updatexml('', '/', '') as upd2;
|
||||||
|
|
||||||
#
|
#
|
||||||
# Bug#16234 XML: Crash if ExtractValue()
|
# Bug#16234 XML: Crash if ExtractValue()
|
||||||
#
|
#
|
||||||
@ -444,3 +451,85 @@ select ExtractValue('<a><parent>test</parent></a>', '/a/parent');
|
|||||||
select ExtractValue('<a><preceding>test</preceding></a>', '/a/preceding');
|
select ExtractValue('<a><preceding>test</preceding></a>', '/a/preceding');
|
||||||
select ExtractValue('<a><preceding-sibling>test</preceding-sibling></a>', '/a/preceding-sibling');
|
select ExtractValue('<a><preceding-sibling>test</preceding-sibling></a>', '/a/preceding-sibling');
|
||||||
select ExtractValue('<a><self>test</self></a>', '/a/self');
|
select ExtractValue('<a><self>test</self></a>', '/a/self');
|
||||||
|
|
||||||
|
#
|
||||||
|
# Bug#26518 XPath and variables problem
|
||||||
|
# Check with user defined variables
|
||||||
|
#
|
||||||
|
set @i=1;
|
||||||
|
select ExtractValue('<a><b>b1</b><b>b2</b></a>','/a/b[$@i]');
|
||||||
|
set @i=2;
|
||||||
|
select ExtractValue('<a><b>b1</b><b>b2</b></a>','/a/b[$@i]');
|
||||||
|
set @i=NULL;
|
||||||
|
select ExtractValue('<a><b>b1</b><b>b2</b></a>','/a/b[$@i]');
|
||||||
|
|
||||||
|
#
|
||||||
|
# Check variables in a stored procedure - both local and user variables
|
||||||
|
# Make sure that SP and local variables with the same name work together.
|
||||||
|
#
|
||||||
|
DELIMITER |;
|
||||||
|
CREATE PROCEDURE spxml(xml VARCHAR(128))
|
||||||
|
BEGIN
|
||||||
|
DECLARE c INT;
|
||||||
|
DECLARE i INT DEFAULT 1;
|
||||||
|
SET c= ExtractValue(xml,'count(/a/b)');
|
||||||
|
SET @i= c;
|
||||||
|
WHILE i <= c DO
|
||||||
|
BEGIN
|
||||||
|
SELECT i, @i, ExtractValue(xml,'/a/b[$i]'), ExtractValue(xml,'/a/b[$@i]');
|
||||||
|
SET i= i + 1;
|
||||||
|
SET @i= @i - 1;
|
||||||
|
END;
|
||||||
|
END WHILE;
|
||||||
|
END|
|
||||||
|
DELIMITER ;|
|
||||||
|
|
||||||
|
call spxml('<a><b>b1</b><b>b2</b><b>b3</b></a>');
|
||||||
|
drop procedure spxml;
|
||||||
|
|
||||||
|
#
|
||||||
|
# Additional tests for bug#26518
|
||||||
|
--echo Multiple matches, but no index specification
|
||||||
|
SELECT ExtractValue('<a><b>b1</b><b>b2</b></a>','/a/b');
|
||||||
|
--echo No matches
|
||||||
|
SELECT ExtractValue('<a><b>b1</b><b>b2</b></a>','/a/c');
|
||||||
|
--echo Index out of range
|
||||||
|
SELECT ExtractValue('<a><b>b1</b><b>b2</b></a>','/a/b[-1]');
|
||||||
|
SELECT ExtractValue('<a><b>b1</b><b>b2</b></a>','/a/b[10]');
|
||||||
|
--echo With string-to-number conversion
|
||||||
|
SELECT ExtractValue('<a><b>b1</b><b>b2</b></a>','/a/b["1"]');
|
||||||
|
SELECT ExtractValue('<a><b>b1</b><b>b2</b></a>','/a/b["1 and string"]');
|
||||||
|
SELECT ExtractValue('<a><b>b1</b><b>b2</b></a>','/a/b["string and 1"]');
|
||||||
|
SELECT ExtractValue('<a><b>b1</b><b>b2</b></a>','/a/b["string"]');
|
||||||
|
--echo String-to-number conversion from a user variable
|
||||||
|
SET @i='1';
|
||||||
|
SELECT ExtractValue('<a><b>b1</b><b>b2</b></a>','/a/b[$@i]');
|
||||||
|
SET @i='1 and string';
|
||||||
|
SELECT ExtractValue('<a><b>b1</b><b>b2</b></a>','/a/b[$@i]');
|
||||||
|
SET @i='string and 1';
|
||||||
|
SELECT ExtractValue('<a><b>b1</b><b>b2</b></a>','/a/b[$@i]');
|
||||||
|
SET @i='string';
|
||||||
|
SELECT ExtractValue('<a><b>b1</b><b>b2</b></a>','/a/b[$@i]');
|
||||||
|
|
||||||
|
--echo String-to-number conversion with a CHAR SP variable
|
||||||
|
DELIMITER |;
|
||||||
|
CREATE PROCEDURE spxml(xml VARCHAR(128), i CHAR(16))
|
||||||
|
BEGIN
|
||||||
|
SELECT ExtractValue(xml,'/a/b[$i]');
|
||||||
|
END|
|
||||||
|
DELIMITER ;|
|
||||||
|
CALL spxml('<a><b>b1</b><b>b2</b></a>', '1');
|
||||||
|
CALL spxml('<a><b>b1</b><b>b2</b></a>', '1 and string');
|
||||||
|
CALL spxml('<a><b>b1</b><b>b2</b></a>', 'string and 1');
|
||||||
|
CALL spxml('<a><b>b1</b><b>b2</b></a>', 'string');
|
||||||
|
DROP PROCEDURE spxml;
|
||||||
|
|
||||||
|
#
|
||||||
|
# Bug#28558 UpdateXML called with garbage crashes server
|
||||||
|
#
|
||||||
|
--error 1105
|
||||||
|
select UpdateXML('<a>a</a>',repeat('a b ',1000),'');
|
||||||
|
--error 1105
|
||||||
|
select ExtractValue('<a>a</a>', '/a[@x=@y0123456789_0123456789_0123456789_0123456789]');
|
||||||
|
--error 1105
|
||||||
|
select ExtractValue('<a>a</a>', '/a[@x=$y0123456789_0123456789_0123456789_0123456789]');
|
||||||
|
@ -413,7 +413,8 @@ Event_parse_data::init_interval(THD *thd)
|
|||||||
default:
|
default:
|
||||||
;/* these are the microsec stuff */
|
;/* these are the microsec stuff */
|
||||||
}
|
}
|
||||||
if (interval_tmp.neg || expression > EVEX_MAX_INTERVAL_VALUE)
|
if (interval_tmp.neg || expression == 0 ||
|
||||||
|
expression > EVEX_MAX_INTERVAL_VALUE)
|
||||||
{
|
{
|
||||||
my_error(ER_EVENT_INTERVAL_NOT_POSITIVE_OR_TOO_BIG, MYF(0));
|
my_error(ER_EVENT_INTERVAL_NOT_POSITIVE_OR_TOO_BIG, MYF(0));
|
||||||
DBUG_RETURN(EVEX_BAD_PARAMS);
|
DBUG_RETURN(EVEX_BAD_PARAMS);
|
||||||
|
@ -70,15 +70,17 @@ event_queue_element_compare_q(void *vptr, uchar* a, uchar *b)
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
Event_queue::Event_queue()
|
Event_queue::Event_queue()
|
||||||
:mutex_last_locked_at_line(0), mutex_last_unlocked_at_line(0),
|
:next_activation_at(0),
|
||||||
|
mutex_last_locked_at_line(0),
|
||||||
|
mutex_last_unlocked_at_line(0),
|
||||||
mutex_last_attempted_lock_at_line(0),
|
mutex_last_attempted_lock_at_line(0),
|
||||||
|
mutex_last_locked_in_func("n/a"),
|
||||||
|
mutex_last_unlocked_in_func("n/a"),
|
||||||
|
mutex_last_attempted_lock_in_func("n/a"),
|
||||||
mutex_queue_data_locked(FALSE),
|
mutex_queue_data_locked(FALSE),
|
||||||
next_activation_at(0),
|
mutex_queue_data_attempting_lock(FALSE),
|
||||||
mutex_queue_data_attempting_lock(FALSE)
|
waiting_on_cond(FALSE)
|
||||||
{
|
{
|
||||||
mutex_last_unlocked_in_func= mutex_last_locked_in_func=
|
|
||||||
mutex_last_attempted_lock_in_func= "";
|
|
||||||
|
|
||||||
pthread_mutex_init(&LOCK_event_queue, MY_MUTEX_INIT_FAST);
|
pthread_mutex_init(&LOCK_event_queue, MY_MUTEX_INIT_FAST);
|
||||||
pthread_cond_init(&COND_queue_state, NULL);
|
pthread_cond_init(&COND_queue_state, NULL);
|
||||||
}
|
}
|
||||||
@ -739,8 +741,11 @@ Event_queue::dump_internal_status()
|
|||||||
|
|
||||||
MYSQL_TIME time;
|
MYSQL_TIME time;
|
||||||
my_tz_UTC->gmt_sec_to_TIME(&time, next_activation_at);
|
my_tz_UTC->gmt_sec_to_TIME(&time, next_activation_at);
|
||||||
printf("Next activation : %04d-%02d-%02d %02d:%02d:%02d\n",
|
if (time.year != 1970)
|
||||||
time.year, time.month, time.day, time.hour, time.minute, time.second);
|
printf("Next activation : %04d-%02d-%02d %02d:%02d:%02d\n",
|
||||||
|
time.year, time.month, time.day, time.hour, time.minute, time.second);
|
||||||
|
else
|
||||||
|
printf("Next activation : never");
|
||||||
|
|
||||||
DBUG_VOID_RETURN;
|
DBUG_VOID_RETURN;
|
||||||
}
|
}
|
||||||
|
@ -104,7 +104,6 @@ private:
|
|||||||
bool mutex_queue_data_locked;
|
bool mutex_queue_data_locked;
|
||||||
bool mutex_queue_data_attempting_lock;
|
bool mutex_queue_data_attempting_lock;
|
||||||
bool waiting_on_cond;
|
bool waiting_on_cond;
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif /* _EVENT_QUEUE_H_ */
|
#endif /* _EVENT_QUEUE_H_ */
|
||||||
|
@ -42,7 +42,6 @@ Event_db_repository *Event_worker_thread::db_repository;
|
|||||||
static
|
static
|
||||||
const LEX_STRING scheduler_states_names[] =
|
const LEX_STRING scheduler_states_names[] =
|
||||||
{
|
{
|
||||||
{ C_STRING_WITH_LEN("UNINITIALIZED") },
|
|
||||||
{ C_STRING_WITH_LEN("INITIALIZED") },
|
{ C_STRING_WITH_LEN("INITIALIZED") },
|
||||||
{ C_STRING_WITH_LEN("RUNNING") },
|
{ C_STRING_WITH_LEN("RUNNING") },
|
||||||
{ C_STRING_WITH_LEN("STOPPING") }
|
{ C_STRING_WITH_LEN("STOPPING") }
|
||||||
@ -331,9 +330,15 @@ end:
|
|||||||
|
|
||||||
|
|
||||||
Event_scheduler::Event_scheduler(Event_queue *queue_arg)
|
Event_scheduler::Event_scheduler(Event_queue *queue_arg)
|
||||||
:state(UNINITIALIZED),
|
:state(INITIALIZED),
|
||||||
scheduler_thd(NULL),
|
scheduler_thd(NULL),
|
||||||
queue(queue_arg),
|
queue(queue_arg),
|
||||||
|
mutex_last_locked_at_line(0),
|
||||||
|
mutex_last_unlocked_at_line(0),
|
||||||
|
mutex_last_locked_in_func("n/a"),
|
||||||
|
mutex_last_unlocked_in_func("n/a"),
|
||||||
|
mutex_scheduler_data_locked(FALSE),
|
||||||
|
waiting_on_cond(FALSE),
|
||||||
started_events(0)
|
started_events(0)
|
||||||
{
|
{
|
||||||
pthread_mutex_init(&LOCK_scheduler_state, MY_MUTEX_INIT_FAST);
|
pthread_mutex_init(&LOCK_scheduler_state, MY_MUTEX_INIT_FAST);
|
||||||
|
@ -111,8 +111,7 @@ private:
|
|||||||
|
|
||||||
enum enum_state
|
enum enum_state
|
||||||
{
|
{
|
||||||
UNINITIALIZED = 0,
|
INITIALIZED = 0,
|
||||||
INITIALIZED,
|
|
||||||
RUNNING,
|
RUNNING,
|
||||||
STOPPING
|
STOPPING
|
||||||
};
|
};
|
||||||
|
@ -1628,6 +1628,9 @@ public:
|
|||||||
uint offset,pack_flag;
|
uint offset,pack_flag;
|
||||||
create_field() :after(0) {}
|
create_field() :after(0) {}
|
||||||
create_field(Field *field, Field *orig_field);
|
create_field(Field *field, Field *orig_field);
|
||||||
|
/* Used to make a clone of this object for ALTER/CREATE TABLE */
|
||||||
|
create_field *clone(MEM_ROOT *mem_root) const
|
||||||
|
{ return new (mem_root) create_field(*this); }
|
||||||
void create_length_to_internal_length(void);
|
void create_length_to_internal_length(void);
|
||||||
|
|
||||||
/* Init for a tmp table field. To be extended if need be. */
|
/* Init for a tmp table field. To be extended if need be. */
|
||||||
|
@ -171,11 +171,11 @@ ha_rows filesort(THD *thd, TABLE *table, SORT_FIELD *sortorder, uint s_length,
|
|||||||
|
|
||||||
if (select && select->quick)
|
if (select && select->quick)
|
||||||
{
|
{
|
||||||
statistic_increment(thd->status_var.filesort_range_count, &LOCK_status);
|
status_var_increment(thd->status_var.filesort_range_count);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
statistic_increment(thd->status_var.filesort_scan_count, &LOCK_status);
|
status_var_increment(thd->status_var.filesort_scan_count);
|
||||||
}
|
}
|
||||||
#ifdef CAN_TRUST_RANGE
|
#ifdef CAN_TRUST_RANGE
|
||||||
if (select && select->quick && select->quick->records > 0L)
|
if (select && select->quick && select->quick->records > 0L)
|
||||||
@ -1129,8 +1129,7 @@ int merge_buffers(SORTPARAM *param, IO_CACHE *from_file,
|
|||||||
THD::killed_state not_killable;
|
THD::killed_state not_killable;
|
||||||
DBUG_ENTER("merge_buffers");
|
DBUG_ENTER("merge_buffers");
|
||||||
|
|
||||||
statistic_increment(current_thd->status_var.filesort_merge_passes,
|
status_var_increment(current_thd->status_var.filesort_merge_passes);
|
||||||
&LOCK_status);
|
|
||||||
if (param->not_killable)
|
if (param->not_killable)
|
||||||
{
|
{
|
||||||
killed= ¬_killable;
|
killed= ¬_killable;
|
||||||
|
@ -639,7 +639,7 @@ int ha_prepare(THD *thd)
|
|||||||
for (; *ht; ht++)
|
for (; *ht; ht++)
|
||||||
{
|
{
|
||||||
int err;
|
int err;
|
||||||
statistic_increment(thd->status_var.ha_prepare_count,&LOCK_status);
|
status_var_increment(thd->status_var.ha_prepare_count);
|
||||||
if ((*ht)->prepare)
|
if ((*ht)->prepare)
|
||||||
{
|
{
|
||||||
if ((err= (*(*ht)->prepare)(*ht, thd, all)))
|
if ((err= (*(*ht)->prepare)(*ht, thd, all)))
|
||||||
@ -734,7 +734,7 @@ int ha_commit_trans(THD *thd, bool all)
|
|||||||
my_error(ER_ERROR_DURING_COMMIT, MYF(0), err);
|
my_error(ER_ERROR_DURING_COMMIT, MYF(0), err);
|
||||||
error= 1;
|
error= 1;
|
||||||
}
|
}
|
||||||
statistic_increment(thd->status_var.ha_prepare_count,&LOCK_status);
|
status_var_increment(thd->status_var.ha_prepare_count);
|
||||||
}
|
}
|
||||||
DBUG_EXECUTE_IF("crash_commit_after_prepare", abort(););
|
DBUG_EXECUTE_IF("crash_commit_after_prepare", abort(););
|
||||||
if (error || (is_real_trans && xid &&
|
if (error || (is_real_trans && xid &&
|
||||||
@ -781,7 +781,7 @@ int ha_commit_one_phase(THD *thd, bool all)
|
|||||||
my_error(ER_ERROR_DURING_COMMIT, MYF(0), err);
|
my_error(ER_ERROR_DURING_COMMIT, MYF(0), err);
|
||||||
error=1;
|
error=1;
|
||||||
}
|
}
|
||||||
statistic_increment(thd->status_var.ha_commit_count,&LOCK_status);
|
status_var_increment(thd->status_var.ha_commit_count);
|
||||||
*ht= 0;
|
*ht= 0;
|
||||||
}
|
}
|
||||||
trans->nht=0;
|
trans->nht=0;
|
||||||
@ -837,7 +837,7 @@ int ha_rollback_trans(THD *thd, bool all)
|
|||||||
my_error(ER_ERROR_DURING_ROLLBACK, MYF(0), err);
|
my_error(ER_ERROR_DURING_ROLLBACK, MYF(0), err);
|
||||||
error=1;
|
error=1;
|
||||||
}
|
}
|
||||||
statistic_increment(thd->status_var.ha_rollback_count,&LOCK_status);
|
status_var_increment(thd->status_var.ha_rollback_count);
|
||||||
*ht= 0;
|
*ht= 0;
|
||||||
}
|
}
|
||||||
trans->nht=0;
|
trans->nht=0;
|
||||||
@ -1252,8 +1252,7 @@ int ha_rollback_to_savepoint(THD *thd, SAVEPOINT *sv)
|
|||||||
my_error(ER_ERROR_DURING_ROLLBACK, MYF(0), err);
|
my_error(ER_ERROR_DURING_ROLLBACK, MYF(0), err);
|
||||||
error=1;
|
error=1;
|
||||||
}
|
}
|
||||||
statistic_increment(thd->status_var.ha_savepoint_rollback_count,
|
status_var_increment(thd->status_var.ha_savepoint_rollback_count);
|
||||||
&LOCK_status);
|
|
||||||
trans->no_2pc|=(*ht)->prepare == 0;
|
trans->no_2pc|=(*ht)->prepare == 0;
|
||||||
}
|
}
|
||||||
/*
|
/*
|
||||||
@ -1268,7 +1267,7 @@ int ha_rollback_to_savepoint(THD *thd, SAVEPOINT *sv)
|
|||||||
my_error(ER_ERROR_DURING_ROLLBACK, MYF(0), err);
|
my_error(ER_ERROR_DURING_ROLLBACK, MYF(0), err);
|
||||||
error=1;
|
error=1;
|
||||||
}
|
}
|
||||||
statistic_increment(thd->status_var.ha_rollback_count,&LOCK_status);
|
status_var_increment(thd->status_var.ha_rollback_count);
|
||||||
*ht=0; // keep it conveniently zero-filled
|
*ht=0; // keep it conveniently zero-filled
|
||||||
}
|
}
|
||||||
DBUG_RETURN(error);
|
DBUG_RETURN(error);
|
||||||
@ -1301,7 +1300,7 @@ int ha_savepoint(THD *thd, SAVEPOINT *sv)
|
|||||||
my_error(ER_GET_ERRNO, MYF(0), err);
|
my_error(ER_GET_ERRNO, MYF(0), err);
|
||||||
error=1;
|
error=1;
|
||||||
}
|
}
|
||||||
statistic_increment(thd->status_var.ha_savepoint_count,&LOCK_status);
|
status_var_increment(thd->status_var.ha_savepoint_count);
|
||||||
}
|
}
|
||||||
sv->nht=trans->nht;
|
sv->nht=trans->nht;
|
||||||
#endif /* USING_TRANSACTIONS */
|
#endif /* USING_TRANSACTIONS */
|
||||||
@ -1489,7 +1488,7 @@ handler *handler::clone(MEM_ROOT *mem_root)
|
|||||||
|
|
||||||
void handler::ha_statistic_increment(ulong SSV::*offset) const
|
void handler::ha_statistic_increment(ulong SSV::*offset) const
|
||||||
{
|
{
|
||||||
statistic_increment(table->in_use->status_var.*offset, &LOCK_status);
|
status_var_increment(table->in_use->status_var.*offset);
|
||||||
}
|
}
|
||||||
|
|
||||||
void **handler::ha_data(THD *thd) const
|
void **handler::ha_data(THD *thd) const
|
||||||
@ -2836,7 +2835,7 @@ int ha_discover(THD *thd, const char *db, const char *name,
|
|||||||
error= 0;
|
error= 0;
|
||||||
|
|
||||||
if (!error)
|
if (!error)
|
||||||
statistic_increment(thd->status_var.ha_discover_count,&LOCK_status);
|
status_var_increment(thd->status_var.ha_discover_count);
|
||||||
DBUG_RETURN(error);
|
DBUG_RETURN(error);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -223,6 +223,7 @@
|
|||||||
|
|
||||||
#define HA_LEX_CREATE_TMP_TABLE 1
|
#define HA_LEX_CREATE_TMP_TABLE 1
|
||||||
#define HA_LEX_CREATE_IF_NOT_EXISTS 2
|
#define HA_LEX_CREATE_IF_NOT_EXISTS 2
|
||||||
|
#define HA_LEX_CREATE_TABLE_LIKE 4
|
||||||
#define HA_OPTION_NO_CHECKSUM (1L << 17)
|
#define HA_OPTION_NO_CHECKSUM (1L << 17)
|
||||||
#define HA_OPTION_NO_DELAY_KEY_WRITE (1L << 18)
|
#define HA_OPTION_NO_DELAY_KEY_WRITE (1L << 18)
|
||||||
#define HA_MAX_REC_LENGTH 65535
|
#define HA_MAX_REC_LENGTH 65535
|
||||||
|
@ -36,7 +36,6 @@
|
|||||||
#define sp_restore_security_context(A,B) while (0) {}
|
#define sp_restore_security_context(A,B) while (0) {}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
||||||
bool check_reserved_words(LEX_STRING *name)
|
bool check_reserved_words(LEX_STRING *name)
|
||||||
{
|
{
|
||||||
if (!my_strcasecmp(system_charset_info, name->str, "GLOBAL") ||
|
if (!my_strcasecmp(system_charset_info, name->str, "GLOBAL") ||
|
||||||
@ -4453,7 +4452,7 @@ int get_var_with_binlog(THD *thd, enum_sql_command sql_command,
|
|||||||
> set @a:=1;
|
> set @a:=1;
|
||||||
> insert into t1 values (@a), (@a:=@a+1), (@a:=@a+1);
|
> insert into t1 values (@a), (@a:=@a+1), (@a:=@a+1);
|
||||||
We have to write to binlog value @a= 1.
|
We have to write to binlog value @a= 1.
|
||||||
|
|
||||||
We allocate the user_var_event on user_var_events_alloc pool, not on
|
We allocate the user_var_event on user_var_events_alloc pool, not on
|
||||||
the this-statement-execution pool because in SPs user_var_event objects
|
the this-statement-execution pool because in SPs user_var_event objects
|
||||||
may need to be valid after current [SP] statement execution pool is
|
may need to be valid after current [SP] statement execution pool is
|
||||||
@ -4463,7 +4462,7 @@ int get_var_with_binlog(THD *thd, enum_sql_command sql_command,
|
|||||||
if (!(user_var_event= (BINLOG_USER_VAR_EVENT *)
|
if (!(user_var_event= (BINLOG_USER_VAR_EVENT *)
|
||||||
alloc_root(thd->user_var_events_alloc, size)))
|
alloc_root(thd->user_var_events_alloc, size)))
|
||||||
goto err;
|
goto err;
|
||||||
|
|
||||||
user_var_event->value= (char*) user_var_event +
|
user_var_event->value= (char*) user_var_event +
|
||||||
ALIGN_SIZE(sizeof(BINLOG_USER_VAR_EVENT));
|
ALIGN_SIZE(sizeof(BINLOG_USER_VAR_EVENT));
|
||||||
user_var_event->user_var_event= var_entry;
|
user_var_event->user_var_event= var_entry;
|
||||||
@ -4485,7 +4484,7 @@ int get_var_with_binlog(THD *thd, enum_sql_command sql_command,
|
|||||||
var_entry->used_query_id= thd->query_id;
|
var_entry->used_query_id= thd->query_id;
|
||||||
if (insert_dynamic(&thd->user_var_events, (uchar*) &user_var_event))
|
if (insert_dynamic(&thd->user_var_events, (uchar*) &user_var_event))
|
||||||
goto err;
|
goto err;
|
||||||
|
|
||||||
*out_entry= var_entry;
|
*out_entry= var_entry;
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
@ -4494,7 +4493,6 @@ err:
|
|||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void Item_func_get_user_var::fix_length_and_dec()
|
void Item_func_get_user_var::fix_length_and_dec()
|
||||||
{
|
{
|
||||||
THD *thd=current_thd;
|
THD *thd=current_thd;
|
||||||
@ -4505,10 +4503,19 @@ void Item_func_get_user_var::fix_length_and_dec()
|
|||||||
|
|
||||||
error= get_var_with_binlog(thd, thd->lex->sql_command, name, &var_entry);
|
error= get_var_with_binlog(thd, thd->lex->sql_command, name, &var_entry);
|
||||||
|
|
||||||
|
/*
|
||||||
|
If the variable didn't exist it has been created as a STRING-type.
|
||||||
|
'var_entry' is NULL only if there occured an error during the call to
|
||||||
|
get_var_with_binlog.
|
||||||
|
*/
|
||||||
if (var_entry)
|
if (var_entry)
|
||||||
{
|
{
|
||||||
|
m_cached_result_type= var_entry->type;
|
||||||
|
unsigned_flag= var_entry->unsigned_flag;
|
||||||
|
max_length= var_entry->length;
|
||||||
|
|
||||||
collation.set(var_entry->collation);
|
collation.set(var_entry->collation);
|
||||||
switch (var_entry->type) {
|
switch(m_cached_result_type) {
|
||||||
case REAL_RESULT:
|
case REAL_RESULT:
|
||||||
max_length= DBL_DIG + 8;
|
max_length= DBL_DIG + 8;
|
||||||
break;
|
break;
|
||||||
@ -4533,6 +4540,8 @@ void Item_func_get_user_var::fix_length_and_dec()
|
|||||||
{
|
{
|
||||||
collation.set(&my_charset_bin, DERIVATION_IMPLICIT);
|
collation.set(&my_charset_bin, DERIVATION_IMPLICIT);
|
||||||
null_value= 1;
|
null_value= 1;
|
||||||
|
m_cached_result_type= STRING_RESULT;
|
||||||
|
max_length= MAX_BLOB_WIDTH;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (error)
|
if (error)
|
||||||
@ -4550,12 +4559,7 @@ bool Item_func_get_user_var::const_item() const
|
|||||||
|
|
||||||
enum Item_result Item_func_get_user_var::result_type() const
|
enum Item_result Item_func_get_user_var::result_type() const
|
||||||
{
|
{
|
||||||
user_var_entry *entry;
|
return m_cached_result_type;
|
||||||
if (!(entry = (user_var_entry*) hash_search(¤t_thd->user_vars,
|
|
||||||
(uchar*) name.str,
|
|
||||||
name.length)))
|
|
||||||
return STRING_RESULT;
|
|
||||||
return entry->type;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -1256,11 +1256,12 @@ class Item_func_get_user_var :public Item_func,
|
|||||||
private Settable_routine_parameter
|
private Settable_routine_parameter
|
||||||
{
|
{
|
||||||
user_var_entry *var_entry;
|
user_var_entry *var_entry;
|
||||||
|
Item_result m_cached_result_type;
|
||||||
|
|
||||||
public:
|
public:
|
||||||
LEX_STRING name; // keep it public
|
LEX_STRING name; // keep it public
|
||||||
Item_func_get_user_var(LEX_STRING a):
|
Item_func_get_user_var(LEX_STRING a):
|
||||||
Item_func(), name(a) {}
|
Item_func(), m_cached_result_type(STRING_RESULT), name(a) {}
|
||||||
enum Functype functype() const { return GUSERVAR_FUNC; }
|
enum Functype functype() const { return GUSERVAR_FUNC; }
|
||||||
LEX_STRING get_name() { return name; }
|
LEX_STRING get_name() { return name; }
|
||||||
double val_real();
|
double val_real();
|
||||||
@ -1274,13 +1275,11 @@ public:
|
|||||||
We must always return variables as strings to guard against selects of type
|
We must always return variables as strings to guard against selects of type
|
||||||
select @t1:=1,@t1,@t:="hello",@t from foo where (@t1:= t2.b)
|
select @t1:=1,@t1,@t:="hello",@t from foo where (@t1:= t2.b)
|
||||||
*/
|
*/
|
||||||
enum_field_types field_type() const { return MYSQL_TYPE_VARCHAR; }
|
|
||||||
const char *func_name() const { return "get_user_var"; }
|
const char *func_name() const { return "get_user_var"; }
|
||||||
bool const_item() const;
|
bool const_item() const;
|
||||||
table_map used_tables() const
|
table_map used_tables() const
|
||||||
{ return const_item() ? 0 : RAND_TABLE_BIT; }
|
{ return const_item() ? 0 : RAND_TABLE_BIT; }
|
||||||
bool eq(const Item *item, bool binary_cmp) const;
|
bool eq(const Item *item, bool binary_cmp) const;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
bool set_value(THD *thd, sp_rcontext *ctx, Item **it);
|
bool set_value(THD *thd, sp_rcontext *ctx, Item **it);
|
||||||
|
|
||||||
|
@ -19,7 +19,7 @@
|
|||||||
|
|
||||||
#include "mysql_priv.h"
|
#include "mysql_priv.h"
|
||||||
#include "my_xml.h"
|
#include "my_xml.h"
|
||||||
|
#include "sp_pcontext.h"
|
||||||
|
|
||||||
/*
|
/*
|
||||||
TODO: future development directions:
|
TODO: future development directions:
|
||||||
@ -923,8 +923,8 @@ static Item *create_comparator(MY_XPATH *xpath,
|
|||||||
else if (a->type() == Item::XPATH_NODESET &&
|
else if (a->type() == Item::XPATH_NODESET &&
|
||||||
b->type() == Item::XPATH_NODESET)
|
b->type() == Item::XPATH_NODESET)
|
||||||
{
|
{
|
||||||
uint len= context->end - context->beg;
|
uint len= xpath->query.end - context->beg;
|
||||||
set_if_bigger(len, 32);
|
set_if_smaller(len, 32);
|
||||||
my_printf_error(ER_UNKNOWN_ERROR,
|
my_printf_error(ER_UNKNOWN_ERROR,
|
||||||
"XPATH error: "
|
"XPATH error: "
|
||||||
"comparison of two nodesets is not supported: '%.*s'",
|
"comparison of two nodesets is not supported: '%.*s'",
|
||||||
@ -2412,21 +2412,78 @@ my_xpath_parse_QName(MY_XPATH *xpath)
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/*
|
/**
|
||||||
Scan Variable reference
|
Scan Variable reference
|
||||||
|
|
||||||
SYNOPSYS
|
@details Implements parsing of two syntax structures:
|
||||||
|
|
||||||
[36] VariableReference ::= '$' QName
|
1. Standard XPath syntax [36], for SP variables:
|
||||||
RETURN
|
|
||||||
1 - success
|
VariableReference ::= '$' QName
|
||||||
0 - failure
|
|
||||||
|
Finds a SP variable with the given name.
|
||||||
|
If outside of a SP context, or variable with
|
||||||
|
the given name doesn't exists, then error is returned.
|
||||||
|
|
||||||
|
2. Non-standard syntax - MySQL extension for user variables:
|
||||||
|
|
||||||
|
VariableReference ::= '$' '@' QName
|
||||||
|
|
||||||
|
Item, corresponding to the variable, is returned
|
||||||
|
in xpath->item in both cases.
|
||||||
|
|
||||||
|
@param xpath pointer to XPath structure
|
||||||
|
|
||||||
|
@return Operation status
|
||||||
|
@retval 1 Success
|
||||||
|
@retval 0 Failure
|
||||||
*/
|
*/
|
||||||
|
|
||||||
static int
|
static int
|
||||||
my_xpath_parse_VariableReference(MY_XPATH *xpath)
|
my_xpath_parse_VariableReference(MY_XPATH *xpath)
|
||||||
{
|
{
|
||||||
return my_xpath_parse_term(xpath, MY_XPATH_LEX_DOLLAR) &&
|
LEX_STRING name;
|
||||||
my_xpath_parse_term(xpath, MY_XPATH_LEX_IDENT);
|
int user_var;
|
||||||
|
const char *dollar_pos;
|
||||||
|
if (!my_xpath_parse_term(xpath, MY_XPATH_LEX_DOLLAR) ||
|
||||||
|
(!(dollar_pos= xpath->prevtok.beg)) ||
|
||||||
|
(!((user_var= my_xpath_parse_term(xpath, MY_XPATH_LEX_AT) &&
|
||||||
|
my_xpath_parse_term(xpath, MY_XPATH_LEX_IDENT))) &&
|
||||||
|
!my_xpath_parse_term(xpath, MY_XPATH_LEX_IDENT)))
|
||||||
|
return 0;
|
||||||
|
|
||||||
|
name.length= xpath->prevtok.end - xpath->prevtok.beg;
|
||||||
|
name.str= (char*) xpath->prevtok.beg;
|
||||||
|
|
||||||
|
if (user_var)
|
||||||
|
xpath->item= new Item_func_get_user_var(name);
|
||||||
|
else
|
||||||
|
{
|
||||||
|
sp_variable_t *spv;
|
||||||
|
sp_pcontext *spc;
|
||||||
|
LEX *lex;
|
||||||
|
if ((lex= current_thd->lex) &&
|
||||||
|
(spc= lex->spcont) &&
|
||||||
|
(spv= spc->find_variable(&name)))
|
||||||
|
{
|
||||||
|
Item_splocal *splocal= new Item_splocal(name, spv->offset, spv->type, 0);
|
||||||
|
#ifndef DBUG_OFF
|
||||||
|
if (splocal)
|
||||||
|
splocal->m_sp= lex->sphead;
|
||||||
|
#endif
|
||||||
|
xpath->item= (Item*) splocal;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
xpath->item= NULL;
|
||||||
|
DBUG_ASSERT(xpath->query.end > dollar_pos);
|
||||||
|
uint len= xpath->query.end - dollar_pos;
|
||||||
|
set_if_smaller(len, 32);
|
||||||
|
my_printf_error(ER_UNKNOWN_ERROR, "Unknown XPATH variable at: '%.*s'",
|
||||||
|
MYF(0), len, dollar_pos);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return xpath->item ? 1 : 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -2534,12 +2591,10 @@ void Item_xml_str_func::fix_length_and_dec()
|
|||||||
|
|
||||||
if (!rc)
|
if (!rc)
|
||||||
{
|
{
|
||||||
char context[32];
|
|
||||||
uint clen= xpath.query.end - xpath.lasttok.beg;
|
uint clen= xpath.query.end - xpath.lasttok.beg;
|
||||||
set_if_bigger(clen, sizeof(context) - 1);
|
set_if_smaller(clen, 32);
|
||||||
strmake(context, xpath.lasttok.beg, clen);
|
my_printf_error(ER_UNKNOWN_ERROR, "XPATH syntax error: '%.*s'",
|
||||||
my_printf_error(ER_UNKNOWN_ERROR, "XPATH syntax error: '%s'",
|
MYF(0), clen, xpath.lasttok.beg);
|
||||||
MYF(0), context);
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -2768,6 +2823,16 @@ String *Item_func_xml_update::val_str(String *str)
|
|||||||
|
|
||||||
nodebeg+= fltbeg->num;
|
nodebeg+= fltbeg->num;
|
||||||
|
|
||||||
|
if (!nodebeg->level)
|
||||||
|
{
|
||||||
|
/*
|
||||||
|
Root element, without NameTest:
|
||||||
|
UpdateXML(xml, '/', 'replacement');
|
||||||
|
Just return the replacement string.
|
||||||
|
*/
|
||||||
|
return rep;
|
||||||
|
}
|
||||||
|
|
||||||
tmp_value.length(0);
|
tmp_value.length(0);
|
||||||
tmp_value.set_charset(collation.collation);
|
tmp_value.set_charset(collation.collation);
|
||||||
uint offs= nodebeg->type == MY_XML_NODE_TAG ? 1 : 0;
|
uint offs= nodebeg->type == MY_XML_NODE_TAG ? 1 : 0;
|
||||||
|
@ -1462,20 +1462,31 @@ Query_log_event::Query_log_event()
|
|||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
Query_log_event::Query_log_event()
|
SYNOPSIS
|
||||||
|
Query_log_event::Query_log_event()
|
||||||
|
thd - thread handle
|
||||||
|
query_arg - array of char representing the query
|
||||||
|
query_length - size of the `query_arg' array
|
||||||
|
using_trans - there is a modified transactional table
|
||||||
|
suppress_use - suppress the generation of 'USE' statements
|
||||||
|
killed_status_arg - an optional with default to THD::KILLED_NO_VALUE
|
||||||
|
if the value is different from the default, the arg
|
||||||
|
is set to the current thd->killed value.
|
||||||
|
A caller might need to masquerade thd->killed with
|
||||||
|
THD::NOT_KILLED.
|
||||||
|
DESCRIPTION
|
||||||
|
Creates an event for binlogging
|
||||||
|
The value for local `killed_status' can be supplied by caller.
|
||||||
*/
|
*/
|
||||||
Query_log_event::Query_log_event(THD* thd_arg, const char* query_arg,
|
Query_log_event::Query_log_event(THD* thd_arg, const char* query_arg,
|
||||||
ulong query_length, bool using_trans,
|
ulong query_length, bool using_trans,
|
||||||
bool suppress_use)
|
bool suppress_use, THD::killed_state killed_status_arg)
|
||||||
:Log_event(thd_arg,
|
:Log_event(thd_arg,
|
||||||
((thd_arg->tmp_table_used ? LOG_EVENT_THREAD_SPECIFIC_F : 0)
|
((thd_arg->tmp_table_used ? LOG_EVENT_THREAD_SPECIFIC_F : 0)
|
||||||
| (suppress_use ? LOG_EVENT_SUPPRESS_USE_F : 0)),
|
| (suppress_use ? LOG_EVENT_SUPPRESS_USE_F : 0)),
|
||||||
using_trans),
|
using_trans),
|
||||||
data_buf(0), query(query_arg), catalog(thd_arg->catalog),
|
data_buf(0), query(query_arg), catalog(thd_arg->catalog),
|
||||||
db(thd_arg->db), q_len((uint32) query_length),
|
db(thd_arg->db), q_len((uint32) query_length),
|
||||||
error_code((thd_arg->killed != THD::NOT_KILLED) ?
|
|
||||||
((thd_arg->system_thread & SYSTEM_THREAD_DELAYED_INSERT) ?
|
|
||||||
0 : thd->killed_errno()) : thd_arg->net.last_errno),
|
|
||||||
thread_id(thd_arg->thread_id),
|
thread_id(thd_arg->thread_id),
|
||||||
/* save the original thread id; we already know the server id */
|
/* save the original thread id; we already know the server id */
|
||||||
slave_proxy_id(thd_arg->variables.pseudo_thread_id),
|
slave_proxy_id(thd_arg->variables.pseudo_thread_id),
|
||||||
@ -1487,6 +1498,14 @@ Query_log_event::Query_log_event(THD* thd_arg, const char* query_arg,
|
|||||||
charset_database_number(0)
|
charset_database_number(0)
|
||||||
{
|
{
|
||||||
time_t end_time;
|
time_t end_time;
|
||||||
|
|
||||||
|
if (killed_status_arg == THD::KILLED_NO_VALUE)
|
||||||
|
killed_status_arg= thd_arg->killed;
|
||||||
|
error_code=
|
||||||
|
(killed_status_arg == THD::NOT_KILLED) ? thd_arg->net.last_errno :
|
||||||
|
((thd_arg->system_thread & SYSTEM_THREAD_DELAYED_INSERT) ? 0 :
|
||||||
|
thd->killed_errno());
|
||||||
|
|
||||||
time(&end_time);
|
time(&end_time);
|
||||||
exec_time = (ulong) (end_time - thd->start_time);
|
exec_time = (ulong) (end_time - thd->start_time);
|
||||||
catalog_len = (catalog) ? (uint32) strlen(catalog) : 0;
|
catalog_len = (catalog) ? (uint32) strlen(catalog) : 0;
|
||||||
@ -6742,10 +6761,23 @@ int Write_rows_log_event::do_before_row_operations(TABLE *table)
|
|||||||
lex->duplicates flag.
|
lex->duplicates flag.
|
||||||
*/
|
*/
|
||||||
thd->lex->sql_command= SQLCOM_REPLACE;
|
thd->lex->sql_command= SQLCOM_REPLACE;
|
||||||
|
/*
|
||||||
table->file->extra(HA_EXTRA_IGNORE_DUP_KEY); // Needed for ndbcluster
|
Do not raise the error flag in case of hitting to an unique attribute
|
||||||
table->file->extra(HA_EXTRA_WRITE_CAN_REPLACE); // Needed for ndbcluster
|
*/
|
||||||
table->file->extra(HA_EXTRA_IGNORE_NO_KEY); // Needed for ndbcluster
|
table->file->extra(HA_EXTRA_IGNORE_DUP_KEY);
|
||||||
|
/*
|
||||||
|
NDB specific: update from ndb master wrapped as Write_rows
|
||||||
|
*/
|
||||||
|
/*
|
||||||
|
so that the event should be applied to replace slave's row
|
||||||
|
*/
|
||||||
|
table->file->extra(HA_EXTRA_WRITE_CAN_REPLACE);
|
||||||
|
/*
|
||||||
|
NDB specific: if update from ndb master wrapped as Write_rows
|
||||||
|
does not find the row it's assumed idempotent binlog applying
|
||||||
|
is taking place; don't raise the error.
|
||||||
|
*/
|
||||||
|
table->file->extra(HA_EXTRA_IGNORE_NO_KEY);
|
||||||
/*
|
/*
|
||||||
TODO: the cluster team (Tomas?) says that it's better if the engine knows
|
TODO: the cluster team (Tomas?) says that it's better if the engine knows
|
||||||
how many rows are going to be inserted, then it can allocate needed memory
|
how many rows are going to be inserted, then it can allocate needed memory
|
||||||
@ -6773,9 +6805,20 @@ int Write_rows_log_event::do_before_row_operations(TABLE *table)
|
|||||||
|
|
||||||
int Write_rows_log_event::do_after_row_operations(TABLE *table, int error)
|
int Write_rows_log_event::do_after_row_operations(TABLE *table, int error)
|
||||||
{
|
{
|
||||||
if (error == 0)
|
int local_error= 0;
|
||||||
error= table->file->ha_end_bulk_insert();
|
table->file->extra(HA_EXTRA_NO_IGNORE_DUP_KEY);
|
||||||
return error;
|
table->file->extra(HA_EXTRA_WRITE_CANNOT_REPLACE);
|
||||||
|
/*
|
||||||
|
reseting the extra with
|
||||||
|
table->file->extra(HA_EXTRA_NO_IGNORE_NO_KEY);
|
||||||
|
fires bug#27077
|
||||||
|
todo: explain or fix
|
||||||
|
*/
|
||||||
|
if ((local_error= table->file->ha_end_bulk_insert()))
|
||||||
|
{
|
||||||
|
table->file->print_error(local_error, MYF(0));
|
||||||
|
}
|
||||||
|
return error? error : local_error;
|
||||||
}
|
}
|
||||||
|
|
||||||
int Write_rows_log_event::do_prepare_row(THD *thd, RELAY_LOG_INFO const *rli,
|
int Write_rows_log_event::do_prepare_row(THD *thd, RELAY_LOG_INFO const *rli,
|
||||||
|
@ -1023,7 +1023,8 @@ public:
|
|||||||
#ifndef MYSQL_CLIENT
|
#ifndef MYSQL_CLIENT
|
||||||
|
|
||||||
Query_log_event(THD* thd_arg, const char* query_arg, ulong query_length,
|
Query_log_event(THD* thd_arg, const char* query_arg, ulong query_length,
|
||||||
bool using_trans, bool suppress_use);
|
bool using_trans, bool suppress_use,
|
||||||
|
THD::killed_state killed_err_arg= THD::KILLED_NO_VALUE);
|
||||||
const char* get_db() { return db; }
|
const char* get_db() { return db; }
|
||||||
#ifdef HAVE_REPLICATION
|
#ifdef HAVE_REPLICATION
|
||||||
void pack_info(Protocol* protocol);
|
void pack_info(Protocol* protocol);
|
||||||
|
@ -962,33 +962,26 @@ int prepare_create_field(create_field *sql_field,
|
|||||||
longlong table_flags);
|
longlong table_flags);
|
||||||
bool mysql_create_table(THD *thd,const char *db, const char *table_name,
|
bool mysql_create_table(THD *thd,const char *db, const char *table_name,
|
||||||
HA_CREATE_INFO *create_info,
|
HA_CREATE_INFO *create_info,
|
||||||
List<create_field> &fields, List<Key> &keys,
|
Alter_info *alter_info,
|
||||||
bool tmp_table, uint select_field_count,
|
bool tmp_table, uint select_field_count);
|
||||||
bool use_copy_create_info);
|
|
||||||
bool mysql_create_table_no_lock(THD *thd, const char *db,
|
bool mysql_create_table_no_lock(THD *thd, const char *db,
|
||||||
const char *table_name,
|
const char *table_name,
|
||||||
HA_CREATE_INFO *create_info,
|
HA_CREATE_INFO *create_info,
|
||||||
List<create_field> &fields, List<Key> &keys,
|
Alter_info *alter_info,
|
||||||
bool tmp_table, uint select_field_count,
|
bool tmp_table, uint select_field_count);
|
||||||
bool use_copy_create_info);
|
|
||||||
|
|
||||||
bool mysql_alter_table(THD *thd, char *new_db, char *new_name,
|
bool mysql_alter_table(THD *thd, char *new_db, char *new_name,
|
||||||
HA_CREATE_INFO *create_info,
|
HA_CREATE_INFO *create_info,
|
||||||
TABLE_LIST *table_list,
|
TABLE_LIST *table_list,
|
||||||
List<create_field> &fields,
|
Alter_info *alter_info,
|
||||||
List<Key> &keys,
|
uint order_num, ORDER *order, bool ignore);
|
||||||
uint order_num, ORDER *order, bool ignore,
|
bool mysql_recreate_table(THD *thd, TABLE_LIST *table_list);
|
||||||
ALTER_INFO *alter_info, bool do_send_ok);
|
|
||||||
bool mysql_recreate_table(THD *thd, TABLE_LIST *table_list, bool do_send_ok);
|
|
||||||
bool mysql_create_like_table(THD *thd, TABLE_LIST *table,
|
bool mysql_create_like_table(THD *thd, TABLE_LIST *table,
|
||||||
HA_CREATE_INFO *create_info,
|
TABLE_LIST *src_table,
|
||||||
Table_ident *src_table);
|
HA_CREATE_INFO *create_info);
|
||||||
bool mysql_rename_table(handlerton *base, const char *old_db,
|
bool mysql_rename_table(handlerton *base, const char *old_db,
|
||||||
const char * old_name, const char *new_db,
|
const char * old_name, const char *new_db,
|
||||||
const char * new_name, uint flags);
|
const char * new_name, uint flags);
|
||||||
bool mysql_create_index(THD *thd, TABLE_LIST *table_list, List<Key> &keys);
|
|
||||||
bool mysql_drop_index(THD *thd, TABLE_LIST *table_list,
|
|
||||||
ALTER_INFO *alter_info);
|
|
||||||
bool mysql_prepare_update(THD *thd, TABLE_LIST *table_list,
|
bool mysql_prepare_update(THD *thd, TABLE_LIST *table_list,
|
||||||
Item **conds, uint order_num, ORDER *order);
|
Item **conds, uint order_num, ORDER *order);
|
||||||
int mysql_update(THD *thd,TABLE_LIST *tables,List<Item> &fields,
|
int mysql_update(THD *thd,TABLE_LIST *tables,List<Item> &fields,
|
||||||
@ -1034,8 +1027,11 @@ TABLE *table_cache_insert_placeholder(THD *thd, const char *key,
|
|||||||
bool lock_table_name_if_not_cached(THD *thd, const char *db,
|
bool lock_table_name_if_not_cached(THD *thd, const char *db,
|
||||||
const char *table_name, TABLE **table);
|
const char *table_name, TABLE **table);
|
||||||
TABLE *find_locked_table(THD *thd, const char *db,const char *table_name);
|
TABLE *find_locked_table(THD *thd, const char *db,const char *table_name);
|
||||||
|
bool reopen_table(TABLE *table);
|
||||||
bool reopen_tables(THD *thd,bool get_locks,bool in_refresh);
|
bool reopen_tables(THD *thd,bool get_locks,bool in_refresh);
|
||||||
bool close_data_tables(THD *thd,const char *db, const char *table_name);
|
void close_data_files_and_morph_locks(THD *thd, const char *db,
|
||||||
|
const char *table_name);
|
||||||
|
void close_handle_and_leave_table_as_lock(TABLE *table);
|
||||||
bool wait_for_tables(THD *thd);
|
bool wait_for_tables(THD *thd);
|
||||||
bool table_is_used(TABLE *table, bool wait_for_name_lock);
|
bool table_is_used(TABLE *table, bool wait_for_name_lock);
|
||||||
TABLE *drop_locked_tables(THD *thd,const char *db, const char *table_name);
|
TABLE *drop_locked_tables(THD *thd,const char *db, const char *table_name);
|
||||||
@ -1309,14 +1305,13 @@ char *make_default_log_name(char *buff,const char* log_ext);
|
|||||||
|
|
||||||
#ifdef WITH_PARTITION_STORAGE_ENGINE
|
#ifdef WITH_PARTITION_STORAGE_ENGINE
|
||||||
uint fast_alter_partition_table(THD *thd, TABLE *table,
|
uint fast_alter_partition_table(THD *thd, TABLE *table,
|
||||||
ALTER_INFO *alter_info,
|
Alter_info *alter_info,
|
||||||
HA_CREATE_INFO *create_info,
|
HA_CREATE_INFO *create_info,
|
||||||
TABLE_LIST *table_list,
|
TABLE_LIST *table_list,
|
||||||
List<create_field> *create_list,
|
char *db,
|
||||||
List<Key> *key_list, char *db,
|
|
||||||
const char *table_name,
|
const char *table_name,
|
||||||
uint fast_alter_partition);
|
uint fast_alter_partition);
|
||||||
uint prep_alter_part_table(THD *thd, TABLE *table, ALTER_INFO *alter_info,
|
uint prep_alter_part_table(THD *thd, TABLE *table, Alter_info *alter_info,
|
||||||
HA_CREATE_INFO *create_info,
|
HA_CREATE_INFO *create_info,
|
||||||
handlerton *old_db_type,
|
handlerton *old_db_type,
|
||||||
bool *partition_changed,
|
bool *partition_changed,
|
||||||
@ -1348,11 +1343,7 @@ typedef struct st_lock_param_type
|
|||||||
ulonglong deleted;
|
ulonglong deleted;
|
||||||
THD *thd;
|
THD *thd;
|
||||||
HA_CREATE_INFO *create_info;
|
HA_CREATE_INFO *create_info;
|
||||||
ALTER_INFO *alter_info;
|
Alter_info *alter_info;
|
||||||
List<create_field> *create_list;
|
|
||||||
List<create_field> new_create_list;
|
|
||||||
List<Key> *key_list;
|
|
||||||
List<Key> new_key_list;
|
|
||||||
TABLE *table;
|
TABLE *table;
|
||||||
KEY *key_info_buffer;
|
KEY *key_info_buffer;
|
||||||
const char *db;
|
const char *db;
|
||||||
@ -1678,7 +1669,7 @@ extern ulong log_output_options;
|
|||||||
extern my_bool opt_log_queries_not_using_indexes;
|
extern my_bool opt_log_queries_not_using_indexes;
|
||||||
extern bool opt_disable_networking, opt_skip_show_db;
|
extern bool opt_disable_networking, opt_skip_show_db;
|
||||||
extern my_bool opt_character_set_client_handshake;
|
extern my_bool opt_character_set_client_handshake;
|
||||||
extern bool volatile abort_loop, shutdown_in_progress, grant_option;
|
extern bool volatile abort_loop, shutdown_in_progress;
|
||||||
extern uint volatile thread_count, thread_running, global_read_lock;
|
extern uint volatile thread_count, thread_running, global_read_lock;
|
||||||
extern my_bool opt_sql_bin_update, opt_safe_user_create, opt_no_mix_types;
|
extern my_bool opt_sql_bin_update, opt_safe_user_create, opt_no_mix_types;
|
||||||
extern my_bool opt_safe_show_db, opt_local_infile, opt_myisam_use_mmap;
|
extern my_bool opt_safe_show_db, opt_local_infile, opt_myisam_use_mmap;
|
||||||
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user