Merge trift2.:/MySQL/M51/mysql-5.1

into  trift2.:/MySQL/M51/push-5.1


include/config-win.h:
  Auto merged
mysql-test/mysql-test-run.pl:
  Auto merged
mysql-test/t/disabled.def:
  Auto merged
mysql-test/t/mysqltest.test:
  Auto merged
mysql-test/t/ps.test:
  Auto merged
sql/sql_parse.cc:
  Auto merged
This commit is contained in:
unknown 2007-06-04 11:24:49 +02:00
commit 6ee217af72
132 changed files with 7406 additions and 4197 deletions

View File

@ -1277,7 +1277,6 @@ mysql-test/r/*.err
mysql-test/r/*.log
mysql-test/r/*.out
mysql-test/r/*.reject
mysql-test/r/*.warnings
mysql-test/r/alter_table.err
mysql-test/r/archive.err
mysql-test/r/backup.log

View File

@ -635,6 +635,7 @@ Create_file event for file_id: %u\n",exv->file_id);
print_event_info->common_header_len=
glob_description_event->common_header_len;
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
(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:
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 (remote_opt)
ev->temp_buf= 0;
delete ev;
}
DBUG_RETURN(0);
}
@ -1172,6 +1181,12 @@ could be out of memory");
error= 1;
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();
if (glob_description_event->binlog_version >= 3 ||

View File

@ -348,7 +348,10 @@ inline double ulonglong2double(ulonglong value)
#define SPRINTF_RETURNS_INT
#define HAVE_SETFILEPOINTER
#define HAVE_VIO_READ_BUFF
#if defined(_MSC_VER) && _MSC_VER >= 1400
/* strnlen() appeared in Studio 2005 */
#define HAVE_STRNLEN
#endif
#define HAVE_WINSOCK2
#define strcasecmp stricmp
@ -409,16 +412,7 @@ inline double ulonglong2double(ulonglong value)
#ifdef __NT__ /* This should also work on Win98 but .. */
#define thread_safe_add(V,C,L) InterlockedExchangeAdd((long*) &(V),(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
#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 default_shared_memory_base_name "MYSQL"

View File

@ -441,17 +441,7 @@ C_MODE_END
#ifdef HAVE_ALLOCA_H
#include <alloca.h>
#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 */
/* We need the following to go around a problem with openssl on solaris */
#if defined(HAVE_CRYPT_H)
@ -1431,10 +1421,13 @@ do { doubleget_union _tmp; \
#ifndef THREAD
#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_sub(V,C,L) (V)-=(C)
#define statistic_increment(V,L) (V)++
#define statistic_decrement(V,L) (V)--
#define statistic_add(V,C,L) (V)+=(C)
#define statistic_sub(V,C,L) (V)-=(C)
#endif
#ifdef HAVE_CHARSET_utf8

View File

@ -710,33 +710,68 @@ extern uint my_thread_end_wait_time;
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
#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) \
(pthread_mutex_lock((L)), (V)++, pthread_mutex_unlock((L)))
#define thread_safe_decrement(V,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) \
(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
#define statistic_increment(V,L) thread_safe_increment((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_increment(V,L) thread_safe_increment((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_sub(V,C,L) thread_safe_sub((V),(C),(L))
#else
#define statistic_decrement(V,L) (V)--
#define statistic_increment(V,L) (V)++
#define statistic_add(V,C,L) (V)+=(C)
#define statistic_sub(V,C,L) (V)-=(C)
#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
}

View File

@ -15,6 +15,7 @@
# Last_slave_errno in SHOW SLAVE STATUS (1st and 3rd commands did not: bug 986)
-- source include/master-slave.inc
source include/have_innodb.inc;
connection slave;
reset master;
@ -156,4 +157,15 @@ drop table t2;
connection master;
drop table t2;
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

View File

@ -1,13 +1,42 @@
# Grant tests not performed with embedded server
-- source include/not_embedded.inc
-- source include/have_query_cache.inc
# See at the end of the test why we disable the ps protocol (*)
-- disable_ps_protocol
################### include/grant_cache.inc ####################
#
# Test grants with query cache
#
# 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
#
# Test grants with query cache
#
--disable_warnings
drop table if exists test.t1,mysqltest.t1,mysqltest.t2;
@ -18,6 +47,7 @@ set GLOBAL query_cache_size=1355776;
reset query cache;
flush status;
--echo ----- establish connection root -----
connect (root,localhost,root,,test,$MASTER_MYPORT,$MASTER_MYSOCK);
connection root;
show grants for current_user;
@ -33,6 +63,7 @@ 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;
--echo ----- establish connection root2 -----
connect (root2,localhost,root,,mysqltest,$MASTER_MYPORT,$MASTER_MYSOCK);
connection root2;
# 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;
# 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);
connection user1;
show grants for current_user();
@ -76,12 +108,14 @@ show status like "Qcache_hits";
show status like "Qcache_not_cached";
--echo ----- establish connection unkuser (user=unkuser) -----
# Don't use '' as user because it will pick Unix login
connect (unkuser,localhost,unkuser,,,$MASTER_MYPORT,$MASTER_MYSOCK);
connection unkuser;
show grants for current_user();
# 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);
connection user2;
select "user2";
@ -90,39 +124,41 @@ select a from t1;
select c from t1;
select * from mysqltest.t1,test.t1;
--replace_result 127.0.0.1 localhost
--error 1142
--error ER_TABLEACCESS_DENIED_ERROR
select * from t2;
show status like "Qcache_queries_in_cache";
show status like "Qcache_hits";
show status like "Qcache_not_cached";
# 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);
connection user3;
select "user3";
--replace_result 127.0.0.1 localhost
--error 1143
--error ER_COLUMNACCESS_DENIED_ERROR
select * from t1;
select a from t1;
--replace_result 127.0.0.1 localhost
--error 1143
--error ER_COLUMNACCESS_DENIED_ERROR
select c from t1;
--replace_result 127.0.0.1 localhost
--error 1142
--error ER_TABLEACCESS_DENIED_ERROR
select * from t2;
--replace_result 127.0.0.1 localhost
--error 1143
--error ER_COLUMNACCESS_DENIED_ERROR
select mysqltest.t1.c from test.t1,mysqltest.t1;
show status like "Qcache_queries_in_cache";
show status like "Qcache_hits";
show status like "Qcache_not_cached";
# Connect without a database
--echo ----- establish connection user4 (user=mysqltest_1) -----
connect (user4,localhost,mysqltest_1,,*NO-ONE*,$MASTER_MYPORT,$MASTER_MYSOCK);
connection user4;
select "user4";
show grants;
--error 1046
--error ER_NO_DB_ERROR
select a from t1;
# The following query is not cached before (different database)
select * from mysqltest.t1,test.t1;
@ -135,7 +171,16 @@ show status like "Qcache_not_cached";
# 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
# mysql was compiled with other than latin1 --with-charset=XXX.
@ -156,30 +201,3 @@ drop database mysqltest;
set GLOBAL query_cache_size=default;
--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

View File

@ -787,4 +787,33 @@ alter table t2 modify i int default 4, rename t1;
unlock tables;
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

View 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

View File

@ -283,8 +283,19 @@ sub mtr_report_stats ($) {
mtr_warning("can't read $errlog");
next;
}
my $leak_reports_expected= undef;
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
if (
/\"SELECT UNIX_TIMESTAMP\(\)\" failed on master/ or
@ -354,6 +365,9 @@ sub mtr_report_stats ($) {
}
if ( /$pattern/ )
{
if ($leak_reports_expected) {
next;
}
$found_problems= 1;
print WARN $_;
}

View File

@ -1804,6 +1804,18 @@ sub environment_setup () {
$ENV{'CHARSETSDIR'}= $path_charsetsdir;
$ENV{'UMASK'}= "0660"; # 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{'USE_RUNNING_SERVER'}= $opt_extern;
$ENV{'MYSQL_TEST_DIR'}= $glob_mysql_test_dir;
@ -3850,13 +3862,15 @@ sub mysqld_arguments ($$$$) {
}
else
{
mtr_add_arg($args, "%s--master-user=root", $prefix);
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-password=", $prefix);
mtr_add_arg($args, "%s--master-port=%d", $prefix,
$master->[0]->{'port'}); # First master
if ($mysql_version_id < 50200)
{
mtr_add_arg($args, "%s--master-user=root", $prefix);
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-password=", $prefix);
mtr_add_arg($args, "%s--master-port=%d", $prefix,
$master->[0]->{'port'}); # First master
}
my $slave_server_id= 2 + $idx;
my $slave_rpl_rank= $slave_server_id;
mtr_add_arg($args, "%s--server-id=%d", $prefix, $slave_server_id);

View File

@ -5,14 +5,53 @@ key (n2, n3, n1),
key (n3, n1, n2));
create table t2 (i int);
alter table t1 disable keys;
insert into t1 values (RAND()*1000, RAND()*1000, RAND()*1000);
reset master;
set session debug="+d,sleep_alter_enable_indexes";
alter table t1 enable keys;;
insert into t2 values (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
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`; insert into t1 values (1, 1, 1)
drop tables t1, t2;
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

View File

@ -977,6 +977,59 @@ SELECT * FROM t1;
v b
abc 5
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`;
CREATE TABLE `t+1` (c1 INT);
ALTER TABLE `t+1` RENAME `t+2`;

View 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;

View File

@ -162,3 +162,86 @@ t1 CREATE TABLE `t1` (
`j` int(11) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
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";

View File

@ -371,7 +371,7 @@ ERROR 42S01: Table 't3' already exists
create table non_existing_database.t1 like t1;
ERROR 42000: Unknown database 'non_existing_database'
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;
ERROR 42S01: Table 't3' already exists
drop table t1, t2, t3;

View File

@ -528,4 +528,33 @@ DROP EVENT e3;
DROP EVENT e2;
DROP EVENT e1;
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;

View File

@ -2,11 +2,5 @@ use events_test;
select @@event_scheduler;
@@event_scheduler
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 database events_test;

View File

@ -381,3 +381,27 @@ drop table t2;
REVOKE ALL PRIVILEGES, GRANT OPTION FROM `a@`@localhost;
drop user `a@`@localhost;
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

View File

@ -3,6 +3,7 @@ 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
@ -19,6 +20,7 @@ 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
@ -48,6 +50,7 @@ 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'
@ -112,9 +115,11 @@ 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
@ -145,6 +150,7 @@ 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
@ -169,6 +175,7 @@ Qcache_hits 7
show status like "Qcache_not_cached";
Variable_name Value
Qcache_not_cached 7
----- establish connection user4 (user=mysqltest_1) -----
select "user4";
user4
user4
@ -199,6 +206,7 @@ Qcache_hits 8
show status like "Qcache_not_cached";
Variable_name Value
Qcache_not_cached 8
----- 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");

View 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;

View File

@ -817,4 +817,28 @@ lock table t2 write;
alter table t2 modify i int default 4, rename t1;
unlock tables;
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

View File

@ -1062,6 +1062,87 @@ EXECUTE stmt USING @a;
0 0
DEALLOCATE PREPARE stmt;
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.
create table t1 (a varchar(20));
insert into t1 values ('foo');
@ -1544,6 +1625,72 @@ a
2
DEALLOCATE PREPARE stmt;
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;
create table t1 (id int primary key auto_increment, value varchar(10));
insert into t1 (id, value) values (1, 'FIRST'), (2, 'SECOND'), (3, 'THIRD');
@ -2524,4 +2671,25 @@ i j
4 5
3 NULL
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.

View File

@ -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
execute full_info ;
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 @arg02 253 20 1 Y 128 0 63
def @arg03 253 20 1 Y 128 0 63
def @arg04 253 20 1 Y 128 0 63
def @arg05 253 20 1 Y 128 0 63
def @arg06 253 20 1 Y 128 0 63
def @arg07 253 23 1 Y 128 31 63
def @arg08 253 23 1 Y 128 31 63
def @arg09 253 23 1 Y 128 31 63
def @arg10 253 23 1 Y 128 31 63
def @arg11 253 67 6 Y 128 30 63
def @arg12 253 67 6 Y 128 30 63
def @arg13 253 16777216 10 Y 128 31 63
def @arg14 253 16777216 19 Y 128 31 63
def @arg15 253 16777216 19 Y 128 31 63
def @arg16 253 16777216 8 Y 128 31 63
def @arg17 253 20 4 Y 128 0 63
def @arg18 253 20 1 Y 128 0 63
def @arg19 253 20 1 Y 128 0 63
def @arg20 253 16777216 1 Y 0 31 8
def @arg21 253 16777216 10 Y 0 31 8
def @arg22 253 16777216 30 Y 0 31 8
def @arg23 253 16777216 8 Y 128 31 63
def @arg24 253 16777216 8 Y 0 31 8
def @arg25 253 16777216 4 Y 128 31 63
def @arg26 253 16777216 4 Y 0 31 8
def @arg27 253 16777216 10 Y 128 31 63
def @arg28 253 16777216 10 Y 0 31 8
def @arg29 253 16777216 8 Y 128 31 63
def @arg30 253 16777216 8 Y 0 31 8
def @arg31 253 16777216 3 Y 0 31 8
def @arg32 253 16777216 6 Y 0 31 8
def @arg01 8 20 1 Y 32896 0 63
def @arg02 8 20 1 Y 32896 0 63
def @arg03 8 20 1 Y 32896 0 63
def @arg04 8 20 1 Y 32896 0 63
def @arg05 8 20 1 Y 32896 0 63
def @arg06 8 20 1 Y 32896 0 63
def @arg07 5 23 1 Y 32896 31 63
def @arg08 5 23 1 Y 32896 31 63
def @arg09 5 23 1 Y 32896 31 63
def @arg10 5 23 1 Y 32896 31 63
def @arg11 246 67 6 Y 128 30 63
def @arg12 246 67 6 Y 128 30 63
def @arg13 251 16777216 10 Y 128 31 63
def @arg14 251 16777216 19 Y 128 31 63
def @arg15 251 16777216 19 Y 128 31 63
def @arg16 251 16777216 8 Y 128 31 63
def @arg17 8 20 4 Y 32928 0 63
def @arg18 8 20 1 Y 32896 0 63
def @arg19 8 20 1 Y 32896 0 63
def @arg20 251 16777216 1 Y 0 31 8
def @arg21 251 16777216 10 Y 0 31 8
def @arg22 251 16777216 30 Y 0 31 8
def @arg23 251 16777216 8 Y 128 31 63
def @arg24 251 16777216 8 Y 0 31 8
def @arg25 251 16777216 4 Y 128 31 63
def @arg26 251 16777216 4 Y 0 31 8
def @arg27 251 16777216 10 Y 128 31 63
def @arg28 251 16777216 10 Y 0 31 8
def @arg29 251 16777216 8 Y 128 31 63
def @arg30 251 16777216 8 Y 0 31 8
def @arg31 251 16777216 3 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
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,
@ -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
execute full_info ;
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 @arg02 253 20 0 Y 128 0 63
def @arg03 253 20 0 Y 128 0 63
def @arg04 253 20 0 Y 128 0 63
def @arg05 253 20 0 Y 128 0 63
def @arg06 253 20 0 Y 128 0 63
def @arg07 253 23 0 Y 128 31 63
def @arg08 253 23 0 Y 128 31 63
def @arg09 253 23 0 Y 128 31 63
def @arg10 253 23 0 Y 128 31 63
def @arg11 253 67 0 Y 128 30 63
def @arg12 253 67 0 Y 128 30 63
def @arg13 253 16777216 0 Y 128 31 63
def @arg14 253 16777216 0 Y 128 31 63
def @arg15 253 16777216 19 Y 128 31 63
def @arg16 253 16777216 0 Y 128 31 63
def @arg17 253 20 0 Y 128 0 63
def @arg18 253 20 0 Y 128 0 63
def @arg19 253 20 0 Y 128 0 63
def @arg20 253 16777216 0 Y 0 31 8
def @arg21 253 16777216 0 Y 0 31 8
def @arg22 253 16777216 0 Y 0 31 8
def @arg23 253 16777216 0 Y 128 31 63
def @arg24 253 16777216 0 Y 0 31 8
def @arg25 253 16777216 0 Y 128 31 63
def @arg26 253 16777216 0 Y 0 31 8
def @arg27 253 16777216 0 Y 128 31 63
def @arg28 253 16777216 0 Y 0 31 8
def @arg29 253 16777216 0 Y 128 31 63
def @arg30 253 16777216 0 Y 0 31 8
def @arg31 253 16777216 0 Y 0 31 8
def @arg32 253 16777216 0 Y 0 31 8
def @arg01 8 20 1 Y 32896 0 63
def @arg02 8 20 0 Y 32896 0 63
def @arg03 8 20 0 Y 32896 0 63
def @arg04 8 20 0 Y 32896 0 63
def @arg05 8 20 0 Y 32896 0 63
def @arg06 8 20 0 Y 32896 0 63
def @arg07 5 23 0 Y 32896 31 63
def @arg08 5 23 0 Y 32896 31 63
def @arg09 5 23 0 Y 32896 31 63
def @arg10 5 23 0 Y 32896 31 63
def @arg11 246 67 0 Y 128 30 63
def @arg12 246 67 0 Y 128 30 63
def @arg13 251 16777216 0 Y 128 31 63
def @arg14 251 16777216 0 Y 128 31 63
def @arg15 251 16777216 19 Y 128 31 63
def @arg16 251 16777216 0 Y 128 31 63
def @arg17 8 20 0 Y 32928 0 63
def @arg18 8 20 0 Y 32896 0 63
def @arg19 8 20 0 Y 32896 0 63
def @arg20 251 16777216 0 Y 0 31 8
def @arg21 251 16777216 0 Y 0 31 8
def @arg22 251 16777216 0 Y 0 31 8
def @arg23 251 16777216 0 Y 128 31 63
def @arg24 251 16777216 0 Y 0 31 8
def @arg25 251 16777216 0 Y 128 31 63
def @arg26 251 16777216 0 Y 0 31 8
def @arg27 251 16777216 0 Y 128 31 63
def @arg28 251 16777216 0 Y 0 31 8
def @arg29 251 16777216 0 Y 128 31 63
def @arg30 251 16777216 0 Y 0 31 8
def @arg31 251 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
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
@ -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
execute full_info ;
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 @arg02 253 20 1 Y 128 0 63
def @arg03 253 20 1 Y 128 0 63
def @arg04 253 20 1 Y 128 0 63
def @arg05 253 20 1 Y 128 0 63
def @arg06 253 20 1 Y 128 0 63
def @arg07 253 23 1 Y 128 31 63
def @arg08 253 23 1 Y 128 31 63
def @arg09 253 23 1 Y 128 31 63
def @arg10 253 23 1 Y 128 31 63
def @arg11 253 67 6 Y 128 30 63
def @arg12 253 67 6 Y 128 30 63
def @arg13 253 16777216 10 Y 128 31 63
def @arg14 253 16777216 19 Y 128 31 63
def @arg15 253 16777216 19 Y 128 31 63
def @arg16 253 16777216 8 Y 128 31 63
def @arg17 253 20 4 Y 128 0 63
def @arg18 253 20 1 Y 128 0 63
def @arg19 253 20 1 Y 128 0 63
def @arg20 253 16777216 1 Y 0 31 8
def @arg21 253 16777216 10 Y 0 31 8
def @arg22 253 16777216 30 Y 0 31 8
def @arg23 253 16777216 8 Y 128 31 63
def @arg24 253 16777216 8 Y 0 31 8
def @arg25 253 16777216 4 Y 128 31 63
def @arg26 253 16777216 4 Y 0 31 8
def @arg27 253 16777216 10 Y 128 31 63
def @arg28 253 16777216 10 Y 0 31 8
def @arg29 253 16777216 8 Y 128 31 63
def @arg30 253 16777216 8 Y 0 31 8
def @arg31 253 16777216 3 Y 0 31 8
def @arg32 253 16777216 6 Y 0 31 8
def @arg01 8 20 1 Y 32896 0 63
def @arg02 8 20 1 Y 32896 0 63
def @arg03 8 20 1 Y 32896 0 63
def @arg04 8 20 1 Y 32896 0 63
def @arg05 8 20 1 Y 32896 0 63
def @arg06 8 20 1 Y 32896 0 63
def @arg07 5 23 1 Y 32896 31 63
def @arg08 5 23 1 Y 32896 31 63
def @arg09 5 23 1 Y 32896 31 63
def @arg10 5 23 1 Y 32896 31 63
def @arg11 246 67 6 Y 128 30 63
def @arg12 246 67 6 Y 128 30 63
def @arg13 251 16777216 10 Y 128 31 63
def @arg14 251 16777216 19 Y 128 31 63
def @arg15 251 16777216 19 Y 128 31 63
def @arg16 251 16777216 8 Y 128 31 63
def @arg17 8 20 4 Y 32928 0 63
def @arg18 8 20 1 Y 32896 0 63
def @arg19 8 20 1 Y 32896 0 63
def @arg20 251 16777216 1 Y 0 31 8
def @arg21 251 16777216 10 Y 0 31 8
def @arg22 251 16777216 30 Y 0 31 8
def @arg23 251 16777216 8 Y 128 31 63
def @arg24 251 16777216 8 Y 0 31 8
def @arg25 251 16777216 4 Y 128 31 63
def @arg26 251 16777216 4 Y 0 31 8
def @arg27 251 16777216 10 Y 128 31 63
def @arg28 251 16777216 10 Y 0 31 8
def @arg29 251 16777216 8 Y 128 31 63
def @arg30 251 16777216 8 Y 0 31 8
def @arg31 251 16777216 3 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
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 ;
@ -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
execute full_info ;
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 @arg02 253 20 0 Y 128 0 63
def @arg03 253 20 0 Y 128 0 63
def @arg04 253 20 0 Y 128 0 63
def @arg05 253 20 0 Y 128 0 63
def @arg06 253 20 0 Y 128 0 63
def @arg07 253 23 0 Y 128 31 63
def @arg08 253 23 0 Y 128 31 63
def @arg09 253 23 0 Y 128 31 63
def @arg10 253 23 0 Y 128 31 63
def @arg11 253 67 0 Y 128 30 63
def @arg12 253 67 0 Y 128 30 63
def @arg13 253 16777216 0 Y 128 31 63
def @arg14 253 16777216 0 Y 128 31 63
def @arg15 253 16777216 19 Y 128 31 63
def @arg16 253 16777216 0 Y 128 31 63
def @arg17 253 20 0 Y 128 0 63
def @arg18 253 20 0 Y 128 0 63
def @arg19 253 20 0 Y 128 0 63
def @arg20 253 16777216 0 Y 0 31 8
def @arg21 253 16777216 0 Y 0 31 8
def @arg22 253 16777216 0 Y 0 31 8
def @arg23 253 16777216 0 Y 128 31 63
def @arg24 253 16777216 0 Y 0 31 8
def @arg25 253 16777216 0 Y 128 31 63
def @arg26 253 16777216 0 Y 0 31 8
def @arg27 253 16777216 0 Y 128 31 63
def @arg28 253 16777216 0 Y 0 31 8
def @arg29 253 16777216 0 Y 128 31 63
def @arg30 253 16777216 0 Y 0 31 8
def @arg31 253 16777216 0 Y 0 31 8
def @arg32 253 16777216 0 Y 0 31 8
def @arg01 8 20 1 Y 32896 0 63
def @arg02 8 20 0 Y 32896 0 63
def @arg03 8 20 0 Y 32896 0 63
def @arg04 8 20 0 Y 32896 0 63
def @arg05 8 20 0 Y 32896 0 63
def @arg06 8 20 0 Y 32896 0 63
def @arg07 5 23 0 Y 32896 31 63
def @arg08 5 23 0 Y 32896 31 63
def @arg09 5 23 0 Y 32896 31 63
def @arg10 5 23 0 Y 32896 31 63
def @arg11 246 67 0 Y 128 30 63
def @arg12 246 67 0 Y 128 30 63
def @arg13 251 16777216 0 Y 128 31 63
def @arg14 251 16777216 0 Y 128 31 63
def @arg15 251 16777216 19 Y 128 31 63
def @arg16 251 16777216 0 Y 128 31 63
def @arg17 8 20 0 Y 32928 0 63
def @arg18 8 20 0 Y 32896 0 63
def @arg19 8 20 0 Y 32896 0 63
def @arg20 251 16777216 0 Y 0 31 8
def @arg21 251 16777216 0 Y 0 31 8
def @arg22 251 16777216 0 Y 0 31 8
def @arg23 251 16777216 0 Y 128 31 63
def @arg24 251 16777216 0 Y 0 31 8
def @arg25 251 16777216 0 Y 128 31 63
def @arg26 251 16777216 0 Y 0 31 8
def @arg27 251 16777216 0 Y 128 31 63
def @arg28 251 16777216 0 Y 0 31 8
def @arg29 251 16777216 0 Y 128 31 63
def @arg30 251 16777216 0 Y 0 31 8
def @arg31 251 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
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" ;
@ -2102,38 +2102,38 @@ into @arg01, @arg02, @arg03, @arg04, @arg05, @arg06, @arg07, @arg08,
from t9 where c1= 1 ;
execute full_info ;
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 @arg02 253 20 1 Y 128 0 63
def @arg03 253 20 1 Y 128 0 63
def @arg04 253 20 1 Y 128 0 63
def @arg05 253 20 1 Y 128 0 63
def @arg06 253 20 1 Y 128 0 63
def @arg07 253 23 1 Y 128 31 63
def @arg08 253 23 1 Y 128 31 63
def @arg09 253 23 1 Y 128 31 63
def @arg10 253 23 1 Y 128 31 63
def @arg11 253 67 6 Y 128 30 63
def @arg12 253 67 6 Y 128 30 63
def @arg13 253 16777216 10 Y 128 31 63
def @arg14 253 16777216 19 Y 128 31 63
def @arg15 253 16777216 19 Y 128 31 63
def @arg16 253 16777216 8 Y 128 31 63
def @arg17 253 20 4 Y 128 0 63
def @arg18 253 20 1 Y 128 0 63
def @arg19 253 20 1 Y 128 0 63
def @arg20 253 16777216 1 Y 0 31 8
def @arg21 253 16777216 10 Y 0 31 8
def @arg22 253 16777216 30 Y 0 31 8
def @arg23 253 16777216 8 Y 128 31 63
def @arg24 253 16777216 8 Y 0 31 8
def @arg25 253 16777216 4 Y 128 31 63
def @arg26 253 16777216 4 Y 0 31 8
def @arg27 253 16777216 10 Y 128 31 63
def @arg28 253 16777216 10 Y 0 31 8
def @arg29 253 16777216 8 Y 128 31 63
def @arg30 253 16777216 8 Y 0 31 8
def @arg31 253 16777216 3 Y 0 31 8
def @arg32 253 16777216 6 Y 0 31 8
def @arg01 8 20 1 Y 32896 0 63
def @arg02 8 20 1 Y 32896 0 63
def @arg03 8 20 1 Y 32896 0 63
def @arg04 8 20 1 Y 32896 0 63
def @arg05 8 20 1 Y 32896 0 63
def @arg06 8 20 1 Y 32896 0 63
def @arg07 5 23 1 Y 32896 31 63
def @arg08 5 23 1 Y 32896 31 63
def @arg09 5 23 1 Y 32896 31 63
def @arg10 5 23 1 Y 32896 31 63
def @arg11 246 67 6 Y 128 30 63
def @arg12 246 67 6 Y 128 30 63
def @arg13 251 16777216 10 Y 128 31 63
def @arg14 251 16777216 19 Y 128 31 63
def @arg15 251 16777216 19 Y 128 31 63
def @arg16 251 16777216 8 Y 128 31 63
def @arg17 8 20 4 Y 32928 0 63
def @arg18 8 20 1 Y 32896 0 63
def @arg19 8 20 1 Y 32896 0 63
def @arg20 251 16777216 1 Y 0 31 8
def @arg21 251 16777216 10 Y 0 31 8
def @arg22 251 16777216 30 Y 0 31 8
def @arg23 251 16777216 8 Y 128 31 63
def @arg24 251 16777216 8 Y 0 31 8
def @arg25 251 16777216 4 Y 128 31 63
def @arg26 251 16777216 4 Y 0 31 8
def @arg27 251 16777216 10 Y 128 31 63
def @arg28 251 16777216 10 Y 0 31 8
def @arg29 251 16777216 8 Y 128 31 63
def @arg30 251 16777216 8 Y 0 31 8
def @arg31 251 16777216 3 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
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,
@ -2146,38 +2146,38 @@ into @arg01, @arg02, @arg03, @arg04, @arg05, @arg06, @arg07, @arg08,
from t9 where c1= 0 ;
execute full_info ;
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 @arg02 253 20 0 Y 128 0 63
def @arg03 253 20 0 Y 128 0 63
def @arg04 253 20 0 Y 128 0 63
def @arg05 253 20 0 Y 128 0 63
def @arg06 253 20 0 Y 128 0 63
def @arg07 253 23 0 Y 128 31 63
def @arg08 253 23 0 Y 128 31 63
def @arg09 253 23 0 Y 128 31 63
def @arg10 253 23 0 Y 128 31 63
def @arg11 253 67 0 Y 128 30 63
def @arg12 253 67 0 Y 128 30 63
def @arg13 253 16777216 0 Y 128 31 63
def @arg14 253 16777216 0 Y 128 31 63
def @arg15 253 16777216 19 Y 128 31 63
def @arg16 253 16777216 0 Y 128 31 63
def @arg17 253 20 0 Y 128 0 63
def @arg18 253 20 0 Y 128 0 63
def @arg19 253 20 0 Y 128 0 63
def @arg20 253 16777216 0 Y 0 31 8
def @arg21 253 16777216 0 Y 0 31 8
def @arg22 253 16777216 0 Y 0 31 8
def @arg23 253 16777216 0 Y 128 31 63
def @arg24 253 16777216 0 Y 0 31 8
def @arg25 253 16777216 0 Y 128 31 63
def @arg26 253 16777216 0 Y 0 31 8
def @arg27 253 16777216 0 Y 128 31 63
def @arg28 253 16777216 0 Y 0 31 8
def @arg29 253 16777216 0 Y 128 31 63
def @arg30 253 16777216 0 Y 0 31 8
def @arg31 253 16777216 0 Y 0 31 8
def @arg32 253 16777216 0 Y 0 31 8
def @arg01 8 20 1 Y 32896 0 63
def @arg02 8 20 0 Y 32896 0 63
def @arg03 8 20 0 Y 32896 0 63
def @arg04 8 20 0 Y 32896 0 63
def @arg05 8 20 0 Y 32896 0 63
def @arg06 8 20 0 Y 32896 0 63
def @arg07 5 23 0 Y 32896 31 63
def @arg08 5 23 0 Y 32896 31 63
def @arg09 5 23 0 Y 32896 31 63
def @arg10 5 23 0 Y 32896 31 63
def @arg11 246 67 0 Y 128 30 63
def @arg12 246 67 0 Y 128 30 63
def @arg13 251 16777216 0 Y 128 31 63
def @arg14 251 16777216 0 Y 128 31 63
def @arg15 251 16777216 19 Y 128 31 63
def @arg16 251 16777216 0 Y 128 31 63
def @arg17 8 20 0 Y 32928 0 63
def @arg18 8 20 0 Y 32896 0 63
def @arg19 8 20 0 Y 32896 0 63
def @arg20 251 16777216 0 Y 0 31 8
def @arg21 251 16777216 0 Y 0 31 8
def @arg22 251 16777216 0 Y 0 31 8
def @arg23 251 16777216 0 Y 128 31 63
def @arg24 251 16777216 0 Y 0 31 8
def @arg25 251 16777216 0 Y 128 31 63
def @arg26 251 16777216 0 Y 0 31 8
def @arg27 251 16777216 0 Y 128 31 63
def @arg28 251 16777216 0 Y 0 31 8
def @arg29 251 16777216 0 Y 128 31 63
def @arg30 251 16777216 0 Y 0 31 8
def @arg31 251 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
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,
@ -2192,76 +2192,76 @@ set @my_key= 1 ;
execute stmt1 using @my_key ;
execute full_info ;
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 @arg02 253 20 1 Y 128 0 63
def @arg03 253 20 1 Y 128 0 63
def @arg04 253 20 1 Y 128 0 63
def @arg05 253 20 1 Y 128 0 63
def @arg06 253 20 1 Y 128 0 63
def @arg07 253 23 1 Y 128 31 63
def @arg08 253 23 1 Y 128 31 63
def @arg09 253 23 1 Y 128 31 63
def @arg10 253 23 1 Y 128 31 63
def @arg11 253 67 6 Y 128 30 63
def @arg12 253 67 6 Y 128 30 63
def @arg13 253 16777216 10 Y 128 31 63
def @arg14 253 16777216 19 Y 128 31 63
def @arg15 253 16777216 19 Y 128 31 63
def @arg16 253 16777216 8 Y 128 31 63
def @arg17 253 20 4 Y 128 0 63
def @arg18 253 20 1 Y 128 0 63
def @arg19 253 20 1 Y 128 0 63
def @arg20 253 16777216 1 Y 0 31 8
def @arg21 253 16777216 10 Y 0 31 8
def @arg22 253 16777216 30 Y 0 31 8
def @arg23 253 16777216 8 Y 128 31 63
def @arg24 253 16777216 8 Y 0 31 8
def @arg25 253 16777216 4 Y 128 31 63
def @arg26 253 16777216 4 Y 0 31 8
def @arg27 253 16777216 10 Y 128 31 63
def @arg28 253 16777216 10 Y 0 31 8
def @arg29 253 16777216 8 Y 128 31 63
def @arg30 253 16777216 8 Y 0 31 8
def @arg31 253 16777216 3 Y 0 31 8
def @arg32 253 16777216 6 Y 0 31 8
def @arg01 8 20 1 Y 32896 0 63
def @arg02 8 20 1 Y 32896 0 63
def @arg03 8 20 1 Y 32896 0 63
def @arg04 8 20 1 Y 32896 0 63
def @arg05 8 20 1 Y 32896 0 63
def @arg06 8 20 1 Y 32896 0 63
def @arg07 5 23 1 Y 32896 31 63
def @arg08 5 23 1 Y 32896 31 63
def @arg09 5 23 1 Y 32896 31 63
def @arg10 5 23 1 Y 32896 31 63
def @arg11 246 67 6 Y 128 30 63
def @arg12 246 67 6 Y 128 30 63
def @arg13 251 16777216 10 Y 128 31 63
def @arg14 251 16777216 19 Y 128 31 63
def @arg15 251 16777216 19 Y 128 31 63
def @arg16 251 16777216 8 Y 128 31 63
def @arg17 8 20 4 Y 32928 0 63
def @arg18 8 20 1 Y 32896 0 63
def @arg19 8 20 1 Y 32896 0 63
def @arg20 251 16777216 1 Y 0 31 8
def @arg21 251 16777216 10 Y 0 31 8
def @arg22 251 16777216 30 Y 0 31 8
def @arg23 251 16777216 8 Y 128 31 63
def @arg24 251 16777216 8 Y 0 31 8
def @arg25 251 16777216 4 Y 128 31 63
def @arg26 251 16777216 4 Y 0 31 8
def @arg27 251 16777216 10 Y 128 31 63
def @arg28 251 16777216 10 Y 0 31 8
def @arg29 251 16777216 8 Y 128 31 63
def @arg30 251 16777216 8 Y 0 31 8
def @arg31 251 16777216 3 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
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 ;
execute stmt1 using @my_key ;
execute full_info ;
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 @arg02 253 20 0 Y 128 0 63
def @arg03 253 20 0 Y 128 0 63
def @arg04 253 20 0 Y 128 0 63
def @arg05 253 20 0 Y 128 0 63
def @arg06 253 20 0 Y 128 0 63
def @arg07 253 23 0 Y 128 31 63
def @arg08 253 23 0 Y 128 31 63
def @arg09 253 23 0 Y 128 31 63
def @arg10 253 23 0 Y 128 31 63
def @arg11 253 67 0 Y 128 30 63
def @arg12 253 67 0 Y 128 30 63
def @arg13 253 16777216 0 Y 128 31 63
def @arg14 253 16777216 0 Y 128 31 63
def @arg15 253 16777216 19 Y 128 31 63
def @arg16 253 16777216 0 Y 128 31 63
def @arg17 253 20 0 Y 128 0 63
def @arg18 253 20 0 Y 128 0 63
def @arg19 253 20 0 Y 128 0 63
def @arg20 253 16777216 0 Y 0 31 8
def @arg21 253 16777216 0 Y 0 31 8
def @arg22 253 16777216 0 Y 0 31 8
def @arg23 253 16777216 0 Y 128 31 63
def @arg24 253 16777216 0 Y 0 31 8
def @arg25 253 16777216 0 Y 128 31 63
def @arg26 253 16777216 0 Y 0 31 8
def @arg27 253 16777216 0 Y 128 31 63
def @arg28 253 16777216 0 Y 0 31 8
def @arg29 253 16777216 0 Y 128 31 63
def @arg30 253 16777216 0 Y 0 31 8
def @arg31 253 16777216 0 Y 0 31 8
def @arg32 253 16777216 0 Y 0 31 8
def @arg01 8 20 1 Y 32896 0 63
def @arg02 8 20 0 Y 32896 0 63
def @arg03 8 20 0 Y 32896 0 63
def @arg04 8 20 0 Y 32896 0 63
def @arg05 8 20 0 Y 32896 0 63
def @arg06 8 20 0 Y 32896 0 63
def @arg07 5 23 0 Y 32896 31 63
def @arg08 5 23 0 Y 32896 31 63
def @arg09 5 23 0 Y 32896 31 63
def @arg10 5 23 0 Y 32896 31 63
def @arg11 246 67 0 Y 128 30 63
def @arg12 246 67 0 Y 128 30 63
def @arg13 251 16777216 0 Y 128 31 63
def @arg14 251 16777216 0 Y 128 31 63
def @arg15 251 16777216 19 Y 128 31 63
def @arg16 251 16777216 0 Y 128 31 63
def @arg17 8 20 0 Y 32928 0 63
def @arg18 8 20 0 Y 32896 0 63
def @arg19 8 20 0 Y 32896 0 63
def @arg20 251 16777216 0 Y 0 31 8
def @arg21 251 16777216 0 Y 0 31 8
def @arg22 251 16777216 0 Y 0 31 8
def @arg23 251 16777216 0 Y 128 31 63
def @arg24 251 16777216 0 Y 0 31 8
def @arg25 251 16777216 0 Y 128 31 63
def @arg26 251 16777216 0 Y 0 31 8
def @arg27 251 16777216 0 Y 128 31 63
def @arg28 251 16777216 0 Y 0 31 8
def @arg29 251 16777216 0 Y 128 31 63
def @arg30 251 16777216 0 Y 0 31 8
def @arg31 251 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
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" ;

View File

@ -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
execute full_info ;
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 @arg02 253 20 1 Y 128 0 63
def @arg03 253 20 1 Y 128 0 63
def @arg04 253 20 1 Y 128 0 63
def @arg05 253 20 1 Y 128 0 63
def @arg06 253 20 1 Y 128 0 63
def @arg07 253 23 1 Y 128 31 63
def @arg08 253 23 1 Y 128 31 63
def @arg09 253 23 1 Y 128 31 63
def @arg10 253 23 1 Y 128 31 63
def @arg11 253 67 6 Y 128 30 63
def @arg12 253 67 6 Y 128 30 63
def @arg13 253 16777216 10 Y 128 31 63
def @arg14 253 16777216 19 Y 128 31 63
def @arg15 253 16777216 19 Y 128 31 63
def @arg16 253 16777216 8 Y 128 31 63
def @arg17 253 20 4 Y 128 0 63
def @arg18 253 20 1 Y 128 0 63
def @arg19 253 20 1 Y 128 0 63
def @arg20 253 16777216 1 Y 0 31 8
def @arg21 253 16777216 10 Y 0 31 8
def @arg22 253 16777216 30 Y 0 31 8
def @arg23 253 16777216 8 Y 128 31 63
def @arg24 253 16777216 8 Y 0 31 8
def @arg25 253 16777216 4 Y 128 31 63
def @arg26 253 16777216 4 Y 0 31 8
def @arg27 253 16777216 10 Y 128 31 63
def @arg28 253 16777216 10 Y 0 31 8
def @arg29 253 16777216 8 Y 128 31 63
def @arg30 253 16777216 8 Y 0 31 8
def @arg31 253 16777216 3 Y 0 31 8
def @arg32 253 16777216 6 Y 0 31 8
def @arg01 8 20 1 Y 32896 0 63
def @arg02 8 20 1 Y 32896 0 63
def @arg03 8 20 1 Y 32896 0 63
def @arg04 8 20 1 Y 32896 0 63
def @arg05 8 20 1 Y 32896 0 63
def @arg06 8 20 1 Y 32896 0 63
def @arg07 5 23 1 Y 32896 31 63
def @arg08 5 23 1 Y 32896 31 63
def @arg09 5 23 1 Y 32896 31 63
def @arg10 5 23 1 Y 32896 31 63
def @arg11 246 67 6 Y 128 30 63
def @arg12 246 67 6 Y 128 30 63
def @arg13 251 16777216 10 Y 128 31 63
def @arg14 251 16777216 19 Y 128 31 63
def @arg15 251 16777216 19 Y 128 31 63
def @arg16 251 16777216 8 Y 128 31 63
def @arg17 8 20 4 Y 32928 0 63
def @arg18 8 20 1 Y 32896 0 63
def @arg19 8 20 1 Y 32896 0 63
def @arg20 251 16777216 1 Y 0 31 8
def @arg21 251 16777216 10 Y 0 31 8
def @arg22 251 16777216 30 Y 0 31 8
def @arg23 251 16777216 8 Y 128 31 63
def @arg24 251 16777216 8 Y 0 31 8
def @arg25 251 16777216 4 Y 128 31 63
def @arg26 251 16777216 4 Y 0 31 8
def @arg27 251 16777216 10 Y 128 31 63
def @arg28 251 16777216 10 Y 0 31 8
def @arg29 251 16777216 8 Y 128 31 63
def @arg30 251 16777216 8 Y 0 31 8
def @arg31 251 16777216 3 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
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,
@ -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
execute full_info ;
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 @arg02 253 20 0 Y 128 0 63
def @arg03 253 20 0 Y 128 0 63
def @arg04 253 20 0 Y 128 0 63
def @arg05 253 20 0 Y 128 0 63
def @arg06 253 20 0 Y 128 0 63
def @arg07 253 23 0 Y 128 31 63
def @arg08 253 23 0 Y 128 31 63
def @arg09 253 23 0 Y 128 31 63
def @arg10 253 23 0 Y 128 31 63
def @arg11 253 67 0 Y 128 30 63
def @arg12 253 67 0 Y 128 30 63
def @arg13 253 16777216 0 Y 128 31 63
def @arg14 253 16777216 0 Y 128 31 63
def @arg15 253 16777216 19 Y 128 31 63
def @arg16 253 16777216 0 Y 128 31 63
def @arg17 253 20 0 Y 128 0 63
def @arg18 253 20 0 Y 128 0 63
def @arg19 253 20 0 Y 128 0 63
def @arg20 253 16777216 0 Y 0 31 8
def @arg21 253 16777216 0 Y 0 31 8
def @arg22 253 16777216 0 Y 0 31 8
def @arg23 253 16777216 0 Y 128 31 63
def @arg24 253 16777216 0 Y 0 31 8
def @arg25 253 16777216 0 Y 128 31 63
def @arg26 253 16777216 0 Y 0 31 8
def @arg27 253 16777216 0 Y 128 31 63
def @arg28 253 16777216 0 Y 0 31 8
def @arg29 253 16777216 0 Y 128 31 63
def @arg30 253 16777216 0 Y 0 31 8
def @arg31 253 16777216 0 Y 0 31 8
def @arg32 253 16777216 0 Y 0 31 8
def @arg01 8 20 1 Y 32896 0 63
def @arg02 8 20 0 Y 32896 0 63
def @arg03 8 20 0 Y 32896 0 63
def @arg04 8 20 0 Y 32896 0 63
def @arg05 8 20 0 Y 32896 0 63
def @arg06 8 20 0 Y 32896 0 63
def @arg07 5 23 0 Y 32896 31 63
def @arg08 5 23 0 Y 32896 31 63
def @arg09 5 23 0 Y 32896 31 63
def @arg10 5 23 0 Y 32896 31 63
def @arg11 246 67 0 Y 128 30 63
def @arg12 246 67 0 Y 128 30 63
def @arg13 251 16777216 0 Y 128 31 63
def @arg14 251 16777216 0 Y 128 31 63
def @arg15 251 16777216 19 Y 128 31 63
def @arg16 251 16777216 0 Y 128 31 63
def @arg17 8 20 0 Y 32928 0 63
def @arg18 8 20 0 Y 32896 0 63
def @arg19 8 20 0 Y 32896 0 63
def @arg20 251 16777216 0 Y 0 31 8
def @arg21 251 16777216 0 Y 0 31 8
def @arg22 251 16777216 0 Y 0 31 8
def @arg23 251 16777216 0 Y 128 31 63
def @arg24 251 16777216 0 Y 0 31 8
def @arg25 251 16777216 0 Y 128 31 63
def @arg26 251 16777216 0 Y 0 31 8
def @arg27 251 16777216 0 Y 128 31 63
def @arg28 251 16777216 0 Y 0 31 8
def @arg29 251 16777216 0 Y 128 31 63
def @arg30 251 16777216 0 Y 0 31 8
def @arg31 251 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
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
@ -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
execute full_info ;
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 @arg02 253 20 1 Y 128 0 63
def @arg03 253 20 1 Y 128 0 63
def @arg04 253 20 1 Y 128 0 63
def @arg05 253 20 1 Y 128 0 63
def @arg06 253 20 1 Y 128 0 63
def @arg07 253 23 1 Y 128 31 63
def @arg08 253 23 1 Y 128 31 63
def @arg09 253 23 1 Y 128 31 63
def @arg10 253 23 1 Y 128 31 63
def @arg11 253 67 6 Y 128 30 63
def @arg12 253 67 6 Y 128 30 63
def @arg13 253 16777216 10 Y 128 31 63
def @arg14 253 16777216 19 Y 128 31 63
def @arg15 253 16777216 19 Y 128 31 63
def @arg16 253 16777216 8 Y 128 31 63
def @arg17 253 20 4 Y 128 0 63
def @arg18 253 20 1 Y 128 0 63
def @arg19 253 20 1 Y 128 0 63
def @arg20 253 16777216 1 Y 0 31 8
def @arg21 253 16777216 10 Y 0 31 8
def @arg22 253 16777216 30 Y 0 31 8
def @arg23 253 16777216 8 Y 128 31 63
def @arg24 253 16777216 8 Y 0 31 8
def @arg25 253 16777216 4 Y 128 31 63
def @arg26 253 16777216 4 Y 0 31 8
def @arg27 253 16777216 10 Y 128 31 63
def @arg28 253 16777216 10 Y 0 31 8
def @arg29 253 16777216 8 Y 128 31 63
def @arg30 253 16777216 8 Y 0 31 8
def @arg31 253 16777216 3 Y 0 31 8
def @arg32 253 16777216 6 Y 0 31 8
def @arg01 8 20 1 Y 32896 0 63
def @arg02 8 20 1 Y 32896 0 63
def @arg03 8 20 1 Y 32896 0 63
def @arg04 8 20 1 Y 32896 0 63
def @arg05 8 20 1 Y 32896 0 63
def @arg06 8 20 1 Y 32896 0 63
def @arg07 5 23 1 Y 32896 31 63
def @arg08 5 23 1 Y 32896 31 63
def @arg09 5 23 1 Y 32896 31 63
def @arg10 5 23 1 Y 32896 31 63
def @arg11 246 67 6 Y 128 30 63
def @arg12 246 67 6 Y 128 30 63
def @arg13 251 16777216 10 Y 128 31 63
def @arg14 251 16777216 19 Y 128 31 63
def @arg15 251 16777216 19 Y 128 31 63
def @arg16 251 16777216 8 Y 128 31 63
def @arg17 8 20 4 Y 32928 0 63
def @arg18 8 20 1 Y 32896 0 63
def @arg19 8 20 1 Y 32896 0 63
def @arg20 251 16777216 1 Y 0 31 8
def @arg21 251 16777216 10 Y 0 31 8
def @arg22 251 16777216 30 Y 0 31 8
def @arg23 251 16777216 8 Y 128 31 63
def @arg24 251 16777216 8 Y 0 31 8
def @arg25 251 16777216 4 Y 128 31 63
def @arg26 251 16777216 4 Y 0 31 8
def @arg27 251 16777216 10 Y 128 31 63
def @arg28 251 16777216 10 Y 0 31 8
def @arg29 251 16777216 8 Y 128 31 63
def @arg30 251 16777216 8 Y 0 31 8
def @arg31 251 16777216 3 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
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 ;
@ -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
execute full_info ;
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 @arg02 253 20 0 Y 128 0 63
def @arg03 253 20 0 Y 128 0 63
def @arg04 253 20 0 Y 128 0 63
def @arg05 253 20 0 Y 128 0 63
def @arg06 253 20 0 Y 128 0 63
def @arg07 253 23 0 Y 128 31 63
def @arg08 253 23 0 Y 128 31 63
def @arg09 253 23 0 Y 128 31 63
def @arg10 253 23 0 Y 128 31 63
def @arg11 253 67 0 Y 128 30 63
def @arg12 253 67 0 Y 128 30 63
def @arg13 253 16777216 0 Y 128 31 63
def @arg14 253 16777216 0 Y 128 31 63
def @arg15 253 16777216 19 Y 128 31 63
def @arg16 253 16777216 0 Y 128 31 63
def @arg17 253 20 0 Y 128 0 63
def @arg18 253 20 0 Y 128 0 63
def @arg19 253 20 0 Y 128 0 63
def @arg20 253 16777216 0 Y 0 31 8
def @arg21 253 16777216 0 Y 0 31 8
def @arg22 253 16777216 0 Y 0 31 8
def @arg23 253 16777216 0 Y 128 31 63
def @arg24 253 16777216 0 Y 0 31 8
def @arg25 253 16777216 0 Y 128 31 63
def @arg26 253 16777216 0 Y 0 31 8
def @arg27 253 16777216 0 Y 128 31 63
def @arg28 253 16777216 0 Y 0 31 8
def @arg29 253 16777216 0 Y 128 31 63
def @arg30 253 16777216 0 Y 0 31 8
def @arg31 253 16777216 0 Y 0 31 8
def @arg32 253 16777216 0 Y 0 31 8
def @arg01 8 20 1 Y 32896 0 63
def @arg02 8 20 0 Y 32896 0 63
def @arg03 8 20 0 Y 32896 0 63
def @arg04 8 20 0 Y 32896 0 63
def @arg05 8 20 0 Y 32896 0 63
def @arg06 8 20 0 Y 32896 0 63
def @arg07 5 23 0 Y 32896 31 63
def @arg08 5 23 0 Y 32896 31 63
def @arg09 5 23 0 Y 32896 31 63
def @arg10 5 23 0 Y 32896 31 63
def @arg11 246 67 0 Y 128 30 63
def @arg12 246 67 0 Y 128 30 63
def @arg13 251 16777216 0 Y 128 31 63
def @arg14 251 16777216 0 Y 128 31 63
def @arg15 251 16777216 19 Y 128 31 63
def @arg16 251 16777216 0 Y 128 31 63
def @arg17 8 20 0 Y 32928 0 63
def @arg18 8 20 0 Y 32896 0 63
def @arg19 8 20 0 Y 32896 0 63
def @arg20 251 16777216 0 Y 0 31 8
def @arg21 251 16777216 0 Y 0 31 8
def @arg22 251 16777216 0 Y 0 31 8
def @arg23 251 16777216 0 Y 128 31 63
def @arg24 251 16777216 0 Y 0 31 8
def @arg25 251 16777216 0 Y 128 31 63
def @arg26 251 16777216 0 Y 0 31 8
def @arg27 251 16777216 0 Y 128 31 63
def @arg28 251 16777216 0 Y 0 31 8
def @arg29 251 16777216 0 Y 128 31 63
def @arg30 251 16777216 0 Y 0 31 8
def @arg31 251 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
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" ;
@ -2085,38 +2085,38 @@ into @arg01, @arg02, @arg03, @arg04, @arg05, @arg06, @arg07, @arg08,
from t9 where c1= 1 ;
execute full_info ;
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 @arg02 253 20 1 Y 128 0 63
def @arg03 253 20 1 Y 128 0 63
def @arg04 253 20 1 Y 128 0 63
def @arg05 253 20 1 Y 128 0 63
def @arg06 253 20 1 Y 128 0 63
def @arg07 253 23 1 Y 128 31 63
def @arg08 253 23 1 Y 128 31 63
def @arg09 253 23 1 Y 128 31 63
def @arg10 253 23 1 Y 128 31 63
def @arg11 253 67 6 Y 128 30 63
def @arg12 253 67 6 Y 128 30 63
def @arg13 253 16777216 10 Y 128 31 63
def @arg14 253 16777216 19 Y 128 31 63
def @arg15 253 16777216 19 Y 128 31 63
def @arg16 253 16777216 8 Y 128 31 63
def @arg17 253 20 4 Y 128 0 63
def @arg18 253 20 1 Y 128 0 63
def @arg19 253 20 1 Y 128 0 63
def @arg20 253 16777216 1 Y 0 31 8
def @arg21 253 16777216 10 Y 0 31 8
def @arg22 253 16777216 30 Y 0 31 8
def @arg23 253 16777216 8 Y 128 31 63
def @arg24 253 16777216 8 Y 0 31 8
def @arg25 253 16777216 4 Y 128 31 63
def @arg26 253 16777216 4 Y 0 31 8
def @arg27 253 16777216 10 Y 128 31 63
def @arg28 253 16777216 10 Y 0 31 8
def @arg29 253 16777216 8 Y 128 31 63
def @arg30 253 16777216 8 Y 0 31 8
def @arg31 253 16777216 3 Y 0 31 8
def @arg32 253 16777216 6 Y 0 31 8
def @arg01 8 20 1 Y 32896 0 63
def @arg02 8 20 1 Y 32896 0 63
def @arg03 8 20 1 Y 32896 0 63
def @arg04 8 20 1 Y 32896 0 63
def @arg05 8 20 1 Y 32896 0 63
def @arg06 8 20 1 Y 32896 0 63
def @arg07 5 23 1 Y 32896 31 63
def @arg08 5 23 1 Y 32896 31 63
def @arg09 5 23 1 Y 32896 31 63
def @arg10 5 23 1 Y 32896 31 63
def @arg11 246 67 6 Y 128 30 63
def @arg12 246 67 6 Y 128 30 63
def @arg13 251 16777216 10 Y 128 31 63
def @arg14 251 16777216 19 Y 128 31 63
def @arg15 251 16777216 19 Y 128 31 63
def @arg16 251 16777216 8 Y 128 31 63
def @arg17 8 20 4 Y 32928 0 63
def @arg18 8 20 1 Y 32896 0 63
def @arg19 8 20 1 Y 32896 0 63
def @arg20 251 16777216 1 Y 0 31 8
def @arg21 251 16777216 10 Y 0 31 8
def @arg22 251 16777216 30 Y 0 31 8
def @arg23 251 16777216 8 Y 128 31 63
def @arg24 251 16777216 8 Y 0 31 8
def @arg25 251 16777216 4 Y 128 31 63
def @arg26 251 16777216 4 Y 0 31 8
def @arg27 251 16777216 10 Y 128 31 63
def @arg28 251 16777216 10 Y 0 31 8
def @arg29 251 16777216 8 Y 128 31 63
def @arg30 251 16777216 8 Y 0 31 8
def @arg31 251 16777216 3 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
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,
@ -2129,38 +2129,38 @@ into @arg01, @arg02, @arg03, @arg04, @arg05, @arg06, @arg07, @arg08,
from t9 where c1= 0 ;
execute full_info ;
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 @arg02 253 20 0 Y 128 0 63
def @arg03 253 20 0 Y 128 0 63
def @arg04 253 20 0 Y 128 0 63
def @arg05 253 20 0 Y 128 0 63
def @arg06 253 20 0 Y 128 0 63
def @arg07 253 23 0 Y 128 31 63
def @arg08 253 23 0 Y 128 31 63
def @arg09 253 23 0 Y 128 31 63
def @arg10 253 23 0 Y 128 31 63
def @arg11 253 67 0 Y 128 30 63
def @arg12 253 67 0 Y 128 30 63
def @arg13 253 16777216 0 Y 128 31 63
def @arg14 253 16777216 0 Y 128 31 63
def @arg15 253 16777216 19 Y 128 31 63
def @arg16 253 16777216 0 Y 128 31 63
def @arg17 253 20 0 Y 128 0 63
def @arg18 253 20 0 Y 128 0 63
def @arg19 253 20 0 Y 128 0 63
def @arg20 253 16777216 0 Y 0 31 8
def @arg21 253 16777216 0 Y 0 31 8
def @arg22 253 16777216 0 Y 0 31 8
def @arg23 253 16777216 0 Y 128 31 63
def @arg24 253 16777216 0 Y 0 31 8
def @arg25 253 16777216 0 Y 128 31 63
def @arg26 253 16777216 0 Y 0 31 8
def @arg27 253 16777216 0 Y 128 31 63
def @arg28 253 16777216 0 Y 0 31 8
def @arg29 253 16777216 0 Y 128 31 63
def @arg30 253 16777216 0 Y 0 31 8
def @arg31 253 16777216 0 Y 0 31 8
def @arg32 253 16777216 0 Y 0 31 8
def @arg01 8 20 1 Y 32896 0 63
def @arg02 8 20 0 Y 32896 0 63
def @arg03 8 20 0 Y 32896 0 63
def @arg04 8 20 0 Y 32896 0 63
def @arg05 8 20 0 Y 32896 0 63
def @arg06 8 20 0 Y 32896 0 63
def @arg07 5 23 0 Y 32896 31 63
def @arg08 5 23 0 Y 32896 31 63
def @arg09 5 23 0 Y 32896 31 63
def @arg10 5 23 0 Y 32896 31 63
def @arg11 246 67 0 Y 128 30 63
def @arg12 246 67 0 Y 128 30 63
def @arg13 251 16777216 0 Y 128 31 63
def @arg14 251 16777216 0 Y 128 31 63
def @arg15 251 16777216 19 Y 128 31 63
def @arg16 251 16777216 0 Y 128 31 63
def @arg17 8 20 0 Y 32928 0 63
def @arg18 8 20 0 Y 32896 0 63
def @arg19 8 20 0 Y 32896 0 63
def @arg20 251 16777216 0 Y 0 31 8
def @arg21 251 16777216 0 Y 0 31 8
def @arg22 251 16777216 0 Y 0 31 8
def @arg23 251 16777216 0 Y 128 31 63
def @arg24 251 16777216 0 Y 0 31 8
def @arg25 251 16777216 0 Y 128 31 63
def @arg26 251 16777216 0 Y 0 31 8
def @arg27 251 16777216 0 Y 128 31 63
def @arg28 251 16777216 0 Y 0 31 8
def @arg29 251 16777216 0 Y 128 31 63
def @arg30 251 16777216 0 Y 0 31 8
def @arg31 251 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
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,
@ -2175,76 +2175,76 @@ set @my_key= 1 ;
execute stmt1 using @my_key ;
execute full_info ;
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 @arg02 253 20 1 Y 128 0 63
def @arg03 253 20 1 Y 128 0 63
def @arg04 253 20 1 Y 128 0 63
def @arg05 253 20 1 Y 128 0 63
def @arg06 253 20 1 Y 128 0 63
def @arg07 253 23 1 Y 128 31 63
def @arg08 253 23 1 Y 128 31 63
def @arg09 253 23 1 Y 128 31 63
def @arg10 253 23 1 Y 128 31 63
def @arg11 253 67 6 Y 128 30 63
def @arg12 253 67 6 Y 128 30 63
def @arg13 253 16777216 10 Y 128 31 63
def @arg14 253 16777216 19 Y 128 31 63
def @arg15 253 16777216 19 Y 128 31 63
def @arg16 253 16777216 8 Y 128 31 63
def @arg17 253 20 4 Y 128 0 63
def @arg18 253 20 1 Y 128 0 63
def @arg19 253 20 1 Y 128 0 63
def @arg20 253 16777216 1 Y 0 31 8
def @arg21 253 16777216 10 Y 0 31 8
def @arg22 253 16777216 30 Y 0 31 8
def @arg23 253 16777216 8 Y 128 31 63
def @arg24 253 16777216 8 Y 0 31 8
def @arg25 253 16777216 4 Y 128 31 63
def @arg26 253 16777216 4 Y 0 31 8
def @arg27 253 16777216 10 Y 128 31 63
def @arg28 253 16777216 10 Y 0 31 8
def @arg29 253 16777216 8 Y 128 31 63
def @arg30 253 16777216 8 Y 0 31 8
def @arg31 253 16777216 3 Y 0 31 8
def @arg32 253 16777216 6 Y 0 31 8
def @arg01 8 20 1 Y 32896 0 63
def @arg02 8 20 1 Y 32896 0 63
def @arg03 8 20 1 Y 32896 0 63
def @arg04 8 20 1 Y 32896 0 63
def @arg05 8 20 1 Y 32896 0 63
def @arg06 8 20 1 Y 32896 0 63
def @arg07 5 23 1 Y 32896 31 63
def @arg08 5 23 1 Y 32896 31 63
def @arg09 5 23 1 Y 32896 31 63
def @arg10 5 23 1 Y 32896 31 63
def @arg11 246 67 6 Y 128 30 63
def @arg12 246 67 6 Y 128 30 63
def @arg13 251 16777216 10 Y 128 31 63
def @arg14 251 16777216 19 Y 128 31 63
def @arg15 251 16777216 19 Y 128 31 63
def @arg16 251 16777216 8 Y 128 31 63
def @arg17 8 20 4 Y 32928 0 63
def @arg18 8 20 1 Y 32896 0 63
def @arg19 8 20 1 Y 32896 0 63
def @arg20 251 16777216 1 Y 0 31 8
def @arg21 251 16777216 10 Y 0 31 8
def @arg22 251 16777216 30 Y 0 31 8
def @arg23 251 16777216 8 Y 128 31 63
def @arg24 251 16777216 8 Y 0 31 8
def @arg25 251 16777216 4 Y 128 31 63
def @arg26 251 16777216 4 Y 0 31 8
def @arg27 251 16777216 10 Y 128 31 63
def @arg28 251 16777216 10 Y 0 31 8
def @arg29 251 16777216 8 Y 128 31 63
def @arg30 251 16777216 8 Y 0 31 8
def @arg31 251 16777216 3 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
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 ;
execute stmt1 using @my_key ;
execute full_info ;
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 @arg02 253 20 0 Y 128 0 63
def @arg03 253 20 0 Y 128 0 63
def @arg04 253 20 0 Y 128 0 63
def @arg05 253 20 0 Y 128 0 63
def @arg06 253 20 0 Y 128 0 63
def @arg07 253 23 0 Y 128 31 63
def @arg08 253 23 0 Y 128 31 63
def @arg09 253 23 0 Y 128 31 63
def @arg10 253 23 0 Y 128 31 63
def @arg11 253 67 0 Y 128 30 63
def @arg12 253 67 0 Y 128 30 63
def @arg13 253 16777216 0 Y 128 31 63
def @arg14 253 16777216 0 Y 128 31 63
def @arg15 253 16777216 19 Y 128 31 63
def @arg16 253 16777216 0 Y 128 31 63
def @arg17 253 20 0 Y 128 0 63
def @arg18 253 20 0 Y 128 0 63
def @arg19 253 20 0 Y 128 0 63
def @arg20 253 16777216 0 Y 0 31 8
def @arg21 253 16777216 0 Y 0 31 8
def @arg22 253 16777216 0 Y 0 31 8
def @arg23 253 16777216 0 Y 128 31 63
def @arg24 253 16777216 0 Y 0 31 8
def @arg25 253 16777216 0 Y 128 31 63
def @arg26 253 16777216 0 Y 0 31 8
def @arg27 253 16777216 0 Y 128 31 63
def @arg28 253 16777216 0 Y 0 31 8
def @arg29 253 16777216 0 Y 128 31 63
def @arg30 253 16777216 0 Y 0 31 8
def @arg31 253 16777216 0 Y 0 31 8
def @arg32 253 16777216 0 Y 0 31 8
def @arg01 8 20 1 Y 32896 0 63
def @arg02 8 20 0 Y 32896 0 63
def @arg03 8 20 0 Y 32896 0 63
def @arg04 8 20 0 Y 32896 0 63
def @arg05 8 20 0 Y 32896 0 63
def @arg06 8 20 0 Y 32896 0 63
def @arg07 5 23 0 Y 32896 31 63
def @arg08 5 23 0 Y 32896 31 63
def @arg09 5 23 0 Y 32896 31 63
def @arg10 5 23 0 Y 32896 31 63
def @arg11 246 67 0 Y 128 30 63
def @arg12 246 67 0 Y 128 30 63
def @arg13 251 16777216 0 Y 128 31 63
def @arg14 251 16777216 0 Y 128 31 63
def @arg15 251 16777216 19 Y 128 31 63
def @arg16 251 16777216 0 Y 128 31 63
def @arg17 8 20 0 Y 32928 0 63
def @arg18 8 20 0 Y 32896 0 63
def @arg19 8 20 0 Y 32896 0 63
def @arg20 251 16777216 0 Y 0 31 8
def @arg21 251 16777216 0 Y 0 31 8
def @arg22 251 16777216 0 Y 0 31 8
def @arg23 251 16777216 0 Y 128 31 63
def @arg24 251 16777216 0 Y 0 31 8
def @arg25 251 16777216 0 Y 128 31 63
def @arg26 251 16777216 0 Y 0 31 8
def @arg27 251 16777216 0 Y 128 31 63
def @arg28 251 16777216 0 Y 0 31 8
def @arg29 251 16777216 0 Y 128 31 63
def @arg30 251 16777216 0 Y 0 31 8
def @arg31 251 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
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" ;

View File

@ -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
execute full_info ;
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 @arg02 253 20 1 Y 128 0 63
def @arg03 253 20 1 Y 128 0 63
def @arg04 253 20 1 Y 128 0 63
def @arg05 253 20 1 Y 128 0 63
def @arg06 253 20 1 Y 128 0 63
def @arg07 253 23 1 Y 128 31 63
def @arg08 253 23 1 Y 128 31 63
def @arg09 253 23 1 Y 128 31 63
def @arg10 253 23 1 Y 128 31 63
def @arg11 253 67 6 Y 128 30 63
def @arg12 253 67 6 Y 128 30 63
def @arg13 253 16777216 10 Y 128 31 63
def @arg14 253 16777216 19 Y 128 31 63
def @arg15 253 16777216 19 Y 128 31 63
def @arg16 253 16777216 8 Y 128 31 63
def @arg17 253 20 4 Y 128 0 63
def @arg18 253 20 1 Y 128 0 63
def @arg19 253 20 1 Y 128 0 63
def @arg20 253 16777216 1 Y 0 31 8
def @arg21 253 16777216 10 Y 0 31 8
def @arg22 253 16777216 30 Y 0 31 8
def @arg23 253 16777216 8 Y 0 31 8
def @arg24 253 16777216 8 Y 0 31 8
def @arg25 253 16777216 4 Y 0 31 8
def @arg26 253 16777216 4 Y 0 31 8
def @arg27 253 16777216 10 Y 0 31 8
def @arg28 253 16777216 10 Y 0 31 8
def @arg29 253 16777216 8 Y 0 31 8
def @arg30 253 16777216 8 Y 0 31 8
def @arg31 253 16777216 3 Y 0 31 8
def @arg32 253 16777216 6 Y 0 31 8
def @arg01 8 20 1 Y 32896 0 63
def @arg02 8 20 1 Y 32896 0 63
def @arg03 8 20 1 Y 32896 0 63
def @arg04 8 20 1 Y 32896 0 63
def @arg05 8 20 1 Y 32896 0 63
def @arg06 8 20 1 Y 32896 0 63
def @arg07 5 23 1 Y 32896 31 63
def @arg08 5 23 1 Y 32896 31 63
def @arg09 5 23 1 Y 32896 31 63
def @arg10 5 23 1 Y 32896 31 63
def @arg11 246 67 6 Y 128 30 63
def @arg12 246 67 6 Y 128 30 63
def @arg13 251 16777216 10 Y 128 31 63
def @arg14 251 16777216 19 Y 128 31 63
def @arg15 251 16777216 19 Y 128 31 63
def @arg16 251 16777216 8 Y 128 31 63
def @arg17 8 20 4 Y 32928 0 63
def @arg18 8 20 1 Y 32896 0 63
def @arg19 8 20 1 Y 32896 0 63
def @arg20 251 16777216 1 Y 0 31 8
def @arg21 251 16777216 10 Y 0 31 8
def @arg22 251 16777216 30 Y 0 31 8
def @arg23 251 16777216 8 Y 0 31 8
def @arg24 251 16777216 8 Y 0 31 8
def @arg25 251 16777216 4 Y 0 31 8
def @arg26 251 16777216 4 Y 0 31 8
def @arg27 251 16777216 10 Y 0 31 8
def @arg28 251 16777216 10 Y 0 31 8
def @arg29 251 16777216 8 Y 0 31 8
def @arg30 251 16777216 8 Y 0 31 8
def @arg31 251 16777216 3 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
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,
@ -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
execute full_info ;
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 @arg02 253 20 0 Y 128 0 63
def @arg03 253 20 0 Y 128 0 63
def @arg04 253 20 0 Y 128 0 63
def @arg05 253 20 0 Y 128 0 63
def @arg06 253 20 0 Y 128 0 63
def @arg07 253 23 0 Y 128 31 63
def @arg08 253 23 0 Y 128 31 63
def @arg09 253 23 0 Y 128 31 63
def @arg10 253 23 0 Y 128 31 63
def @arg11 253 67 0 Y 128 30 63
def @arg12 253 67 0 Y 128 30 63
def @arg13 253 16777216 0 Y 128 31 63
def @arg14 253 16777216 0 Y 128 31 63
def @arg15 253 16777216 19 Y 128 31 63
def @arg16 253 16777216 0 Y 128 31 63
def @arg17 253 20 0 Y 128 0 63
def @arg18 253 20 0 Y 128 0 63
def @arg19 253 20 0 Y 128 0 63
def @arg20 253 16777216 0 Y 0 31 8
def @arg21 253 16777216 0 Y 0 31 8
def @arg22 253 16777216 0 Y 0 31 8
def @arg23 253 16777216 0 Y 0 31 8
def @arg24 253 16777216 0 Y 0 31 8
def @arg25 253 16777216 0 Y 0 31 8
def @arg26 253 16777216 0 Y 0 31 8
def @arg27 253 16777216 0 Y 0 31 8
def @arg28 253 16777216 0 Y 0 31 8
def @arg29 253 16777216 0 Y 0 31 8
def @arg30 253 16777216 0 Y 0 31 8
def @arg31 253 16777216 0 Y 0 31 8
def @arg32 253 16777216 0 Y 0 31 8
def @arg01 8 20 1 Y 32896 0 63
def @arg02 8 20 0 Y 32896 0 63
def @arg03 8 20 0 Y 32896 0 63
def @arg04 8 20 0 Y 32896 0 63
def @arg05 8 20 0 Y 32896 0 63
def @arg06 8 20 0 Y 32896 0 63
def @arg07 5 23 0 Y 32896 31 63
def @arg08 5 23 0 Y 32896 31 63
def @arg09 5 23 0 Y 32896 31 63
def @arg10 5 23 0 Y 32896 31 63
def @arg11 246 67 0 Y 128 30 63
def @arg12 246 67 0 Y 128 30 63
def @arg13 251 16777216 0 Y 128 31 63
def @arg14 251 16777216 0 Y 128 31 63
def @arg15 251 16777216 19 Y 128 31 63
def @arg16 251 16777216 0 Y 128 31 63
def @arg17 8 20 0 Y 32928 0 63
def @arg18 8 20 0 Y 32896 0 63
def @arg19 8 20 0 Y 32896 0 63
def @arg20 251 16777216 0 Y 0 31 8
def @arg21 251 16777216 0 Y 0 31 8
def @arg22 251 16777216 0 Y 0 31 8
def @arg23 251 16777216 0 Y 0 31 8
def @arg24 251 16777216 0 Y 0 31 8
def @arg25 251 16777216 0 Y 0 31 8
def @arg26 251 16777216 0 Y 0 31 8
def @arg27 251 16777216 0 Y 0 31 8
def @arg28 251 16777216 0 Y 0 31 8
def @arg29 251 16777216 0 Y 0 31 8
def @arg30 251 16777216 0 Y 0 31 8
def @arg31 251 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
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
@ -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
execute full_info ;
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 @arg02 253 20 1 Y 128 0 63
def @arg03 253 20 1 Y 128 0 63
def @arg04 253 20 1 Y 128 0 63
def @arg05 253 20 1 Y 128 0 63
def @arg06 253 20 1 Y 128 0 63
def @arg07 253 23 1 Y 128 31 63
def @arg08 253 23 1 Y 128 31 63
def @arg09 253 23 1 Y 128 31 63
def @arg10 253 23 1 Y 128 31 63
def @arg11 253 67 6 Y 128 30 63
def @arg12 253 67 6 Y 128 30 63
def @arg13 253 16777216 10 Y 128 31 63
def @arg14 253 16777216 19 Y 128 31 63
def @arg15 253 16777216 19 Y 128 31 63
def @arg16 253 16777216 8 Y 128 31 63
def @arg17 253 20 4 Y 128 0 63
def @arg18 253 20 1 Y 128 0 63
def @arg19 253 20 1 Y 128 0 63
def @arg20 253 16777216 1 Y 0 31 8
def @arg21 253 16777216 10 Y 0 31 8
def @arg22 253 16777216 30 Y 0 31 8
def @arg23 253 16777216 8 Y 0 31 8
def @arg24 253 16777216 8 Y 0 31 8
def @arg25 253 16777216 4 Y 0 31 8
def @arg26 253 16777216 4 Y 0 31 8
def @arg27 253 16777216 10 Y 0 31 8
def @arg28 253 16777216 10 Y 0 31 8
def @arg29 253 16777216 8 Y 0 31 8
def @arg30 253 16777216 8 Y 0 31 8
def @arg31 253 16777216 3 Y 0 31 8
def @arg32 253 16777216 6 Y 0 31 8
def @arg01 8 20 1 Y 32896 0 63
def @arg02 8 20 1 Y 32896 0 63
def @arg03 8 20 1 Y 32896 0 63
def @arg04 8 20 1 Y 32896 0 63
def @arg05 8 20 1 Y 32896 0 63
def @arg06 8 20 1 Y 32896 0 63
def @arg07 5 23 1 Y 32896 31 63
def @arg08 5 23 1 Y 32896 31 63
def @arg09 5 23 1 Y 32896 31 63
def @arg10 5 23 1 Y 32896 31 63
def @arg11 246 67 6 Y 128 30 63
def @arg12 246 67 6 Y 128 30 63
def @arg13 251 16777216 10 Y 128 31 63
def @arg14 251 16777216 19 Y 128 31 63
def @arg15 251 16777216 19 Y 128 31 63
def @arg16 251 16777216 8 Y 128 31 63
def @arg17 8 20 4 Y 32928 0 63
def @arg18 8 20 1 Y 32896 0 63
def @arg19 8 20 1 Y 32896 0 63
def @arg20 251 16777216 1 Y 0 31 8
def @arg21 251 16777216 10 Y 0 31 8
def @arg22 251 16777216 30 Y 0 31 8
def @arg23 251 16777216 8 Y 0 31 8
def @arg24 251 16777216 8 Y 0 31 8
def @arg25 251 16777216 4 Y 0 31 8
def @arg26 251 16777216 4 Y 0 31 8
def @arg27 251 16777216 10 Y 0 31 8
def @arg28 251 16777216 10 Y 0 31 8
def @arg29 251 16777216 8 Y 0 31 8
def @arg30 251 16777216 8 Y 0 31 8
def @arg31 251 16777216 3 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
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 ;
@ -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
execute full_info ;
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 @arg02 253 20 0 Y 128 0 63
def @arg03 253 20 0 Y 128 0 63
def @arg04 253 20 0 Y 128 0 63
def @arg05 253 20 0 Y 128 0 63
def @arg06 253 20 0 Y 128 0 63
def @arg07 253 23 0 Y 128 31 63
def @arg08 253 23 0 Y 128 31 63
def @arg09 253 23 0 Y 128 31 63
def @arg10 253 23 0 Y 128 31 63
def @arg11 253 67 0 Y 128 30 63
def @arg12 253 67 0 Y 128 30 63
def @arg13 253 16777216 0 Y 128 31 63
def @arg14 253 16777216 0 Y 128 31 63
def @arg15 253 16777216 19 Y 128 31 63
def @arg16 253 16777216 0 Y 128 31 63
def @arg17 253 20 0 Y 128 0 63
def @arg18 253 20 0 Y 128 0 63
def @arg19 253 20 0 Y 128 0 63
def @arg20 253 16777216 0 Y 0 31 8
def @arg21 253 16777216 0 Y 0 31 8
def @arg22 253 16777216 0 Y 0 31 8
def @arg23 253 16777216 0 Y 0 31 8
def @arg24 253 16777216 0 Y 0 31 8
def @arg25 253 16777216 0 Y 0 31 8
def @arg26 253 16777216 0 Y 0 31 8
def @arg27 253 16777216 0 Y 0 31 8
def @arg28 253 16777216 0 Y 0 31 8
def @arg29 253 16777216 0 Y 0 31 8
def @arg30 253 16777216 0 Y 0 31 8
def @arg31 253 16777216 0 Y 0 31 8
def @arg32 253 16777216 0 Y 0 31 8
def @arg01 8 20 1 Y 32896 0 63
def @arg02 8 20 0 Y 32896 0 63
def @arg03 8 20 0 Y 32896 0 63
def @arg04 8 20 0 Y 32896 0 63
def @arg05 8 20 0 Y 32896 0 63
def @arg06 8 20 0 Y 32896 0 63
def @arg07 5 23 0 Y 32896 31 63
def @arg08 5 23 0 Y 32896 31 63
def @arg09 5 23 0 Y 32896 31 63
def @arg10 5 23 0 Y 32896 31 63
def @arg11 246 67 0 Y 128 30 63
def @arg12 246 67 0 Y 128 30 63
def @arg13 251 16777216 0 Y 128 31 63
def @arg14 251 16777216 0 Y 128 31 63
def @arg15 251 16777216 19 Y 128 31 63
def @arg16 251 16777216 0 Y 128 31 63
def @arg17 8 20 0 Y 32928 0 63
def @arg18 8 20 0 Y 32896 0 63
def @arg19 8 20 0 Y 32896 0 63
def @arg20 251 16777216 0 Y 0 31 8
def @arg21 251 16777216 0 Y 0 31 8
def @arg22 251 16777216 0 Y 0 31 8
def @arg23 251 16777216 0 Y 0 31 8
def @arg24 251 16777216 0 Y 0 31 8
def @arg25 251 16777216 0 Y 0 31 8
def @arg26 251 16777216 0 Y 0 31 8
def @arg27 251 16777216 0 Y 0 31 8
def @arg28 251 16777216 0 Y 0 31 8
def @arg29 251 16777216 0 Y 0 31 8
def @arg30 251 16777216 0 Y 0 31 8
def @arg31 251 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
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" ;
@ -2086,38 +2086,38 @@ into @arg01, @arg02, @arg03, @arg04, @arg05, @arg06, @arg07, @arg08,
from t9 where c1= 1 ;
execute full_info ;
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 @arg02 253 20 1 Y 128 0 63
def @arg03 253 20 1 Y 128 0 63
def @arg04 253 20 1 Y 128 0 63
def @arg05 253 20 1 Y 128 0 63
def @arg06 253 20 1 Y 128 0 63
def @arg07 253 23 1 Y 128 31 63
def @arg08 253 23 1 Y 128 31 63
def @arg09 253 23 1 Y 128 31 63
def @arg10 253 23 1 Y 128 31 63
def @arg11 253 67 6 Y 128 30 63
def @arg12 253 67 6 Y 128 30 63
def @arg13 253 16777216 10 Y 128 31 63
def @arg14 253 16777216 19 Y 128 31 63
def @arg15 253 16777216 19 Y 128 31 63
def @arg16 253 16777216 8 Y 128 31 63
def @arg17 253 20 4 Y 128 0 63
def @arg18 253 20 1 Y 128 0 63
def @arg19 253 20 1 Y 128 0 63
def @arg20 253 16777216 1 Y 0 31 8
def @arg21 253 16777216 10 Y 0 31 8
def @arg22 253 16777216 30 Y 0 31 8
def @arg23 253 16777216 8 Y 0 31 8
def @arg24 253 16777216 8 Y 0 31 8
def @arg25 253 16777216 4 Y 0 31 8
def @arg26 253 16777216 4 Y 0 31 8
def @arg27 253 16777216 10 Y 0 31 8
def @arg28 253 16777216 10 Y 0 31 8
def @arg29 253 16777216 8 Y 0 31 8
def @arg30 253 16777216 8 Y 0 31 8
def @arg31 253 16777216 3 Y 0 31 8
def @arg32 253 16777216 6 Y 0 31 8
def @arg01 8 20 1 Y 32896 0 63
def @arg02 8 20 1 Y 32896 0 63
def @arg03 8 20 1 Y 32896 0 63
def @arg04 8 20 1 Y 32896 0 63
def @arg05 8 20 1 Y 32896 0 63
def @arg06 8 20 1 Y 32896 0 63
def @arg07 5 23 1 Y 32896 31 63
def @arg08 5 23 1 Y 32896 31 63
def @arg09 5 23 1 Y 32896 31 63
def @arg10 5 23 1 Y 32896 31 63
def @arg11 246 67 6 Y 128 30 63
def @arg12 246 67 6 Y 128 30 63
def @arg13 251 16777216 10 Y 128 31 63
def @arg14 251 16777216 19 Y 128 31 63
def @arg15 251 16777216 19 Y 128 31 63
def @arg16 251 16777216 8 Y 128 31 63
def @arg17 8 20 4 Y 32928 0 63
def @arg18 8 20 1 Y 32896 0 63
def @arg19 8 20 1 Y 32896 0 63
def @arg20 251 16777216 1 Y 0 31 8
def @arg21 251 16777216 10 Y 0 31 8
def @arg22 251 16777216 30 Y 0 31 8
def @arg23 251 16777216 8 Y 0 31 8
def @arg24 251 16777216 8 Y 0 31 8
def @arg25 251 16777216 4 Y 0 31 8
def @arg26 251 16777216 4 Y 0 31 8
def @arg27 251 16777216 10 Y 0 31 8
def @arg28 251 16777216 10 Y 0 31 8
def @arg29 251 16777216 8 Y 0 31 8
def @arg30 251 16777216 8 Y 0 31 8
def @arg31 251 16777216 3 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
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,
@ -2130,38 +2130,38 @@ into @arg01, @arg02, @arg03, @arg04, @arg05, @arg06, @arg07, @arg08,
from t9 where c1= 0 ;
execute full_info ;
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 @arg02 253 20 0 Y 128 0 63
def @arg03 253 20 0 Y 128 0 63
def @arg04 253 20 0 Y 128 0 63
def @arg05 253 20 0 Y 128 0 63
def @arg06 253 20 0 Y 128 0 63
def @arg07 253 23 0 Y 128 31 63
def @arg08 253 23 0 Y 128 31 63
def @arg09 253 23 0 Y 128 31 63
def @arg10 253 23 0 Y 128 31 63
def @arg11 253 67 0 Y 128 30 63
def @arg12 253 67 0 Y 128 30 63
def @arg13 253 16777216 0 Y 128 31 63
def @arg14 253 16777216 0 Y 128 31 63
def @arg15 253 16777216 19 Y 128 31 63
def @arg16 253 16777216 0 Y 128 31 63
def @arg17 253 20 0 Y 128 0 63
def @arg18 253 20 0 Y 128 0 63
def @arg19 253 20 0 Y 128 0 63
def @arg20 253 16777216 0 Y 0 31 8
def @arg21 253 16777216 0 Y 0 31 8
def @arg22 253 16777216 0 Y 0 31 8
def @arg23 253 16777216 0 Y 0 31 8
def @arg24 253 16777216 0 Y 0 31 8
def @arg25 253 16777216 0 Y 0 31 8
def @arg26 253 16777216 0 Y 0 31 8
def @arg27 253 16777216 0 Y 0 31 8
def @arg28 253 16777216 0 Y 0 31 8
def @arg29 253 16777216 0 Y 0 31 8
def @arg30 253 16777216 0 Y 0 31 8
def @arg31 253 16777216 0 Y 0 31 8
def @arg32 253 16777216 0 Y 0 31 8
def @arg01 8 20 1 Y 32896 0 63
def @arg02 8 20 0 Y 32896 0 63
def @arg03 8 20 0 Y 32896 0 63
def @arg04 8 20 0 Y 32896 0 63
def @arg05 8 20 0 Y 32896 0 63
def @arg06 8 20 0 Y 32896 0 63
def @arg07 5 23 0 Y 32896 31 63
def @arg08 5 23 0 Y 32896 31 63
def @arg09 5 23 0 Y 32896 31 63
def @arg10 5 23 0 Y 32896 31 63
def @arg11 246 67 0 Y 128 30 63
def @arg12 246 67 0 Y 128 30 63
def @arg13 251 16777216 0 Y 128 31 63
def @arg14 251 16777216 0 Y 128 31 63
def @arg15 251 16777216 19 Y 128 31 63
def @arg16 251 16777216 0 Y 128 31 63
def @arg17 8 20 0 Y 32928 0 63
def @arg18 8 20 0 Y 32896 0 63
def @arg19 8 20 0 Y 32896 0 63
def @arg20 251 16777216 0 Y 0 31 8
def @arg21 251 16777216 0 Y 0 31 8
def @arg22 251 16777216 0 Y 0 31 8
def @arg23 251 16777216 0 Y 0 31 8
def @arg24 251 16777216 0 Y 0 31 8
def @arg25 251 16777216 0 Y 0 31 8
def @arg26 251 16777216 0 Y 0 31 8
def @arg27 251 16777216 0 Y 0 31 8
def @arg28 251 16777216 0 Y 0 31 8
def @arg29 251 16777216 0 Y 0 31 8
def @arg30 251 16777216 0 Y 0 31 8
def @arg31 251 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
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,
@ -2176,76 +2176,76 @@ set @my_key= 1 ;
execute stmt1 using @my_key ;
execute full_info ;
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 @arg02 253 20 1 Y 128 0 63
def @arg03 253 20 1 Y 128 0 63
def @arg04 253 20 1 Y 128 0 63
def @arg05 253 20 1 Y 128 0 63
def @arg06 253 20 1 Y 128 0 63
def @arg07 253 23 1 Y 128 31 63
def @arg08 253 23 1 Y 128 31 63
def @arg09 253 23 1 Y 128 31 63
def @arg10 253 23 1 Y 128 31 63
def @arg11 253 67 6 Y 128 30 63
def @arg12 253 67 6 Y 128 30 63
def @arg13 253 16777216 10 Y 128 31 63
def @arg14 253 16777216 19 Y 128 31 63
def @arg15 253 16777216 19 Y 128 31 63
def @arg16 253 16777216 8 Y 128 31 63
def @arg17 253 20 4 Y 128 0 63
def @arg18 253 20 1 Y 128 0 63
def @arg19 253 20 1 Y 128 0 63
def @arg20 253 16777216 1 Y 0 31 8
def @arg21 253 16777216 10 Y 0 31 8
def @arg22 253 16777216 30 Y 0 31 8
def @arg23 253 16777216 8 Y 0 31 8
def @arg24 253 16777216 8 Y 0 31 8
def @arg25 253 16777216 4 Y 0 31 8
def @arg26 253 16777216 4 Y 0 31 8
def @arg27 253 16777216 10 Y 0 31 8
def @arg28 253 16777216 10 Y 0 31 8
def @arg29 253 16777216 8 Y 0 31 8
def @arg30 253 16777216 8 Y 0 31 8
def @arg31 253 16777216 3 Y 0 31 8
def @arg32 253 16777216 6 Y 0 31 8
def @arg01 8 20 1 Y 32896 0 63
def @arg02 8 20 1 Y 32896 0 63
def @arg03 8 20 1 Y 32896 0 63
def @arg04 8 20 1 Y 32896 0 63
def @arg05 8 20 1 Y 32896 0 63
def @arg06 8 20 1 Y 32896 0 63
def @arg07 5 23 1 Y 32896 31 63
def @arg08 5 23 1 Y 32896 31 63
def @arg09 5 23 1 Y 32896 31 63
def @arg10 5 23 1 Y 32896 31 63
def @arg11 246 67 6 Y 128 30 63
def @arg12 246 67 6 Y 128 30 63
def @arg13 251 16777216 10 Y 128 31 63
def @arg14 251 16777216 19 Y 128 31 63
def @arg15 251 16777216 19 Y 128 31 63
def @arg16 251 16777216 8 Y 128 31 63
def @arg17 8 20 4 Y 32928 0 63
def @arg18 8 20 1 Y 32896 0 63
def @arg19 8 20 1 Y 32896 0 63
def @arg20 251 16777216 1 Y 0 31 8
def @arg21 251 16777216 10 Y 0 31 8
def @arg22 251 16777216 30 Y 0 31 8
def @arg23 251 16777216 8 Y 0 31 8
def @arg24 251 16777216 8 Y 0 31 8
def @arg25 251 16777216 4 Y 0 31 8
def @arg26 251 16777216 4 Y 0 31 8
def @arg27 251 16777216 10 Y 0 31 8
def @arg28 251 16777216 10 Y 0 31 8
def @arg29 251 16777216 8 Y 0 31 8
def @arg30 251 16777216 8 Y 0 31 8
def @arg31 251 16777216 3 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
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 ;
execute stmt1 using @my_key ;
execute full_info ;
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 @arg02 253 20 0 Y 128 0 63
def @arg03 253 20 0 Y 128 0 63
def @arg04 253 20 0 Y 128 0 63
def @arg05 253 20 0 Y 128 0 63
def @arg06 253 20 0 Y 128 0 63
def @arg07 253 23 0 Y 128 31 63
def @arg08 253 23 0 Y 128 31 63
def @arg09 253 23 0 Y 128 31 63
def @arg10 253 23 0 Y 128 31 63
def @arg11 253 67 0 Y 128 30 63
def @arg12 253 67 0 Y 128 30 63
def @arg13 253 16777216 0 Y 128 31 63
def @arg14 253 16777216 0 Y 128 31 63
def @arg15 253 16777216 19 Y 128 31 63
def @arg16 253 16777216 0 Y 128 31 63
def @arg17 253 20 0 Y 128 0 63
def @arg18 253 20 0 Y 128 0 63
def @arg19 253 20 0 Y 128 0 63
def @arg20 253 16777216 0 Y 0 31 8
def @arg21 253 16777216 0 Y 0 31 8
def @arg22 253 16777216 0 Y 0 31 8
def @arg23 253 16777216 0 Y 0 31 8
def @arg24 253 16777216 0 Y 0 31 8
def @arg25 253 16777216 0 Y 0 31 8
def @arg26 253 16777216 0 Y 0 31 8
def @arg27 253 16777216 0 Y 0 31 8
def @arg28 253 16777216 0 Y 0 31 8
def @arg29 253 16777216 0 Y 0 31 8
def @arg30 253 16777216 0 Y 0 31 8
def @arg31 253 16777216 0 Y 0 31 8
def @arg32 253 16777216 0 Y 0 31 8
def @arg01 8 20 1 Y 32896 0 63
def @arg02 8 20 0 Y 32896 0 63
def @arg03 8 20 0 Y 32896 0 63
def @arg04 8 20 0 Y 32896 0 63
def @arg05 8 20 0 Y 32896 0 63
def @arg06 8 20 0 Y 32896 0 63
def @arg07 5 23 0 Y 32896 31 63
def @arg08 5 23 0 Y 32896 31 63
def @arg09 5 23 0 Y 32896 31 63
def @arg10 5 23 0 Y 32896 31 63
def @arg11 246 67 0 Y 128 30 63
def @arg12 246 67 0 Y 128 30 63
def @arg13 251 16777216 0 Y 128 31 63
def @arg14 251 16777216 0 Y 128 31 63
def @arg15 251 16777216 19 Y 128 31 63
def @arg16 251 16777216 0 Y 128 31 63
def @arg17 8 20 0 Y 32928 0 63
def @arg18 8 20 0 Y 32896 0 63
def @arg19 8 20 0 Y 32896 0 63
def @arg20 251 16777216 0 Y 0 31 8
def @arg21 251 16777216 0 Y 0 31 8
def @arg22 251 16777216 0 Y 0 31 8
def @arg23 251 16777216 0 Y 0 31 8
def @arg24 251 16777216 0 Y 0 31 8
def @arg25 251 16777216 0 Y 0 31 8
def @arg26 251 16777216 0 Y 0 31 8
def @arg27 251 16777216 0 Y 0 31 8
def @arg28 251 16777216 0 Y 0 31 8
def @arg29 251 16777216 0 Y 0 31 8
def @arg30 251 16777216 0 Y 0 31 8
def @arg31 251 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
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" ;

File diff suppressed because it is too large Load Diff

View File

@ -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
execute full_info ;
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 @arg02 253 20 1 Y 128 0 63
def @arg03 253 20 1 Y 128 0 63
def @arg04 253 20 1 Y 128 0 63
def @arg05 253 20 1 Y 128 0 63
def @arg06 253 20 1 Y 128 0 63
def @arg07 253 23 1 Y 128 31 63
def @arg08 253 23 1 Y 128 31 63
def @arg09 253 23 1 Y 128 31 63
def @arg10 253 23 1 Y 128 31 63
def @arg11 253 67 6 Y 128 30 63
def @arg12 253 67 6 Y 128 30 63
def @arg13 253 16777216 10 Y 128 31 63
def @arg14 253 16777216 19 Y 128 31 63
def @arg15 253 16777216 19 Y 128 31 63
def @arg16 253 16777216 8 Y 128 31 63
def @arg17 253 20 4 Y 128 0 63
def @arg18 253 20 1 Y 128 0 63
def @arg19 253 20 1 Y 128 0 63
def @arg20 253 16777216 1 Y 0 31 8
def @arg21 253 16777216 10 Y 0 31 8
def @arg22 253 16777216 30 Y 0 31 8
def @arg23 253 16777216 8 Y 128 31 63
def @arg24 253 16777216 8 Y 0 31 8
def @arg25 253 16777216 4 Y 128 31 63
def @arg26 253 16777216 4 Y 0 31 8
def @arg27 253 16777216 10 Y 128 31 63
def @arg28 253 16777216 10 Y 0 31 8
def @arg29 253 16777216 8 Y 128 31 63
def @arg30 253 16777216 8 Y 0 31 8
def @arg31 253 16777216 3 Y 0 31 8
def @arg32 253 16777216 6 Y 0 31 8
def @arg01 8 20 1 Y 32896 0 63
def @arg02 8 20 1 Y 32896 0 63
def @arg03 8 20 1 Y 32896 0 63
def @arg04 8 20 1 Y 32896 0 63
def @arg05 8 20 1 Y 32896 0 63
def @arg06 8 20 1 Y 32896 0 63
def @arg07 5 23 1 Y 32896 31 63
def @arg08 5 23 1 Y 32896 31 63
def @arg09 5 23 1 Y 32896 31 63
def @arg10 5 23 1 Y 32896 31 63
def @arg11 246 67 6 Y 128 30 63
def @arg12 246 67 6 Y 128 30 63
def @arg13 251 16777216 10 Y 128 31 63
def @arg14 251 16777216 19 Y 128 31 63
def @arg15 251 16777216 19 Y 128 31 63
def @arg16 251 16777216 8 Y 128 31 63
def @arg17 8 20 4 Y 32928 0 63
def @arg18 8 20 1 Y 32896 0 63
def @arg19 8 20 1 Y 32896 0 63
def @arg20 251 16777216 1 Y 0 31 8
def @arg21 251 16777216 10 Y 0 31 8
def @arg22 251 16777216 30 Y 0 31 8
def @arg23 251 16777216 8 Y 128 31 63
def @arg24 251 16777216 8 Y 0 31 8
def @arg25 251 16777216 4 Y 128 31 63
def @arg26 251 16777216 4 Y 0 31 8
def @arg27 251 16777216 10 Y 128 31 63
def @arg28 251 16777216 10 Y 0 31 8
def @arg29 251 16777216 8 Y 128 31 63
def @arg30 251 16777216 8 Y 0 31 8
def @arg31 251 16777216 3 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
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,
@ -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
execute full_info ;
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 @arg02 253 20 0 Y 128 0 63
def @arg03 253 20 0 Y 128 0 63
def @arg04 253 20 0 Y 128 0 63
def @arg05 253 20 0 Y 128 0 63
def @arg06 253 20 0 Y 128 0 63
def @arg07 253 23 0 Y 128 31 63
def @arg08 253 23 0 Y 128 31 63
def @arg09 253 23 0 Y 128 31 63
def @arg10 253 23 0 Y 128 31 63
def @arg11 253 67 0 Y 128 30 63
def @arg12 253 67 0 Y 128 30 63
def @arg13 253 16777216 0 Y 128 31 63
def @arg14 253 16777216 0 Y 128 31 63
def @arg15 253 16777216 19 Y 128 31 63
def @arg16 253 16777216 0 Y 128 31 63
def @arg17 253 20 0 Y 128 0 63
def @arg18 253 20 0 Y 128 0 63
def @arg19 253 20 0 Y 128 0 63
def @arg20 253 16777216 0 Y 0 31 8
def @arg21 253 16777216 0 Y 0 31 8
def @arg22 253 16777216 0 Y 0 31 8
def @arg23 253 16777216 0 Y 128 31 63
def @arg24 253 16777216 0 Y 0 31 8
def @arg25 253 16777216 0 Y 128 31 63
def @arg26 253 16777216 0 Y 0 31 8
def @arg27 253 16777216 0 Y 128 31 63
def @arg28 253 16777216 0 Y 0 31 8
def @arg29 253 16777216 0 Y 128 31 63
def @arg30 253 16777216 0 Y 0 31 8
def @arg31 253 16777216 0 Y 0 31 8
def @arg32 253 16777216 0 Y 0 31 8
def @arg01 8 20 1 Y 32896 0 63
def @arg02 8 20 0 Y 32896 0 63
def @arg03 8 20 0 Y 32896 0 63
def @arg04 8 20 0 Y 32896 0 63
def @arg05 8 20 0 Y 32896 0 63
def @arg06 8 20 0 Y 32896 0 63
def @arg07 5 23 0 Y 32896 31 63
def @arg08 5 23 0 Y 32896 31 63
def @arg09 5 23 0 Y 32896 31 63
def @arg10 5 23 0 Y 32896 31 63
def @arg11 246 67 0 Y 128 30 63
def @arg12 246 67 0 Y 128 30 63
def @arg13 251 16777216 0 Y 128 31 63
def @arg14 251 16777216 0 Y 128 31 63
def @arg15 251 16777216 19 Y 128 31 63
def @arg16 251 16777216 0 Y 128 31 63
def @arg17 8 20 0 Y 32928 0 63
def @arg18 8 20 0 Y 32896 0 63
def @arg19 8 20 0 Y 32896 0 63
def @arg20 251 16777216 0 Y 0 31 8
def @arg21 251 16777216 0 Y 0 31 8
def @arg22 251 16777216 0 Y 0 31 8
def @arg23 251 16777216 0 Y 128 31 63
def @arg24 251 16777216 0 Y 0 31 8
def @arg25 251 16777216 0 Y 128 31 63
def @arg26 251 16777216 0 Y 0 31 8
def @arg27 251 16777216 0 Y 128 31 63
def @arg28 251 16777216 0 Y 0 31 8
def @arg29 251 16777216 0 Y 128 31 63
def @arg30 251 16777216 0 Y 0 31 8
def @arg31 251 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
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
@ -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
execute full_info ;
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 @arg02 253 20 1 Y 128 0 63
def @arg03 253 20 1 Y 128 0 63
def @arg04 253 20 1 Y 128 0 63
def @arg05 253 20 1 Y 128 0 63
def @arg06 253 20 1 Y 128 0 63
def @arg07 253 23 1 Y 128 31 63
def @arg08 253 23 1 Y 128 31 63
def @arg09 253 23 1 Y 128 31 63
def @arg10 253 23 1 Y 128 31 63
def @arg11 253 67 6 Y 128 30 63
def @arg12 253 67 6 Y 128 30 63
def @arg13 253 16777216 10 Y 128 31 63
def @arg14 253 16777216 19 Y 128 31 63
def @arg15 253 16777216 19 Y 128 31 63
def @arg16 253 16777216 8 Y 128 31 63
def @arg17 253 20 4 Y 128 0 63
def @arg18 253 20 1 Y 128 0 63
def @arg19 253 20 1 Y 128 0 63
def @arg20 253 16777216 1 Y 0 31 8
def @arg21 253 16777216 10 Y 0 31 8
def @arg22 253 16777216 30 Y 0 31 8
def @arg23 253 16777216 8 Y 128 31 63
def @arg24 253 16777216 8 Y 0 31 8
def @arg25 253 16777216 4 Y 128 31 63
def @arg26 253 16777216 4 Y 0 31 8
def @arg27 253 16777216 10 Y 128 31 63
def @arg28 253 16777216 10 Y 0 31 8
def @arg29 253 16777216 8 Y 128 31 63
def @arg30 253 16777216 8 Y 0 31 8
def @arg31 253 16777216 3 Y 0 31 8
def @arg32 253 16777216 6 Y 0 31 8
def @arg01 8 20 1 Y 32896 0 63
def @arg02 8 20 1 Y 32896 0 63
def @arg03 8 20 1 Y 32896 0 63
def @arg04 8 20 1 Y 32896 0 63
def @arg05 8 20 1 Y 32896 0 63
def @arg06 8 20 1 Y 32896 0 63
def @arg07 5 23 1 Y 32896 31 63
def @arg08 5 23 1 Y 32896 31 63
def @arg09 5 23 1 Y 32896 31 63
def @arg10 5 23 1 Y 32896 31 63
def @arg11 246 67 6 Y 128 30 63
def @arg12 246 67 6 Y 128 30 63
def @arg13 251 16777216 10 Y 128 31 63
def @arg14 251 16777216 19 Y 128 31 63
def @arg15 251 16777216 19 Y 128 31 63
def @arg16 251 16777216 8 Y 128 31 63
def @arg17 8 20 4 Y 32928 0 63
def @arg18 8 20 1 Y 32896 0 63
def @arg19 8 20 1 Y 32896 0 63
def @arg20 251 16777216 1 Y 0 31 8
def @arg21 251 16777216 10 Y 0 31 8
def @arg22 251 16777216 30 Y 0 31 8
def @arg23 251 16777216 8 Y 128 31 63
def @arg24 251 16777216 8 Y 0 31 8
def @arg25 251 16777216 4 Y 128 31 63
def @arg26 251 16777216 4 Y 0 31 8
def @arg27 251 16777216 10 Y 128 31 63
def @arg28 251 16777216 10 Y 0 31 8
def @arg29 251 16777216 8 Y 128 31 63
def @arg30 251 16777216 8 Y 0 31 8
def @arg31 251 16777216 3 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
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 ;
@ -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
execute full_info ;
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 @arg02 253 20 0 Y 128 0 63
def @arg03 253 20 0 Y 128 0 63
def @arg04 253 20 0 Y 128 0 63
def @arg05 253 20 0 Y 128 0 63
def @arg06 253 20 0 Y 128 0 63
def @arg07 253 23 0 Y 128 31 63
def @arg08 253 23 0 Y 128 31 63
def @arg09 253 23 0 Y 128 31 63
def @arg10 253 23 0 Y 128 31 63
def @arg11 253 67 0 Y 128 30 63
def @arg12 253 67 0 Y 128 30 63
def @arg13 253 16777216 0 Y 128 31 63
def @arg14 253 16777216 0 Y 128 31 63
def @arg15 253 16777216 19 Y 128 31 63
def @arg16 253 16777216 0 Y 128 31 63
def @arg17 253 20 0 Y 128 0 63
def @arg18 253 20 0 Y 128 0 63
def @arg19 253 20 0 Y 128 0 63
def @arg20 253 16777216 0 Y 0 31 8
def @arg21 253 16777216 0 Y 0 31 8
def @arg22 253 16777216 0 Y 0 31 8
def @arg23 253 16777216 0 Y 128 31 63
def @arg24 253 16777216 0 Y 0 31 8
def @arg25 253 16777216 0 Y 128 31 63
def @arg26 253 16777216 0 Y 0 31 8
def @arg27 253 16777216 0 Y 128 31 63
def @arg28 253 16777216 0 Y 0 31 8
def @arg29 253 16777216 0 Y 128 31 63
def @arg30 253 16777216 0 Y 0 31 8
def @arg31 253 16777216 0 Y 0 31 8
def @arg32 253 16777216 0 Y 0 31 8
def @arg01 8 20 1 Y 32896 0 63
def @arg02 8 20 0 Y 32896 0 63
def @arg03 8 20 0 Y 32896 0 63
def @arg04 8 20 0 Y 32896 0 63
def @arg05 8 20 0 Y 32896 0 63
def @arg06 8 20 0 Y 32896 0 63
def @arg07 5 23 0 Y 32896 31 63
def @arg08 5 23 0 Y 32896 31 63
def @arg09 5 23 0 Y 32896 31 63
def @arg10 5 23 0 Y 32896 31 63
def @arg11 246 67 0 Y 128 30 63
def @arg12 246 67 0 Y 128 30 63
def @arg13 251 16777216 0 Y 128 31 63
def @arg14 251 16777216 0 Y 128 31 63
def @arg15 251 16777216 19 Y 128 31 63
def @arg16 251 16777216 0 Y 128 31 63
def @arg17 8 20 0 Y 32928 0 63
def @arg18 8 20 0 Y 32896 0 63
def @arg19 8 20 0 Y 32896 0 63
def @arg20 251 16777216 0 Y 0 31 8
def @arg21 251 16777216 0 Y 0 31 8
def @arg22 251 16777216 0 Y 0 31 8
def @arg23 251 16777216 0 Y 128 31 63
def @arg24 251 16777216 0 Y 0 31 8
def @arg25 251 16777216 0 Y 128 31 63
def @arg26 251 16777216 0 Y 0 31 8
def @arg27 251 16777216 0 Y 128 31 63
def @arg28 251 16777216 0 Y 0 31 8
def @arg29 251 16777216 0 Y 128 31 63
def @arg30 251 16777216 0 Y 0 31 8
def @arg31 251 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
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" ;
@ -2085,38 +2085,38 @@ into @arg01, @arg02, @arg03, @arg04, @arg05, @arg06, @arg07, @arg08,
from t9 where c1= 1 ;
execute full_info ;
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 @arg02 253 20 1 Y 128 0 63
def @arg03 253 20 1 Y 128 0 63
def @arg04 253 20 1 Y 128 0 63
def @arg05 253 20 1 Y 128 0 63
def @arg06 253 20 1 Y 128 0 63
def @arg07 253 23 1 Y 128 31 63
def @arg08 253 23 1 Y 128 31 63
def @arg09 253 23 1 Y 128 31 63
def @arg10 253 23 1 Y 128 31 63
def @arg11 253 67 6 Y 128 30 63
def @arg12 253 67 6 Y 128 30 63
def @arg13 253 16777216 10 Y 128 31 63
def @arg14 253 16777216 19 Y 128 31 63
def @arg15 253 16777216 19 Y 128 31 63
def @arg16 253 16777216 8 Y 128 31 63
def @arg17 253 20 4 Y 128 0 63
def @arg18 253 20 1 Y 128 0 63
def @arg19 253 20 1 Y 128 0 63
def @arg20 253 16777216 1 Y 0 31 8
def @arg21 253 16777216 10 Y 0 31 8
def @arg22 253 16777216 30 Y 0 31 8
def @arg23 253 16777216 8 Y 128 31 63
def @arg24 253 16777216 8 Y 0 31 8
def @arg25 253 16777216 4 Y 128 31 63
def @arg26 253 16777216 4 Y 0 31 8
def @arg27 253 16777216 10 Y 128 31 63
def @arg28 253 16777216 10 Y 0 31 8
def @arg29 253 16777216 8 Y 128 31 63
def @arg30 253 16777216 8 Y 0 31 8
def @arg31 253 16777216 3 Y 0 31 8
def @arg32 253 16777216 6 Y 0 31 8
def @arg01 8 20 1 Y 32896 0 63
def @arg02 8 20 1 Y 32896 0 63
def @arg03 8 20 1 Y 32896 0 63
def @arg04 8 20 1 Y 32896 0 63
def @arg05 8 20 1 Y 32896 0 63
def @arg06 8 20 1 Y 32896 0 63
def @arg07 5 23 1 Y 32896 31 63
def @arg08 5 23 1 Y 32896 31 63
def @arg09 5 23 1 Y 32896 31 63
def @arg10 5 23 1 Y 32896 31 63
def @arg11 246 67 6 Y 128 30 63
def @arg12 246 67 6 Y 128 30 63
def @arg13 251 16777216 10 Y 128 31 63
def @arg14 251 16777216 19 Y 128 31 63
def @arg15 251 16777216 19 Y 128 31 63
def @arg16 251 16777216 8 Y 128 31 63
def @arg17 8 20 4 Y 32928 0 63
def @arg18 8 20 1 Y 32896 0 63
def @arg19 8 20 1 Y 32896 0 63
def @arg20 251 16777216 1 Y 0 31 8
def @arg21 251 16777216 10 Y 0 31 8
def @arg22 251 16777216 30 Y 0 31 8
def @arg23 251 16777216 8 Y 128 31 63
def @arg24 251 16777216 8 Y 0 31 8
def @arg25 251 16777216 4 Y 128 31 63
def @arg26 251 16777216 4 Y 0 31 8
def @arg27 251 16777216 10 Y 128 31 63
def @arg28 251 16777216 10 Y 0 31 8
def @arg29 251 16777216 8 Y 128 31 63
def @arg30 251 16777216 8 Y 0 31 8
def @arg31 251 16777216 3 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
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,
@ -2129,38 +2129,38 @@ into @arg01, @arg02, @arg03, @arg04, @arg05, @arg06, @arg07, @arg08,
from t9 where c1= 0 ;
execute full_info ;
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 @arg02 253 20 0 Y 128 0 63
def @arg03 253 20 0 Y 128 0 63
def @arg04 253 20 0 Y 128 0 63
def @arg05 253 20 0 Y 128 0 63
def @arg06 253 20 0 Y 128 0 63
def @arg07 253 23 0 Y 128 31 63
def @arg08 253 23 0 Y 128 31 63
def @arg09 253 23 0 Y 128 31 63
def @arg10 253 23 0 Y 128 31 63
def @arg11 253 67 0 Y 128 30 63
def @arg12 253 67 0 Y 128 30 63
def @arg13 253 16777216 0 Y 128 31 63
def @arg14 253 16777216 0 Y 128 31 63
def @arg15 253 16777216 19 Y 128 31 63
def @arg16 253 16777216 0 Y 128 31 63
def @arg17 253 20 0 Y 128 0 63
def @arg18 253 20 0 Y 128 0 63
def @arg19 253 20 0 Y 128 0 63
def @arg20 253 16777216 0 Y 0 31 8
def @arg21 253 16777216 0 Y 0 31 8
def @arg22 253 16777216 0 Y 0 31 8
def @arg23 253 16777216 0 Y 128 31 63
def @arg24 253 16777216 0 Y 0 31 8
def @arg25 253 16777216 0 Y 128 31 63
def @arg26 253 16777216 0 Y 0 31 8
def @arg27 253 16777216 0 Y 128 31 63
def @arg28 253 16777216 0 Y 0 31 8
def @arg29 253 16777216 0 Y 128 31 63
def @arg30 253 16777216 0 Y 0 31 8
def @arg31 253 16777216 0 Y 0 31 8
def @arg32 253 16777216 0 Y 0 31 8
def @arg01 8 20 1 Y 32896 0 63
def @arg02 8 20 0 Y 32896 0 63
def @arg03 8 20 0 Y 32896 0 63
def @arg04 8 20 0 Y 32896 0 63
def @arg05 8 20 0 Y 32896 0 63
def @arg06 8 20 0 Y 32896 0 63
def @arg07 5 23 0 Y 32896 31 63
def @arg08 5 23 0 Y 32896 31 63
def @arg09 5 23 0 Y 32896 31 63
def @arg10 5 23 0 Y 32896 31 63
def @arg11 246 67 0 Y 128 30 63
def @arg12 246 67 0 Y 128 30 63
def @arg13 251 16777216 0 Y 128 31 63
def @arg14 251 16777216 0 Y 128 31 63
def @arg15 251 16777216 19 Y 128 31 63
def @arg16 251 16777216 0 Y 128 31 63
def @arg17 8 20 0 Y 32928 0 63
def @arg18 8 20 0 Y 32896 0 63
def @arg19 8 20 0 Y 32896 0 63
def @arg20 251 16777216 0 Y 0 31 8
def @arg21 251 16777216 0 Y 0 31 8
def @arg22 251 16777216 0 Y 0 31 8
def @arg23 251 16777216 0 Y 128 31 63
def @arg24 251 16777216 0 Y 0 31 8
def @arg25 251 16777216 0 Y 128 31 63
def @arg26 251 16777216 0 Y 0 31 8
def @arg27 251 16777216 0 Y 128 31 63
def @arg28 251 16777216 0 Y 0 31 8
def @arg29 251 16777216 0 Y 128 31 63
def @arg30 251 16777216 0 Y 0 31 8
def @arg31 251 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
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,
@ -2175,76 +2175,76 @@ set @my_key= 1 ;
execute stmt1 using @my_key ;
execute full_info ;
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 @arg02 253 20 1 Y 128 0 63
def @arg03 253 20 1 Y 128 0 63
def @arg04 253 20 1 Y 128 0 63
def @arg05 253 20 1 Y 128 0 63
def @arg06 253 20 1 Y 128 0 63
def @arg07 253 23 1 Y 128 31 63
def @arg08 253 23 1 Y 128 31 63
def @arg09 253 23 1 Y 128 31 63
def @arg10 253 23 1 Y 128 31 63
def @arg11 253 67 6 Y 128 30 63
def @arg12 253 67 6 Y 128 30 63
def @arg13 253 16777216 10 Y 128 31 63
def @arg14 253 16777216 19 Y 128 31 63
def @arg15 253 16777216 19 Y 128 31 63
def @arg16 253 16777216 8 Y 128 31 63
def @arg17 253 20 4 Y 128 0 63
def @arg18 253 20 1 Y 128 0 63
def @arg19 253 20 1 Y 128 0 63
def @arg20 253 16777216 1 Y 0 31 8
def @arg21 253 16777216 10 Y 0 31 8
def @arg22 253 16777216 30 Y 0 31 8
def @arg23 253 16777216 8 Y 128 31 63
def @arg24 253 16777216 8 Y 0 31 8
def @arg25 253 16777216 4 Y 128 31 63
def @arg26 253 16777216 4 Y 0 31 8
def @arg27 253 16777216 10 Y 128 31 63
def @arg28 253 16777216 10 Y 0 31 8
def @arg29 253 16777216 8 Y 128 31 63
def @arg30 253 16777216 8 Y 0 31 8
def @arg31 253 16777216 3 Y 0 31 8
def @arg32 253 16777216 6 Y 0 31 8
def @arg01 8 20 1 Y 32896 0 63
def @arg02 8 20 1 Y 32896 0 63
def @arg03 8 20 1 Y 32896 0 63
def @arg04 8 20 1 Y 32896 0 63
def @arg05 8 20 1 Y 32896 0 63
def @arg06 8 20 1 Y 32896 0 63
def @arg07 5 23 1 Y 32896 31 63
def @arg08 5 23 1 Y 32896 31 63
def @arg09 5 23 1 Y 32896 31 63
def @arg10 5 23 1 Y 32896 31 63
def @arg11 246 67 6 Y 128 30 63
def @arg12 246 67 6 Y 128 30 63
def @arg13 251 16777216 10 Y 128 31 63
def @arg14 251 16777216 19 Y 128 31 63
def @arg15 251 16777216 19 Y 128 31 63
def @arg16 251 16777216 8 Y 128 31 63
def @arg17 8 20 4 Y 32928 0 63
def @arg18 8 20 1 Y 32896 0 63
def @arg19 8 20 1 Y 32896 0 63
def @arg20 251 16777216 1 Y 0 31 8
def @arg21 251 16777216 10 Y 0 31 8
def @arg22 251 16777216 30 Y 0 31 8
def @arg23 251 16777216 8 Y 128 31 63
def @arg24 251 16777216 8 Y 0 31 8
def @arg25 251 16777216 4 Y 128 31 63
def @arg26 251 16777216 4 Y 0 31 8
def @arg27 251 16777216 10 Y 128 31 63
def @arg28 251 16777216 10 Y 0 31 8
def @arg29 251 16777216 8 Y 128 31 63
def @arg30 251 16777216 8 Y 0 31 8
def @arg31 251 16777216 3 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
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 ;
execute stmt1 using @my_key ;
execute full_info ;
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 @arg02 253 20 0 Y 128 0 63
def @arg03 253 20 0 Y 128 0 63
def @arg04 253 20 0 Y 128 0 63
def @arg05 253 20 0 Y 128 0 63
def @arg06 253 20 0 Y 128 0 63
def @arg07 253 23 0 Y 128 31 63
def @arg08 253 23 0 Y 128 31 63
def @arg09 253 23 0 Y 128 31 63
def @arg10 253 23 0 Y 128 31 63
def @arg11 253 67 0 Y 128 30 63
def @arg12 253 67 0 Y 128 30 63
def @arg13 253 16777216 0 Y 128 31 63
def @arg14 253 16777216 0 Y 128 31 63
def @arg15 253 16777216 19 Y 128 31 63
def @arg16 253 16777216 0 Y 128 31 63
def @arg17 253 20 0 Y 128 0 63
def @arg18 253 20 0 Y 128 0 63
def @arg19 253 20 0 Y 128 0 63
def @arg20 253 16777216 0 Y 0 31 8
def @arg21 253 16777216 0 Y 0 31 8
def @arg22 253 16777216 0 Y 0 31 8
def @arg23 253 16777216 0 Y 128 31 63
def @arg24 253 16777216 0 Y 0 31 8
def @arg25 253 16777216 0 Y 128 31 63
def @arg26 253 16777216 0 Y 0 31 8
def @arg27 253 16777216 0 Y 128 31 63
def @arg28 253 16777216 0 Y 0 31 8
def @arg29 253 16777216 0 Y 128 31 63
def @arg30 253 16777216 0 Y 0 31 8
def @arg31 253 16777216 0 Y 0 31 8
def @arg32 253 16777216 0 Y 0 31 8
def @arg01 8 20 1 Y 32896 0 63
def @arg02 8 20 0 Y 32896 0 63
def @arg03 8 20 0 Y 32896 0 63
def @arg04 8 20 0 Y 32896 0 63
def @arg05 8 20 0 Y 32896 0 63
def @arg06 8 20 0 Y 32896 0 63
def @arg07 5 23 0 Y 32896 31 63
def @arg08 5 23 0 Y 32896 31 63
def @arg09 5 23 0 Y 32896 31 63
def @arg10 5 23 0 Y 32896 31 63
def @arg11 246 67 0 Y 128 30 63
def @arg12 246 67 0 Y 128 30 63
def @arg13 251 16777216 0 Y 128 31 63
def @arg14 251 16777216 0 Y 128 31 63
def @arg15 251 16777216 19 Y 128 31 63
def @arg16 251 16777216 0 Y 128 31 63
def @arg17 8 20 0 Y 32928 0 63
def @arg18 8 20 0 Y 32896 0 63
def @arg19 8 20 0 Y 32896 0 63
def @arg20 251 16777216 0 Y 0 31 8
def @arg21 251 16777216 0 Y 0 31 8
def @arg22 251 16777216 0 Y 0 31 8
def @arg23 251 16777216 0 Y 128 31 63
def @arg24 251 16777216 0 Y 0 31 8
def @arg25 251 16777216 0 Y 128 31 63
def @arg26 251 16777216 0 Y 0 31 8
def @arg27 251 16777216 0 Y 128 31 63
def @arg28 251 16777216 0 Y 0 31 8
def @arg29 251 16777216 0 Y 128 31 63
def @arg30 251 16777216 0 Y 0 31 8
def @arg31 251 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
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" ;

View 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;

View 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;

View File

@ -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;

View File

@ -31,7 +31,7 @@ Master_Host 127.0.0.1
Master_User root
Master_Port MASTER_PORT
Connect_Retry 1
Master_Log_File master-bin.000002
Master_Log_File #
Read_Master_Log_Pos #
Relay_Log_File #
Relay_Log_Pos #
@ -74,7 +74,7 @@ Master_Host 127.0.0.1
Master_User root
Master_Port MASTER_PORT
Connect_Retry 1
Master_Log_File master-bin.000002
Master_Log_File #
Read_Master_Log_Pos #
Relay_Log_File #
Relay_Log_Pos #
@ -104,4 +104,3 @@ Master_SSL_Key
Seconds_Behind_Master #
Master_SSL_Verify_Server_Cert No
DROP TABLE t1;
DROP TABLE t1;

View File

@ -86,3 +86,7 @@ ERROR 23000: Duplicate entry '2003-03-22' for key 'day'
drop table t2;
drop table t2;
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;

View File

@ -159,8 +159,8 @@ Replicate_Do_Table
Replicate_Ignore_Table <Replicate_Ignore_Table>
Replicate_Wild_Do_Table
Replicate_Wild_Ignore_Table
Last_Errno 1105
Last_Error Unknown error
Last_Errno <Last_Errno>
Last_Error <Last_Error>
Skip_Counter 0
Exec_Master_Log_Pos <Exec_Master_Log_Pos>
Relay_Log_Space <Relay_Log_Space>

View File

@ -190,6 +190,75 @@ DELIMITER ;
ROLLBACK /* added by mysqlbinlog */;
/*!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 --
/*!40019 SET @@session.max_insert_delayed_threads=0*/;
/*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/;
@ -273,4 +342,11 @@ HEX(f)
835C
--- 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;

View File

@ -19,9 +19,41 @@ n
2
3
4
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
# 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
SHOW SLAVE STATUS;;
Slave_IO_State #
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;
select * from t1;
n
@ -29,23 +61,119 @@ n
2
3
4
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
# 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
SHOW SLAVE STATUS;;
Slave_IO_State #
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;
select * from t2;
n
1
2
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
# 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
SHOW SLAVE STATUS;;
Slave_IO_State #
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;
stop slave;
start slave until master_log_file='master-bin.000001', master_log_pos=740;
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
# 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
SHOW SLAVE STATUS;;
Slave_IO_State #
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;
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;

View File

@ -1030,7 +1030,7 @@ select bug12329();
bug12329()
101
execute stmt1;
ERROR HY000: Table 't2' was not locked with LOCK TABLES
ERROR 42S02: Table 'test.t2' doesn't exist
deallocate prepare stmt1;
drop function bug12329;
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;
drop table t2;
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;
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();
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 table t1;
drop view v1;

View File

@ -254,4 +254,17 @@ execute stmt;
deallocate prepare stmt;
drop function bug19634;
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

View File

@ -1202,3 +1202,29 @@ after substr str_remainder
after substr b,c
DROP PROCEDURE bug27415_text_test|
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;

View File

@ -5617,6 +5617,23 @@ Called B
Called B
drop procedure proc_21462_a|
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 VIEW IF EXISTS v1, v2|
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';
lower bounds signed bigint
0
Warnings:
Warning 1264 Out of range value for column 'f1' at row 1
select bug20777(9223372036854775807) as 'upper bounds signed bigint';
upper bounds signed bigint
9223372036854775807
@ -6122,9 +6141,13 @@ upper bounds unsigned bigint
select bug20777(18446744073709551616) as 'upper bounds unsigned bigint + 1';
upper bounds unsigned bigint + 1
18446744073709551615
Warnings:
Warning 1264 Out of range value for column 'f1' at row 1
select bug20777(-1) as 'lower bounds unsigned bigint - 1';
lower bounds unsigned bigint - 1
0
Warnings:
Warning 1264 Out of range value for column 'f1' at row 1
create table examplebug20777 as select
0 as 'i',
bug20777(9223372036854775806) as '2**63-2',
@ -6136,7 +6159,12 @@ bug20777(18446744073709551615) as '2**64-1',
bug20777(18446744073709551616) as '2**64',
bug20777(0) as '0',
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);
Warnings:
Warning 1264 Out of range value for column '-1' at row 1
show create table examplebug20777;
Table Create Table
examplebug20777 CREATE TABLE `examplebug20777` (

View File

@ -820,9 +820,9 @@ call p1();
drop trigger t1_bi;
create trigger t1_bi after insert on t1 for each row insert into t3 values (new.id);
execute stmt1;
ERROR HY000: Table 't3' was not locked with LOCK TABLES
ERROR 42S02: Table 'test.t3' doesn't exist
call p1();
ERROR HY000: Table 't3' was not locked with LOCK TABLES
ERROR 42S02: Table 'test.t3' doesn't exist
deallocate prepare stmt1;
drop procedure p1;
drop table t1, t2, t3;

View File

@ -110,15 +110,24 @@ select 1 from t1 where cast('2000-01-01 12:01:01' as datetime) between start_dat
1
1
drop table t1;
select @d:=1111, year(@d), month(@d), day(@d), cast(@d as date);
@d:=1111 year(@d) month(@d) day(@d) cast(@d as date)
1111 2000 11 11 2000-11-11
select @d:=011111, year(@d), month(@d), day(@d), cast(@d as date);
@d:=011111 year(@d) month(@d) day(@d) cast(@d as date)
11111 2001 11 11 2001-11-11
select @d:=1311, year(@d), month(@d), day(@d), cast(@d as date);
@d:=1311 year(@d) month(@d) day(@d) cast(@d as date)
1311 NULL NULL NULL NULL
select @d:=1111;
@d:=1111
1111
select year(@d), month(@d), day(@d), cast(@d as date);
year(@d) month(@d) day(@d) cast(@d as date)
2000 11 11 2000-11-11
select @d:=011111;
@d:=011111
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:
Warning 1292 Incorrect datetime value: '1311'
Warning 1292 Incorrect datetime value: '1311'

View File

@ -91,7 +91,7 @@ NULL test test
set @g=1;
select @g,(@g:=c),@g from t1;
@g (@g:=c) @g
1 test test
1 test 0
select @c, @d, @e, @f;
@c @d @e @f
1 1 2 test

View File

@ -547,6 +547,13 @@ UpdateXML(@xml, '/a/b/@bb2', '')
select 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>
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>';
select extractvalue(@xml,'order/clerk');
extractvalue(@xml,'order/clerk')
@ -884,3 +891,124 @@ test
select ExtractValue('<a><self>test</self></a>', '/a/self');
ExtractValue('<a><self>test</self></a>', '/a/self')
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'

View File

@ -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)
# so we probably want execute it only in --big-test mode.
#
# Tests for various concurrency-related aspects of ALTER TABLE implemetation
#
# This test takes rather long time so let us run it only in --big-test mode
--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
@ -22,27 +27,20 @@ create table t1 (n1 int, n2 int, n3 int,
key (n3, n1, n2));
create table t2 (i int);
# Populating 't1' table with keys disabled, so ALTER TABLE .. ENABLE KEYS
# will run for some time
# Starting from 5.1 we have runtime settable @@debug variable,
# 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;
--disable_query_log
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
insert into t1 values (RAND()*1000, RAND()*1000, RAND()*1000);
# Later we use binlog to check the order in which statements are
# executed so let us reset it first.
reset master;
set session debug="+d,sleep_alter_enable_indexes";
--send alter table t1 enable keys;
connection addconroot;
let $show_type= PROCESSLIST;
let $show_pattern= '%Repair by sorting%alter table t1 enable keys%';
--source include/wait_show_pattern.inc
--sleep 2
# This statement should not be blocked by in-flight ALTER and therefore
# should be executed and written to binlog before ALTER TABLE ... ENABLE KEYS
# finishes.
@ -51,12 +49,68 @@ insert into t2 values (1);
insert into t1 values (1, 1, 1);
connection default;
--reap
set session debug="-d,sleep_alter_enable_indexes";
# Check that statements were executed/binlogged in correct order.
--replace_column 2 # 5 #
show binlog events in 'master-bin.000001' from 102;
show binlog events in 'master-bin.000001' from 106;
# Clean up
drop tables t1, t2;
--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

View File

@ -727,7 +727,58 @@ ALTER TABLE t1 MODIFY COLUMN v VARCHAR(4);
SELECT * FROM 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

View 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;

View File

@ -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
# it is already covered by create.test. We are more interested in extreme cases.
# Note that we don't test general CREATE TABLE ... SELECT/LIKE functionality
# 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
--source include/big_test.inc
# We are using some debug-only features in this test
--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
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
# and check that other statements dealing with this table cannot
@ -266,3 +271,122 @@ connection default;
select * from t1;
show create table t1;
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";

View File

@ -306,7 +306,7 @@ create table t3 like t1;
create table t3 like mysqltest.t3;
--error 1049
create table non_existing_database.t1 like t1;
--error 1051
--error ER_NO_SUCH_TABLE
create table t3 like non_existing_table;
--error 1050
create temporary table t3 like t1;

View File

@ -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_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_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_instance_conf : 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_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_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_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_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_row_blob_innodb : BUG#18980 2006-04-10 kent Test fails randomly
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
#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
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

View File

@ -451,6 +451,10 @@ set global event_scheduler=off;
--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;
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
@ -725,4 +729,14 @@ drop table t1|
drop event e1|
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;

View File

@ -610,7 +610,53 @@ DROP EVENT e1;
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
#
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;

View File

@ -101,8 +101,14 @@ disconnect ev_con1;
connection default;
DROP USER ev_test@localhost;
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;

View File

@ -107,4 +107,10 @@ SET SESSION long_query_time =@old_session_long_query_time;
DROP DATABASE events_test;
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

View File

@ -11,8 +11,10 @@ use events_test;
select @@event_scheduler;
let $wait_condition=select count(distinct name)=3 from execution_log;
--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;
# Will drop all events
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();

View File

@ -106,3 +106,13 @@ DROP TABLE table_3;
DROP TABLE table_4;
DROP DATABASE events_test;
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

View File

@ -133,4 +133,5 @@ DROP USER event_user3@localhost;
#
# DROP DATABASE test end (bug #16406)
#
DROP DATABASE events_test;

View File

@ -288,7 +288,11 @@ DROP TABLE t_step;
DROP DATABASE mysqltest_db1;
--disable_query_log
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.

View File

@ -111,5 +111,11 @@ commit work;
#
# 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;

View File

@ -57,5 +57,10 @@ drop database mysqltest_db2;
#
# 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;

View File

@ -513,3 +513,47 @@ REVOKE ALL PRIVILEGES, GRANT OPTION FROM `a@`@localhost;
drop user `a@`@localhost;
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

View 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

View 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

View File

@ -263,7 +263,7 @@ EOF
--exec $MYSQL test -e "show status" 2>&1 > /dev/null
--exec $MYSQL --help 2>&1 > /dev/null
--exec $MYSQL --version 2>&1 > /dev/null
--enable_quary_log
--enable_query_log
#
# bug #26851: Mysql Client --pager Buffer Overflow

View File

@ -48,11 +48,6 @@ select otto from (select 1 as otto) as t1;
--error 0
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):
# 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 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
@ -1873,7 +1868,7 @@ DROP TABLE t1;
--disable_query_log
--exec $MYSQL_TEST --help 2>&1 > /dev/null
--exec $MYSQL_TEST --version 2>&1 > /dev/null
--enable_quary_log
--enable_query_log
--disable_abort_on_error
--error 1
--exec $MYSQL_TEST a b c 2>&1 > /dev/null

View File

@ -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);
UPDATE t1 SET b = SEC_TO_TIME(a);
-- Correct ORDER
# Correct ORDER
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;
DROP TABLE t1;

View File

@ -1119,6 +1119,113 @@ EXECUTE stmt USING @a;
DEALLOCATE PREPARE stmt;
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.
############################# 5.0 tests start ################################
@ -1597,6 +1704,77 @@ EXECUTE stmt USING @arg;
DEALLOCATE PREPARE stmt;
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;
#
# 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.

View 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

View 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

View File

@ -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

View File

@ -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(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));
--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',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',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));

View File

@ -22,7 +22,7 @@ connection slave;
SELECT * FROM t1;
--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
SET GLOBAL SQL_SLAVE_SKIP_COUNTER=1;
@ -34,10 +34,9 @@ START SLAVE;
SELECT * FROM t1;
--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
DROP TABLE t1;
connection master;
DROP TABLE t1;
--sync_slave_with_master

View File

@ -197,7 +197,7 @@ UPDATE t1 SET `nom`="DEAD" WHERE `nid`=1;
--connection slave
--echo **** On Slave ****
--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;
# now set max retries high enough to succeed, and start slave again

View File

@ -24,6 +24,7 @@
#
--source include/master-slave.inc
--source include/have_binlog_format_row.inc
--source include/have_ndb.inc
let $engine_type= NDB;
let $temp_engine_type= MEMORY;

View File

@ -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
# 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.
# Cleanup the master and the slave and try to recreate.
#DROP TABLE t1;
#DROP TABLE t2;
#DROP TABLE t3;
DROP TABLE t1;
DROP TABLE t2;
DROP TABLE t3;
#sync_slave_with_master;
sync_slave_with_master;
#we expect STOP SLAVE to produce a warning as the slave is stopped
#(the server was started with skip-slave-start)
#--disable_warnings
#stop slave;
#--enable_warnings
#--require r/slave-stopped.result
#show status like 'Slave_running';
#connection master;
#reset master;
#connection slave;
#reset slave;
#start slave;
#--require r/slave-running.result
#show status like 'Slave_running';
#connection master;
--disable_warnings
stop slave;
--enable_warnings
--require r/slave-stopped.result
show status like 'Slave_running';
connection master;
reset master;
connection slave;
reset slave;
start slave;
--require r/slave-running.result
show status like 'Slave_running';
connection master;
# 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
#SELECT COUNT(*) from t1;
#SELECT COUNT(*) from t2;
#SELECT COUNT(*) from t3;
#SELECT * FROM t1 ORDER BY word LIMIT 5;
#SELECT * FROM t2 ORDER BY id LIMIT 5;
#SELECT c1, c3, c4, c5 FROM t3 ORDER BY c1 LIMIT 5;
SELECT COUNT(*) from t1;
SELECT COUNT(*) from t2;
SELECT COUNT(*) from t3;
SELECT * FROM t1 ORDER BY word LIMIT 5;
SELECT * FROM t2 ORDER BY id LIMIT 5;
SELECT c1, c3, c4, c5 FROM t3 ORDER BY c1 LIMIT 5;
# Should have the same on the slave;
#sync_slave_with_master;
#SELECT COUNT(*) from t1;
#SELECT COUNT(*) from t2;
#SELECT COUNT(*) from t3;
#SELECT * FROM t1 ORDER BY word LIMIT 5;
#SELECT * FROM t2 ORDER BY id LIMIT 5;
#SELECT c1, c3, c4, c5 FROM t3 ORDER BY c1 LIMIT 5;
#connection master;
sync_slave_with_master;
SELECT COUNT(*) from t1;
SELECT COUNT(*) from t2;
SELECT COUNT(*) from t3;
SELECT * FROM t1 ORDER BY word LIMIT 5;
SELECT * FROM t2 ORDER BY id LIMIT 5;
SELECT c1, c3, c4, c5 FROM t3 ORDER BY c1 LIMIT 5;
connection master;
# 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 ######################
# LOAD DATA
@ -315,7 +315,34 @@ select "--- Test cleanup --" as "";
--enable_query_log
# clean up
connection master;
DROP TABLE IF EXISTS t1, t2, t3, t04, t05, t4, t5;
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

View File

@ -33,7 +33,7 @@ wait_for_slave_to_stop;
select * from t1;
--replace_result $MASTER_MYPORT MASTER_MYPORT
--replace_column 1 # 9 # 11 # 23 # 33 #
show slave status;
--query_vertical SHOW SLAVE STATUS;
# this should fail right after start
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;
--replace_result $MASTER_MYPORT MASTER_MYPORT
--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;
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;
--replace_result $MASTER_MYPORT MASTER_MYPORT
--replace_column 1 # 9 # 11 # 23 # 33 #
show slave status;
--query_vertical SHOW SLAVE STATUS;
# clean up
start slave;
@ -69,7 +69,7 @@ wait_for_slave_to_stop;
# 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_column 1 # 9 # 23 # 33 #
show slave status;
--query_vertical SHOW SLAVE STATUS;
#testing various error conditions
--error 1277

View File

@ -1458,7 +1458,7 @@ select bug12329();
# 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
# not locked' error (this mechanism should be based on the new TDC).
--error 1100
--error ER_NO_SUCH_TABLE
execute stmt1;
deallocate prepare stmt1;
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;
drop table t2;
# Limitation, the desired error is ER_VIEW_INVALID
--error ER_TABLE_NOT_LOCKED
--error ER_NO_SUCH_TABLE
insert into v1 values (1);
drop trigger t1_ai;
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();
# Limitation, the desired error is ER_VIEW_INVALID
--error ER_TABLE_NOT_LOCKED
--error ER_NO_SUCH_TABLE
insert into v1 values (2);
drop function bug11555_1;
drop table t1;

View File

@ -301,5 +301,36 @@ deallocate prepare stmt;
drop function bug19634;
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

View File

@ -1412,3 +1412,39 @@ DROP PROCEDURE bug27415_text_test2|
DELIMITER ;|
# 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.

View File

@ -6569,6 +6569,34 @@ drop procedure proc_21462_a|
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
# result if join is used
@ -7067,7 +7095,7 @@ use test|
--disable_warnings
drop function if exists bug20777|
drop table if exists examplebug20777|
--enabled_warnings
--enable_warnings
create function bug20777(f1 bigint unsigned) returns bigint unsigned
begin
set f1 = (f1 - 10); set f1 = (f1 + 10);

View File

@ -975,9 +975,7 @@ select * from t1;
# Check that select don't abort even in strict mode (for now)
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;
--enable_ps_warnings
drop table t1;

View File

@ -260,11 +260,11 @@ insert into t2 values
('dd', 1, NULL);
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 ;
insert into t2 values ('new1', 10,10);
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;
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;

View File

@ -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
# 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).
--error 1100 #ER_TABLE_NOT_LOCKED
--error ER_NO_SUCH_TABLE
execute stmt1;
--error 1100 #ER_TABLE_NOT_LOCKED
--error ER_NO_SUCH_TABLE
call p1();
deallocate prepare stmt1;
drop procedure p1;

View File

@ -128,9 +128,12 @@ drop table t1;
# Bug #23093: Implicit conversion of 9912101 to date does not match
# cast(9912101 as date)
#
select @d:=1111, year(@d), month(@d), day(@d), cast(@d as date);
select @d:=011111, 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:=1111;
select 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);
insert into t1 values (9912101,9912101,9912101);
insert into t1 values (11111,11111,11111);

View File

@ -231,6 +231,13 @@ select UpdateXML(@xml, '/a/b/@bb1', 'bb3="bb3"');
select UpdateXML(@xml, '/a/b/@bb2', '');
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()
#
@ -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-sibling>test</preceding-sibling></a>', '/a/preceding-sibling');
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]');

View File

@ -413,7 +413,8 @@ Event_parse_data::init_interval(THD *thd)
default:
;/* 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));
DBUG_RETURN(EVEX_BAD_PARAMS);

View File

@ -70,15 +70,17 @@ event_queue_element_compare_q(void *vptr, uchar* a, uchar *b)
*/
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_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),
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_cond_init(&COND_queue_state, NULL);
}
@ -739,8 +741,11 @@ Event_queue::dump_internal_status()
MYSQL_TIME time;
my_tz_UTC->gmt_sec_to_TIME(&time, next_activation_at);
printf("Next activation : %04d-%02d-%02d %02d:%02d:%02d\n",
time.year, time.month, time.day, time.hour, time.minute, time.second);
if (time.year != 1970)
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;
}

View File

@ -104,7 +104,6 @@ private:
bool mutex_queue_data_locked;
bool mutex_queue_data_attempting_lock;
bool waiting_on_cond;
};
#endif /* _EVENT_QUEUE_H_ */

View File

@ -42,7 +42,6 @@ Event_db_repository *Event_worker_thread::db_repository;
static
const LEX_STRING scheduler_states_names[] =
{
{ C_STRING_WITH_LEN("UNINITIALIZED") },
{ C_STRING_WITH_LEN("INITIALIZED") },
{ C_STRING_WITH_LEN("RUNNING") },
{ C_STRING_WITH_LEN("STOPPING") }
@ -331,9 +330,15 @@ end:
Event_scheduler::Event_scheduler(Event_queue *queue_arg)
:state(UNINITIALIZED),
:state(INITIALIZED),
scheduler_thd(NULL),
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)
{
pthread_mutex_init(&LOCK_scheduler_state, MY_MUTEX_INIT_FAST);

View File

@ -111,8 +111,7 @@ private:
enum enum_state
{
UNINITIALIZED = 0,
INITIALIZED,
INITIALIZED = 0,
RUNNING,
STOPPING
};

View File

@ -1628,6 +1628,9 @@ public:
uint offset,pack_flag;
create_field() :after(0) {}
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);
/* Init for a tmp table field. To be extended if need be. */

View File

@ -171,11 +171,11 @@ ha_rows filesort(THD *thd, TABLE *table, SORT_FIELD *sortorder, uint s_length,
if (select && select->quick)
{
statistic_increment(thd->status_var.filesort_range_count, &LOCK_status);
status_var_increment(thd->status_var.filesort_range_count);
}
else
{
statistic_increment(thd->status_var.filesort_scan_count, &LOCK_status);
status_var_increment(thd->status_var.filesort_scan_count);
}
#ifdef CAN_TRUST_RANGE
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;
DBUG_ENTER("merge_buffers");
statistic_increment(current_thd->status_var.filesort_merge_passes,
&LOCK_status);
status_var_increment(current_thd->status_var.filesort_merge_passes);
if (param->not_killable)
{
killed= &not_killable;

View File

@ -639,7 +639,7 @@ int ha_prepare(THD *thd)
for (; *ht; ht++)
{
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 ((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);
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(););
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);
error=1;
}
statistic_increment(thd->status_var.ha_commit_count,&LOCK_status);
status_var_increment(thd->status_var.ha_commit_count);
*ht= 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);
error=1;
}
statistic_increment(thd->status_var.ha_rollback_count,&LOCK_status);
status_var_increment(thd->status_var.ha_rollback_count);
*ht= 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);
error=1;
}
statistic_increment(thd->status_var.ha_savepoint_rollback_count,
&LOCK_status);
status_var_increment(thd->status_var.ha_savepoint_rollback_count);
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);
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
}
DBUG_RETURN(error);
@ -1301,7 +1300,7 @@ int ha_savepoint(THD *thd, SAVEPOINT *sv)
my_error(ER_GET_ERRNO, MYF(0), err);
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;
#endif /* USING_TRANSACTIONS */
@ -1489,7 +1488,7 @@ handler *handler::clone(MEM_ROOT *mem_root)
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
@ -2836,7 +2835,7 @@ int ha_discover(THD *thd, const char *db, const char *name,
error= 0;
if (!error)
statistic_increment(thd->status_var.ha_discover_count,&LOCK_status);
status_var_increment(thd->status_var.ha_discover_count);
DBUG_RETURN(error);
}

View File

@ -223,6 +223,7 @@
#define HA_LEX_CREATE_TMP_TABLE 1
#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_DELAY_KEY_WRITE (1L << 18)
#define HA_MAX_REC_LENGTH 65535

View File

@ -36,7 +36,6 @@
#define sp_restore_security_context(A,B) while (0) {}
#endif
bool check_reserved_words(LEX_STRING *name)
{
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;
> insert into t1 values (@a), (@a:=@a+1), (@a:=@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
the this-statement-execution pool because in SPs user_var_event objects
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 *)
alloc_root(thd->user_var_events_alloc, size)))
goto err;
user_var_event->value= (char*) user_var_event +
ALIGN_SIZE(sizeof(BINLOG_USER_VAR_EVENT));
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;
if (insert_dynamic(&thd->user_var_events, (uchar*) &user_var_event))
goto err;
*out_entry= var_entry;
return 0;
@ -4494,7 +4493,6 @@ err:
return 1;
}
void Item_func_get_user_var::fix_length_and_dec()
{
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);
/*
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)
{
m_cached_result_type= var_entry->type;
unsigned_flag= var_entry->unsigned_flag;
max_length= var_entry->length;
collation.set(var_entry->collation);
switch (var_entry->type) {
switch(m_cached_result_type) {
case REAL_RESULT:
max_length= DBL_DIG + 8;
break;
@ -4533,6 +4540,8 @@ void Item_func_get_user_var::fix_length_and_dec()
{
collation.set(&my_charset_bin, DERIVATION_IMPLICIT);
null_value= 1;
m_cached_result_type= STRING_RESULT;
max_length= MAX_BLOB_WIDTH;
}
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
{
user_var_entry *entry;
if (!(entry = (user_var_entry*) hash_search(&current_thd->user_vars,
(uchar*) name.str,
name.length)))
return STRING_RESULT;
return entry->type;
return m_cached_result_type;
}

View File

@ -1256,11 +1256,12 @@ class Item_func_get_user_var :public Item_func,
private Settable_routine_parameter
{
user_var_entry *var_entry;
Item_result m_cached_result_type;
public:
LEX_STRING name; // keep it public
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; }
LEX_STRING get_name() { return name; }
double val_real();
@ -1274,13 +1275,11 @@ public:
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)
*/
enum_field_types field_type() const { return MYSQL_TYPE_VARCHAR; }
const char *func_name() const { return "get_user_var"; }
bool const_item() const;
table_map used_tables() const
{ return const_item() ? 0 : RAND_TABLE_BIT; }
bool eq(const Item *item, bool binary_cmp) const;
private:
bool set_value(THD *thd, sp_rcontext *ctx, Item **it);

View File

@ -19,7 +19,7 @@
#include "mysql_priv.h"
#include "my_xml.h"
#include "sp_pcontext.h"
/*
TODO: future development directions:
@ -923,8 +923,8 @@ static Item *create_comparator(MY_XPATH *xpath,
else if (a->type() == Item::XPATH_NODESET &&
b->type() == Item::XPATH_NODESET)
{
uint len= context->end - context->beg;
set_if_bigger(len, 32);
uint len= xpath->query.end - context->beg;
set_if_smaller(len, 32);
my_printf_error(ER_UNKNOWN_ERROR,
"XPATH error: "
"comparison of two nodesets is not supported: '%.*s'",
@ -2412,21 +2412,78 @@ my_xpath_parse_QName(MY_XPATH *xpath)
}
/*
/**
Scan Variable reference
SYNOPSYS
@details Implements parsing of two syntax structures:
[36] VariableReference ::= '$' QName
RETURN
1 - success
0 - failure
1. Standard XPath syntax [36], for SP variables:
VariableReference ::= '$' QName
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
my_xpath_parse_VariableReference(MY_XPATH *xpath)
{
return my_xpath_parse_term(xpath, MY_XPATH_LEX_DOLLAR) &&
my_xpath_parse_term(xpath, MY_XPATH_LEX_IDENT);
LEX_STRING name;
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)
{
char context[32];
uint clen= xpath.query.end - xpath.lasttok.beg;
set_if_bigger(clen, sizeof(context) - 1);
strmake(context, xpath.lasttok.beg, clen);
my_printf_error(ER_UNKNOWN_ERROR, "XPATH syntax error: '%s'",
MYF(0), context);
set_if_smaller(clen, 32);
my_printf_error(ER_UNKNOWN_ERROR, "XPATH syntax error: '%.*s'",
MYF(0), clen, xpath.lasttok.beg);
return;
}
@ -2768,6 +2823,16 @@ String *Item_func_xml_update::val_str(String *str)
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.set_charset(collation.collation);
uint offs= nodebeg->type == MY_XML_NODE_TAG ? 1 : 0;

View File

@ -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,
ulong query_length, bool using_trans,
bool suppress_use)
bool suppress_use, THD::killed_state killed_status_arg)
:Log_event(thd_arg,
((thd_arg->tmp_table_used ? LOG_EVENT_THREAD_SPECIFIC_F : 0)
| (suppress_use ? LOG_EVENT_SUPPRESS_USE_F : 0)),
using_trans),
data_buf(0), query(query_arg), catalog(thd_arg->catalog),
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),
/* save the original thread id; we already know the server 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)
{
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);
exec_time = (ulong) (end_time - thd->start_time);
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.
*/
thd->lex->sql_command= SQLCOM_REPLACE;
table->file->extra(HA_EXTRA_IGNORE_DUP_KEY); // Needed for ndbcluster
table->file->extra(HA_EXTRA_WRITE_CAN_REPLACE); // Needed for ndbcluster
table->file->extra(HA_EXTRA_IGNORE_NO_KEY); // Needed for ndbcluster
/*
Do not raise the error flag in case of hitting to an unique attribute
*/
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
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)
{
if (error == 0)
error= table->file->ha_end_bulk_insert();
return error;
int local_error= 0;
table->file->extra(HA_EXTRA_NO_IGNORE_DUP_KEY);
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,

View File

@ -1023,7 +1023,8 @@ public:
#ifndef MYSQL_CLIENT
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; }
#ifdef HAVE_REPLICATION
void pack_info(Protocol* protocol);

View File

@ -962,33 +962,26 @@ int prepare_create_field(create_field *sql_field,
longlong table_flags);
bool mysql_create_table(THD *thd,const char *db, const char *table_name,
HA_CREATE_INFO *create_info,
List<create_field> &fields, List<Key> &keys,
bool tmp_table, uint select_field_count,
bool use_copy_create_info);
Alter_info *alter_info,
bool tmp_table, uint select_field_count);
bool mysql_create_table_no_lock(THD *thd, const char *db,
const char *table_name,
HA_CREATE_INFO *create_info,
List<create_field> &fields, List<Key> &keys,
bool tmp_table, uint select_field_count,
bool use_copy_create_info);
Alter_info *alter_info,
bool tmp_table, uint select_field_count);
bool mysql_alter_table(THD *thd, char *new_db, char *new_name,
HA_CREATE_INFO *create_info,
TABLE_LIST *table_list,
List<create_field> &fields,
List<Key> &keys,
uint order_num, ORDER *order, bool ignore,
ALTER_INFO *alter_info, bool do_send_ok);
bool mysql_recreate_table(THD *thd, TABLE_LIST *table_list, bool do_send_ok);
Alter_info *alter_info,
uint order_num, ORDER *order, bool ignore);
bool mysql_recreate_table(THD *thd, TABLE_LIST *table_list);
bool mysql_create_like_table(THD *thd, TABLE_LIST *table,
HA_CREATE_INFO *create_info,
Table_ident *src_table);
TABLE_LIST *src_table,
HA_CREATE_INFO *create_info);
bool mysql_rename_table(handlerton *base, const char *old_db,
const char * old_name, const char *new_db,
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,
Item **conds, uint order_num, ORDER *order);
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,
const char *table_name, TABLE **table);
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 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 table_is_used(TABLE *table, bool wait_for_name_lock);
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
uint fast_alter_partition_table(THD *thd, TABLE *table,
ALTER_INFO *alter_info,
Alter_info *alter_info,
HA_CREATE_INFO *create_info,
TABLE_LIST *table_list,
List<create_field> *create_list,
List<Key> *key_list, char *db,
char *db,
const char *table_name,
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,
handlerton *old_db_type,
bool *partition_changed,
@ -1348,11 +1343,7 @@ typedef struct st_lock_param_type
ulonglong deleted;
THD *thd;
HA_CREATE_INFO *create_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;
Alter_info *alter_info;
TABLE *table;
KEY *key_info_buffer;
const char *db;
@ -1678,7 +1669,7 @@ extern ulong log_output_options;
extern my_bool opt_log_queries_not_using_indexes;
extern bool opt_disable_networking, opt_skip_show_db;
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 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;

Some files were not shown because too many files have changed in this diff Show More