mirror of
https://github.com/MariaDB/server.git
synced 2025-01-17 12:32:27 +01:00
Merge bk-internal.mysql.com:/home/bk/mysql-5.1
into vajra.(none):/opt/local/work/mysql-5.1-runtime
This commit is contained in:
commit
0162745cff
56 changed files with 2667 additions and 2046 deletions
|
@ -411,16 +411,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"
|
||||
|
|
|
@ -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)
|
||||
|
@ -1448,10 +1438,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
|
||||
|
|
|
@ -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
|
||||
}
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -278,8 +278,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 ( /Warning:\s+Table:.* on (delete|rename)/ or
|
||||
/Warning:\s+Setting lower_case_table_names=2/ or
|
||||
|
@ -290,6 +301,9 @@ sub mtr_report_stats ($) {
|
|||
}
|
||||
if ( /$pattern/ )
|
||||
{
|
||||
if ($leak_reports_expected) {
|
||||
next;
|
||||
}
|
||||
$found_problems= 1;
|
||||
print WARN $_;
|
||||
}
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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`;
|
||||
|
|
|
@ -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";
|
|
@ -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;
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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" ;
|
||||
|
|
|
@ -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" ;
|
||||
|
|
|
@ -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
|
@ -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" ;
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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'
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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";
|
|
@ -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;
|
||||
|
|
|
@ -30,7 +30,6 @@ rpl_ddl : BUG#26418 2007-03-01 mleich Slave out of sync after C
|
|||
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.
|
||||
|
||||
# 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
|
||||
|
|
|
@ -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
|
||||
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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.
|
||||
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -70,15 +70,17 @@ event_queue_element_compare_q(void *vptr, byte* a, byte *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;
|
||||
}
|
||||
|
|
|
@ -104,7 +104,6 @@ private:
|
|||
bool mutex_queue_data_locked;
|
||||
bool mutex_queue_data_attempting_lock;
|
||||
bool waiting_on_cond;
|
||||
|
||||
};
|
||||
|
||||
#endif /* _EVENT_QUEUE_H_ */
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -111,8 +111,7 @@ private:
|
|||
|
||||
enum enum_state
|
||||
{
|
||||
UNINITIALIZED = 0,
|
||||
INITIALIZED,
|
||||
INITIALIZED = 0,
|
||||
RUNNING,
|
||||
STOPPING
|
||||
};
|
||||
|
|
|
@ -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= ¬_killable;
|
||||
|
|
|
@ -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);
|
||||
}
|
||||
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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") ||
|
||||
|
@ -4451,7 +4450,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
|
||||
|
@ -4461,7 +4460,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;
|
||||
|
@ -4483,7 +4482,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, (gptr) &user_var_event))
|
||||
goto err;
|
||||
|
||||
|
||||
*out_entry= var_entry;
|
||||
return 0;
|
||||
|
||||
|
@ -4492,7 +4491,6 @@ err:
|
|||
return 1;
|
||||
}
|
||||
|
||||
|
||||
void Item_func_get_user_var::fix_length_and_dec()
|
||||
{
|
||||
THD *thd=current_thd;
|
||||
|
@ -4503,10 +4501,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;
|
||||
|
@ -4531,6 +4538,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)
|
||||
|
@ -4548,12 +4557,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(¤t_thd->user_vars,
|
||||
(byte*) name.str,
|
||||
name.length)))
|
||||
return STRING_RESULT;
|
||||
return entry->type;
|
||||
return m_cached_result_type;
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -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(), name(a), m_cached_result_type(STRING_RESULT) {}
|
||||
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);
|
||||
|
||||
|
|
|
@ -978,9 +978,8 @@ bool mysql_alter_table(THD *thd, char *new_db, char *new_name,
|
|||
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);
|
||||
bool mysql_create_like_table(THD *thd, TABLE_LIST *table,
|
||||
HA_CREATE_INFO *create_info,
|
||||
Table_ident *src_table);
|
||||
bool mysql_create_like_table(THD *thd, TABLE_LIST *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);
|
||||
|
@ -1032,8 +1031,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);
|
||||
|
|
|
@ -933,12 +933,19 @@ static void fix_net_retry_count(THD *thd __attribute__((unused)),
|
|||
static void fix_query_cache_size(THD *thd, enum_var_type type)
|
||||
{
|
||||
#ifdef HAVE_QUERY_CACHE
|
||||
ulong requested= query_cache_size;
|
||||
query_cache.resize(query_cache_size);
|
||||
if (requested != query_cache_size)
|
||||
ulong new_cache_size= query_cache.resize(query_cache_size);
|
||||
|
||||
/*
|
||||
Note: query_cache_size is a global variable reflecting the
|
||||
requested cache size. See also query_cache_size_arg
|
||||
*/
|
||||
|
||||
if (query_cache_size != new_cache_size)
|
||||
push_warning_printf(current_thd, MYSQL_ERROR::WARN_LEVEL_WARN,
|
||||
ER_WARN_QC_RESIZE, ER(ER_WARN_QC_RESIZE),
|
||||
requested, query_cache_size);
|
||||
query_cache_size, new_cache_size);
|
||||
|
||||
query_cache_size= new_cache_size;
|
||||
#endif
|
||||
}
|
||||
|
||||
|
|
|
@ -99,7 +99,6 @@ static bool open_new_frm(THD *thd, TABLE_SHARE *share, const char *alias,
|
|||
TABLE_LIST *table_desc, MEM_ROOT *mem_root);
|
||||
static void close_old_data_files(THD *thd, TABLE *table, bool morph_locks,
|
||||
bool send_refresh);
|
||||
static bool reopen_table(TABLE *table);
|
||||
static bool
|
||||
has_two_write_locked_tables_with_auto_increment(TABLE_LIST *tables);
|
||||
|
||||
|
@ -681,7 +680,7 @@ TABLE_SHARE *get_cached_table_share(const char *db, const char *table_name)
|
|||
*/
|
||||
|
||||
|
||||
static void close_handle_and_leave_table_as_lock(TABLE *table)
|
||||
void close_handle_and_leave_table_as_lock(TABLE *table)
|
||||
{
|
||||
TABLE_SHARE *share, *old_share= table->s;
|
||||
char *key_buff;
|
||||
|
@ -2393,10 +2392,17 @@ TABLE *open_table(THD *thd, TABLE_LIST *table_list, MEM_ROOT *mem_root,
|
|||
VOID(pthread_mutex_unlock(&LOCK_open));
|
||||
}
|
||||
}
|
||||
if ((thd->locked_tables) && (thd->locked_tables->lock_count > 0))
|
||||
my_error(ER_TABLE_NOT_LOCKED, MYF(0), alias);
|
||||
else
|
||||
/*
|
||||
No table in the locked tables list. In case of explicit LOCK TABLES
|
||||
this can happen if a user did not include the able into the list.
|
||||
In case of pre-locked mode locked tables list is generated automatically,
|
||||
so we may only end up here if the table did not exist when
|
||||
locked tables list was created.
|
||||
*/
|
||||
if (thd->prelocked_mode == PRELOCKED)
|
||||
my_error(ER_NO_SUCH_TABLE, MYF(0), table_list->db, table_list->alias);
|
||||
else
|
||||
my_error(ER_TABLE_NOT_LOCKED, MYF(0), alias);
|
||||
DBUG_RETURN(0);
|
||||
}
|
||||
|
||||
|
@ -2705,7 +2711,7 @@ TABLE *find_locked_table(THD *thd, const char *db,const char *table_name)
|
|||
1 error. The old table object is not changed.
|
||||
*/
|
||||
|
||||
static bool reopen_table(TABLE *table)
|
||||
bool reopen_table(TABLE *table)
|
||||
{
|
||||
TABLE tmp;
|
||||
bool error= 1;
|
||||
|
@ -2788,27 +2794,55 @@ static bool reopen_table(TABLE *table)
|
|||
}
|
||||
|
||||
|
||||
/*
|
||||
Used with ALTER TABLE:
|
||||
Close all instanses of table when LOCK TABLES is in used;
|
||||
Close first all instances of table and then reopen them
|
||||
/**
|
||||
@brief Close all instances of a table open by this thread and replace
|
||||
them with exclusive name-locks.
|
||||
|
||||
@param thd Thread context
|
||||
@param db Database name for the table to be closed
|
||||
@param table_name Name of the table to be closed
|
||||
|
||||
@note This function assumes that if we are not under LOCK TABLES,
|
||||
then there is only one table open and locked. This means that
|
||||
the function probably has to be adjusted before it can be used
|
||||
anywhere outside ALTER TABLE.
|
||||
*/
|
||||
|
||||
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)
|
||||
{
|
||||
TABLE *table;
|
||||
DBUG_ENTER("close_data_tables");
|
||||
DBUG_ENTER("close_data_files_and_morph_locks");
|
||||
|
||||
safe_mutex_assert_owner(&LOCK_open);
|
||||
|
||||
if (thd->lock)
|
||||
{
|
||||
/*
|
||||
If we are not under LOCK TABLES we should have only one table
|
||||
open and locked so it makes sense to remove the lock at once.
|
||||
*/
|
||||
mysql_unlock_tables(thd, thd->lock);
|
||||
thd->lock= 0;
|
||||
}
|
||||
|
||||
/*
|
||||
Note that open table list may contain a name-lock placeholder
|
||||
for target table name if we process ALTER TABLE ... RENAME.
|
||||
So loop below makes sense even if we are not under LOCK TABLES.
|
||||
*/
|
||||
for (table=thd->open_tables; table ; table=table->next)
|
||||
{
|
||||
if (!strcmp(table->s->table_name.str, table_name) &&
|
||||
!strcmp(table->s->db.str, db))
|
||||
{
|
||||
mysql_lock_remove(thd, thd->locked_tables,table);
|
||||
if (thd->locked_tables)
|
||||
mysql_lock_remove(thd, thd->locked_tables, table);
|
||||
table->open_placeholder= 1;
|
||||
close_handle_and_leave_table_as_lock(table);
|
||||
}
|
||||
}
|
||||
DBUG_RETURN(0); // For the future
|
||||
DBUG_VOID_RETURN;
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -799,12 +799,26 @@ ulong Query_cache::resize(ulong query_cache_size_arg)
|
|||
DBUG_PRINT("qcache", ("from %lu to %lu",query_cache_size,
|
||||
query_cache_size_arg));
|
||||
DBUG_ASSERT(initialized);
|
||||
|
||||
STRUCT_LOCK(&structure_guard_mutex);
|
||||
free_cache();
|
||||
query_cache_size= query_cache_size_arg;
|
||||
::query_cache_size= init_cache();
|
||||
while (flush_in_progress)
|
||||
pthread_cond_wait(&COND_flush_finished, &structure_guard_mutex);
|
||||
flush_in_progress= TRUE;
|
||||
STRUCT_UNLOCK(&structure_guard_mutex);
|
||||
DBUG_RETURN(::query_cache_size);
|
||||
|
||||
free_cache();
|
||||
|
||||
query_cache_size= query_cache_size_arg;
|
||||
ulong new_query_cache_size= init_cache();
|
||||
|
||||
DBUG_EXECUTE("check_querycache",check_integrity(0););
|
||||
|
||||
STRUCT_LOCK(&structure_guard_mutex);
|
||||
flush_in_progress= FALSE;
|
||||
pthread_cond_signal(&COND_flush_finished);
|
||||
STRUCT_UNLOCK(&structure_guard_mutex);
|
||||
|
||||
DBUG_RETURN(new_query_cache_size);
|
||||
}
|
||||
|
||||
|
||||
|
@ -1585,6 +1599,7 @@ ulong Query_cache::init_cache()
|
|||
int align;
|
||||
|
||||
DBUG_ENTER("Query_cache::init_cache");
|
||||
|
||||
approx_additional_data_size = (sizeof(Query_cache) +
|
||||
sizeof(gptr)*(def_query_hash_size+
|
||||
def_table_hash_size));
|
||||
|
@ -1763,58 +1778,28 @@ void Query_cache::make_disabled()
|
|||
mem_bin_num= mem_bin_steps= 0;
|
||||
queries_in_cache= 0;
|
||||
first_block= 0;
|
||||
total_blocks= 0;
|
||||
tables_blocks= 0;
|
||||
DBUG_VOID_RETURN;
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
free_cache() - free all resources allocated by the cache.
|
||||
|
||||
SYNOPSIS
|
||||
free_cache()
|
||||
|
||||
DESCRIPTION
|
||||
This function frees all resources allocated by the cache. You
|
||||
have to call init_cache() before using the cache again.
|
||||
/**
|
||||
@class Query_cache
|
||||
@brief Free all resources allocated by the cache.
|
||||
@details This function frees all resources allocated by the cache. You
|
||||
have to call init_cache() before using the cache again. This function requires
|
||||
the structure_guard_mutex to be locked.
|
||||
*/
|
||||
|
||||
void Query_cache::free_cache()
|
||||
{
|
||||
DBUG_ENTER("Query_cache::free_cache");
|
||||
if (query_cache_size > 0)
|
||||
flush_cache();
|
||||
/*
|
||||
There may be two free_cache() calls in progress, because we
|
||||
release 'structure_guard_mutex' in flush_cache(). When the second
|
||||
flush_cache() wakes up from the wait on 'COND_flush_finished', the
|
||||
first call to free_cache() has done its job. So we have to test
|
||||
'query_cache_size > 0' the second time to see if the cache wasn't
|
||||
reset by other thread, or if it was reset and was re-enabled then.
|
||||
If the cache was reset, then we have nothing to do here.
|
||||
*/
|
||||
if (query_cache_size > 0)
|
||||
{
|
||||
#ifndef DBUG_OFF
|
||||
if (bins[0].free_blocks == 0)
|
||||
{
|
||||
wreck(__LINE__,"no free memory found in (bins[0].free_blocks");
|
||||
DBUG_VOID_RETURN;
|
||||
}
|
||||
#endif
|
||||
|
||||
/* Becasue we did a flush, all cache memory must be in one this block */
|
||||
bins[0].free_blocks->destroy();
|
||||
total_blocks--;
|
||||
#ifndef DBUG_OFF
|
||||
if (free_memory != query_cache_size)
|
||||
DBUG_PRINT("qcache", ("free memory %lu (should be %lu)",
|
||||
free_memory , query_cache_size));
|
||||
#endif
|
||||
my_free((gptr) cache, MYF(MY_ALLOW_ZERO_PTR));
|
||||
make_disabled();
|
||||
hash_free(&queries);
|
||||
hash_free(&tables);
|
||||
}
|
||||
my_free((gptr) cache, MYF(MY_ALLOW_ZERO_PTR));
|
||||
make_disabled();
|
||||
hash_free(&queries);
|
||||
hash_free(&tables);
|
||||
DBUG_VOID_RETURN;
|
||||
}
|
||||
|
||||
|
|
|
@ -2538,7 +2538,7 @@ bool Delayed_insert::handle_inserts(void)
|
|||
|
||||
if (table->s->blob_fields)
|
||||
free_delayed_insert_blobs(table);
|
||||
thread_safe_sub(delayed_rows_in_use,1,&LOCK_delayed_status);
|
||||
thread_safe_decrement(delayed_rows_in_use,&LOCK_delayed_status);
|
||||
thread_safe_increment(delayed_insert_writes,&LOCK_delayed_status);
|
||||
pthread_mutex_lock(&mutex);
|
||||
|
||||
|
|
|
@ -1066,7 +1066,6 @@ typedef struct st_lex : public Query_tables_list
|
|||
|
||||
char *length,*dec,*change;
|
||||
LEX_STRING name;
|
||||
Table_ident *like_name;
|
||||
char *help_arg;
|
||||
char *backup_dir; /* For RESTORE/BACKUP */
|
||||
char* to_log; /* For PURGE MASTER LOGS TO */
|
||||
|
|
|
@ -39,6 +39,7 @@
|
|||
"FUNCTION" : "PROCEDURE")
|
||||
|
||||
static bool execute_sqlcom_select(THD *thd, TABLE_LIST *all_tables);
|
||||
static bool check_show_create_table_access(THD *thd, TABLE_LIST *table);
|
||||
|
||||
const char *any_db="*any*"; // Special symbol for check_access
|
||||
|
||||
|
@ -721,8 +722,7 @@ bool dispatch_command(enum enum_server_command command, THD *thd,
|
|||
case COM_INIT_DB:
|
||||
{
|
||||
LEX_STRING tmp;
|
||||
statistic_increment(thd->status_var.com_stat[SQLCOM_CHANGE_DB],
|
||||
&LOCK_status);
|
||||
status_var_increment(thd->status_var.com_stat[SQLCOM_CHANGE_DB]);
|
||||
thd->convert_string(&tmp, system_charset_info,
|
||||
packet, packet_length-1, thd->charset());
|
||||
if (!mysql_change_db(thd, &tmp, FALSE))
|
||||
|
@ -757,7 +757,7 @@ bool dispatch_command(enum enum_server_command command, THD *thd,
|
|||
break;
|
||||
}
|
||||
|
||||
statistic_increment(thd->status_var.com_other, &LOCK_status);
|
||||
status_var_increment(thd->status_var.com_other);
|
||||
thd->enable_slow_log= opt_log_slow_admin_statements;
|
||||
db.str= thd->alloc(db_len + tbl_len + 2);
|
||||
db.length= db_len;
|
||||
|
@ -773,7 +773,7 @@ bool dispatch_command(enum enum_server_command command, THD *thd,
|
|||
}
|
||||
case COM_CHANGE_USER:
|
||||
{
|
||||
statistic_increment(thd->status_var.com_other, &LOCK_status);
|
||||
status_var_increment(thd->status_var.com_other);
|
||||
char *user= (char*) packet, *packet_end= packet+ packet_length;
|
||||
char *passwd= strend(user)+1;
|
||||
|
||||
|
@ -956,8 +956,7 @@ bool dispatch_command(enum enum_server_command command, THD *thd,
|
|||
/* used as fields initializator */
|
||||
lex_start(thd);
|
||||
|
||||
statistic_increment(thd->status_var.com_stat[SQLCOM_SHOW_FIELDS],
|
||||
&LOCK_status);
|
||||
status_var_increment(thd->status_var.com_stat[SQLCOM_SHOW_FIELDS]);
|
||||
bzero((char*) &table_list,sizeof(table_list));
|
||||
if (thd->copy_db_to(&table_list.db, &dummy))
|
||||
break;
|
||||
|
@ -1023,8 +1022,7 @@ bool dispatch_command(enum enum_server_command command, THD *thd,
|
|||
LEX_STRING db, alias;
|
||||
HA_CREATE_INFO create_info;
|
||||
|
||||
statistic_increment(thd->status_var.com_stat[SQLCOM_CREATE_DB],
|
||||
&LOCK_status);
|
||||
status_var_increment(thd->status_var.com_stat[SQLCOM_CREATE_DB]);
|
||||
if (thd->LEX_STRING_make(&db, packet, packet_length -1) ||
|
||||
thd->LEX_STRING_make(&alias, db.str, db.length) ||
|
||||
check_db_name(&db))
|
||||
|
@ -1043,8 +1041,7 @@ bool dispatch_command(enum enum_server_command command, THD *thd,
|
|||
}
|
||||
case COM_DROP_DB: // QQ: To be removed
|
||||
{
|
||||
statistic_increment(thd->status_var.com_stat[SQLCOM_DROP_DB],
|
||||
&LOCK_status);
|
||||
status_var_increment(thd->status_var.com_stat[SQLCOM_DROP_DB]);
|
||||
LEX_STRING db;
|
||||
|
||||
if (thd->LEX_STRING_make(&db, packet, packet_length - 1) ||
|
||||
|
@ -1073,7 +1070,7 @@ bool dispatch_command(enum enum_server_command command, THD *thd,
|
|||
ushort flags;
|
||||
uint32 slave_server_id;
|
||||
|
||||
statistic_increment(thd->status_var.com_other,&LOCK_status);
|
||||
status_var_increment(thd->status_var.com_other);
|
||||
thd->enable_slow_log= opt_log_slow_admin_statements;
|
||||
if (check_global_access(thd, REPL_SLAVE_ACL))
|
||||
break;
|
||||
|
@ -1099,8 +1096,7 @@ bool dispatch_command(enum enum_server_command command, THD *thd,
|
|||
case COM_REFRESH:
|
||||
{
|
||||
bool not_used;
|
||||
statistic_increment(thd->status_var.com_stat[SQLCOM_FLUSH],
|
||||
&LOCK_status);
|
||||
status_var_increment(thd->status_var.com_stat[SQLCOM_FLUSH]);
|
||||
ulong options= (ulong) (uchar) packet[0];
|
||||
if (check_global_access(thd,RELOAD_ACL))
|
||||
break;
|
||||
|
@ -1112,7 +1108,7 @@ bool dispatch_command(enum enum_server_command command, THD *thd,
|
|||
#ifndef EMBEDDED_LIBRARY
|
||||
case COM_SHUTDOWN:
|
||||
{
|
||||
statistic_increment(thd->status_var.com_other, &LOCK_status);
|
||||
status_var_increment(thd->status_var.com_other);
|
||||
if (check_global_access(thd,SHUTDOWN_ACL))
|
||||
break; /* purecov: inspected */
|
||||
/*
|
||||
|
@ -1164,8 +1160,7 @@ bool dispatch_command(enum enum_server_command command, THD *thd,
|
|||
#endif
|
||||
|
||||
general_log_print(thd, command, NullS);
|
||||
statistic_increment(thd->status_var.com_stat[SQLCOM_SHOW_STATUS],
|
||||
&LOCK_status);
|
||||
status_var_increment(thd->status_var.com_stat[SQLCOM_SHOW_STATUS]);
|
||||
calc_sum_of_all_status(¤t_global_status_var);
|
||||
if (!(uptime= (ulong) (thd->start_time - server_start_time)))
|
||||
queries_per_second1000= 0;
|
||||
|
@ -1201,12 +1196,11 @@ bool dispatch_command(enum enum_server_command command, THD *thd,
|
|||
break;
|
||||
}
|
||||
case COM_PING:
|
||||
statistic_increment(thd->status_var.com_other, &LOCK_status);
|
||||
status_var_increment(thd->status_var.com_other);
|
||||
send_ok(thd); // Tell client we are alive
|
||||
break;
|
||||
case COM_PROCESS_INFO:
|
||||
statistic_increment(thd->status_var.com_stat[SQLCOM_SHOW_PROCESSLIST],
|
||||
&LOCK_status);
|
||||
status_var_increment(thd->status_var.com_stat[SQLCOM_SHOW_PROCESSLIST]);
|
||||
if (!thd->security_ctx->priv_user[0] &&
|
||||
check_global_access(thd, PROCESS_ACL))
|
||||
break;
|
||||
|
@ -1217,15 +1211,14 @@ bool dispatch_command(enum enum_server_command command, THD *thd,
|
|||
break;
|
||||
case COM_PROCESS_KILL:
|
||||
{
|
||||
statistic_increment(thd->status_var.com_stat[SQLCOM_KILL], &LOCK_status);
|
||||
status_var_increment(thd->status_var.com_stat[SQLCOM_KILL]);
|
||||
ulong id=(ulong) uint4korr(packet);
|
||||
sql_kill(thd,id,false);
|
||||
break;
|
||||
}
|
||||
case COM_SET_OPTION:
|
||||
{
|
||||
statistic_increment(thd->status_var.com_stat[SQLCOM_SET_OPTION],
|
||||
&LOCK_status);
|
||||
status_var_increment(thd->status_var.com_stat[SQLCOM_SET_OPTION]);
|
||||
uint opt_command= uint2korr(packet);
|
||||
|
||||
switch (opt_command) {
|
||||
|
@ -1244,7 +1237,7 @@ bool dispatch_command(enum enum_server_command command, THD *thd,
|
|||
break;
|
||||
}
|
||||
case COM_DEBUG:
|
||||
statistic_increment(thd->status_var.com_other, &LOCK_status);
|
||||
status_var_increment(thd->status_var.com_other);
|
||||
if (check_global_access(thd, SUPER_ACL))
|
||||
break; /* purecov: inspected */
|
||||
mysql_print_status();
|
||||
|
@ -1783,8 +1776,7 @@ mysql_execute_command(THD *thd)
|
|||
#ifdef HAVE_REPLICATION
|
||||
} /* endif unlikely slave */
|
||||
#endif
|
||||
statistic_increment(thd->status_var.com_stat[lex->sql_command],
|
||||
&LOCK_status);
|
||||
status_var_increment(thd->status_var.com_stat[lex->sql_command]);
|
||||
|
||||
switch (lex->sql_command) {
|
||||
case SQLCOM_SHOW_EVENTS:
|
||||
|
@ -2240,9 +2232,9 @@ mysql_execute_command(THD *thd)
|
|||
if (lex->create_info.options & HA_LEX_CREATE_TMP_TABLE)
|
||||
thd->options|= OPTION_KEEP_LOG;
|
||||
/* regular create */
|
||||
if (lex->like_name)
|
||||
res= mysql_create_like_table(thd, create_table, &lex->create_info,
|
||||
lex->like_name);
|
||||
if (lex->create_info.options & HA_LEX_CREATE_TABLE_LIKE)
|
||||
res= mysql_create_like_table(thd, create_table, select_tables,
|
||||
&lex->create_info);
|
||||
else
|
||||
{
|
||||
res= mysql_create_table(thd, create_table->db,
|
||||
|
@ -2432,12 +2424,7 @@ end_with_restore_list:
|
|||
/* Ignore temporary tables if this is "SHOW CREATE VIEW" */
|
||||
if (lex->only_view)
|
||||
first_table->skip_temporary= 1;
|
||||
|
||||
if (check_access(thd, SELECT_ACL | EXTRA_ACL, first_table->db,
|
||||
&first_table->grant.privilege, 0, 0,
|
||||
test(first_table->schema_table)))
|
||||
goto error;
|
||||
if (grant_option && check_grant(thd, SELECT_ACL, all_tables, 2, UINT_MAX, 0))
|
||||
if (check_show_create_table_access(thd, first_table))
|
||||
goto error;
|
||||
res= mysqld_show_create(thd, first_table);
|
||||
break;
|
||||
|
@ -6854,6 +6841,25 @@ bool insert_precheck(THD *thd, TABLE_LIST *tables)
|
|||
}
|
||||
|
||||
|
||||
/**
|
||||
@brief Check privileges for SHOW CREATE TABLE statement.
|
||||
|
||||
@param thd Thread context
|
||||
@param table Target table
|
||||
|
||||
@retval TRUE Failure
|
||||
@retval FALSE Success
|
||||
*/
|
||||
|
||||
static bool check_show_create_table_access(THD *thd, TABLE_LIST *table)
|
||||
{
|
||||
return check_access(thd, SELECT_ACL | EXTRA_ACL, table->db,
|
||||
&table->grant.privilege, 0, 0,
|
||||
test(table->schema_table)) ||
|
||||
grant_option && check_grant(thd, SELECT_ACL, table, 2, UINT_MAX, 0);
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
CREATE TABLE query pre-check
|
||||
|
||||
|
@ -6919,6 +6925,11 @@ bool create_table_precheck(THD *thd, TABLE_LIST *tables,
|
|||
if (tables && check_table_access(thd, SELECT_ACL, tables,0))
|
||||
goto err;
|
||||
}
|
||||
else if (lex->create_info.options & HA_LEX_CREATE_TABLE_LIKE)
|
||||
{
|
||||
if (check_show_create_table_access(thd, tables))
|
||||
goto err;
|
||||
}
|
||||
error= FALSE;
|
||||
|
||||
err:
|
||||
|
|
|
@ -3776,20 +3776,15 @@ bool mysql_unpack_partition(THD *thd,
|
|||
ha_legacy_type(default_db_type)));
|
||||
if (is_create_table_ind && old_lex->sql_command == SQLCOM_CREATE_TABLE)
|
||||
{
|
||||
if (old_lex->like_name)
|
||||
if (old_lex->create_info.options & HA_LEX_CREATE_TABLE_LIKE)
|
||||
{
|
||||
/*
|
||||
This code is executed when we do a CREATE TABLE t1 LIKE t2
|
||||
old_lex->like_name contains the t2 and the table we are opening has
|
||||
name t1.
|
||||
This code is executed when we create table in CREATE TABLE t1 LIKE t2.
|
||||
old_lex->query_tables contains table list element for t2 and the table
|
||||
we are opening has name t1.
|
||||
*/
|
||||
Table_ident *table_ident= old_lex->like_name;
|
||||
char *src_db= table_ident->db.str ? table_ident->db.str : thd->db;
|
||||
char *src_table= table_ident->table.str;
|
||||
char buf[FN_REFLEN];
|
||||
build_table_filename(buf, sizeof(buf), src_db, src_table, "", 0);
|
||||
if (partition_default_handling(table, part_info,
|
||||
FALSE, buf))
|
||||
if (partition_default_handling(table, part_info, FALSE,
|
||||
old_lex->query_tables->table->s->path.str))
|
||||
{
|
||||
result= TRUE;
|
||||
goto end;
|
||||
|
|
|
@ -2430,7 +2430,7 @@ void mysql_stmt_fetch(THD *thd, char *packet, uint packet_length)
|
|||
|
||||
/* First of all clear possible warnings from the previous command */
|
||||
mysql_reset_thd_for_next_command(thd);
|
||||
statistic_increment(thd->status_var.com_stmt_fetch, &LOCK_status);
|
||||
status_var_increment(thd->status_var.com_stmt_fetch);
|
||||
if (!(stmt= find_prepared_statement(thd, stmt_id, "mysql_stmt_fetch")))
|
||||
DBUG_VOID_RETURN;
|
||||
|
||||
|
@ -2494,7 +2494,7 @@ void mysql_stmt_reset(THD *thd, char *packet)
|
|||
/* First of all clear possible warnings from the previous command */
|
||||
mysql_reset_thd_for_next_command(thd);
|
||||
|
||||
statistic_increment(thd->status_var.com_stmt_reset, &LOCK_status);
|
||||
status_var_increment(thd->status_var.com_stmt_reset);
|
||||
if (!(stmt= find_prepared_statement(thd, stmt_id, "mysql_stmt_reset")))
|
||||
DBUG_VOID_RETURN;
|
||||
|
||||
|
@ -2598,7 +2598,7 @@ void mysql_stmt_get_longdata(THD *thd, char *packet, ulong packet_length)
|
|||
#endif
|
||||
DBUG_ENTER("mysql_stmt_get_longdata");
|
||||
|
||||
statistic_increment(thd->status_var.com_stmt_send_long_data, &LOCK_status);
|
||||
status_var_increment(thd->status_var.com_stmt_send_long_data);
|
||||
#ifndef EMBEDDED_LIBRARY
|
||||
/* Minimal size of long data packet is 6 bytes */
|
||||
if (packet_length <= MYSQL_LONG_DATA_HEADER)
|
||||
|
@ -2849,7 +2849,7 @@ bool Prepared_statement::prepare(const char *packet, uint packet_len)
|
|||
However, it seems handy if com_stmt_prepare is increased always,
|
||||
no matter what kind of prepare is processed.
|
||||
*/
|
||||
statistic_increment(thd->status_var.com_stmt_prepare, &LOCK_status);
|
||||
status_var_increment(thd->status_var.com_stmt_prepare);
|
||||
|
||||
/*
|
||||
alloc_query() uses thd->memroot && thd->query, so we should call
|
||||
|
@ -2972,7 +2972,7 @@ bool Prepared_statement::execute(String *expanded_query, bool open_cursor)
|
|||
Query_arena *old_stmt_arena;
|
||||
bool error= TRUE;
|
||||
|
||||
statistic_increment(thd->status_var.com_stmt_execute, &LOCK_status);
|
||||
status_var_increment(thd->status_var.com_stmt_execute);
|
||||
|
||||
/* Check if we got an error when sending long data */
|
||||
if (state == Query_arena::ERROR)
|
||||
|
@ -3094,7 +3094,7 @@ error:
|
|||
bool Prepared_statement::deallocate()
|
||||
{
|
||||
/* We account deallocate in the same manner as mysql_stmt_close */
|
||||
statistic_increment(thd->status_var.com_stmt_close, &LOCK_status);
|
||||
status_var_increment(thd->status_var.com_stmt_close);
|
||||
if (flags & (uint) IS_IN_USE)
|
||||
{
|
||||
my_error(ER_PS_NO_RECURSION, MYF(0));
|
||||
|
|
|
@ -6288,8 +6288,7 @@ make_join_readinfo(JOIN *join, ulonglong options)
|
|||
join->thd->server_status|=SERVER_QUERY_NO_GOOD_INDEX_USED;
|
||||
tab->read_first_record= join_init_quick_read_record;
|
||||
if (statistics)
|
||||
statistic_increment(join->thd->status_var.select_range_check_count,
|
||||
&LOCK_status);
|
||||
status_var_increment(join->thd->status_var.select_range_check_count);
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -6299,15 +6298,13 @@ make_join_readinfo(JOIN *join, ulonglong options)
|
|||
if (tab->select && tab->select->quick)
|
||||
{
|
||||
if (statistics)
|
||||
statistic_increment(join->thd->status_var.select_range_count,
|
||||
&LOCK_status);
|
||||
status_var_increment(join->thd->status_var.select_range_count);
|
||||
}
|
||||
else
|
||||
{
|
||||
join->thd->server_status|=SERVER_QUERY_NO_INDEX_USED;
|
||||
if (statistics)
|
||||
statistic_increment(join->thd->status_var.select_scan_count,
|
||||
&LOCK_status);
|
||||
status_var_increment(join->thd->status_var.select_scan_count);
|
||||
}
|
||||
}
|
||||
else
|
||||
|
@ -6315,15 +6312,13 @@ make_join_readinfo(JOIN *join, ulonglong options)
|
|||
if (tab->select && tab->select->quick)
|
||||
{
|
||||
if (statistics)
|
||||
statistic_increment(join->thd->status_var.select_full_range_join_count,
|
||||
&LOCK_status);
|
||||
status_var_increment(join->thd->status_var.select_full_range_join_count);
|
||||
}
|
||||
else
|
||||
{
|
||||
join->thd->server_status|=SERVER_QUERY_NO_INDEX_USED;
|
||||
if (statistics)
|
||||
statistic_increment(join->thd->status_var.select_full_join_count,
|
||||
&LOCK_status);
|
||||
status_var_increment(join->thd->status_var.select_full_join_count);
|
||||
}
|
||||
}
|
||||
if (!table->no_keyread)
|
||||
|
@ -9382,7 +9377,7 @@ create_tmp_table(THD *thd,TMP_TABLE_PARAM *param,List<Item> &fields,
|
|||
(int) distinct, (int) save_sum_fields,
|
||||
(ulong) rows_limit,test(group)));
|
||||
|
||||
statistic_increment(thd->status_var.created_tmp_tables, &LOCK_status);
|
||||
status_var_increment(thd->status_var.created_tmp_tables);
|
||||
|
||||
if (use_temp_pool && !(test_flags & TEST_KEEP_TMP_TABLES))
|
||||
temp_pool_slot = bitmap_lock_set_next(&temp_pool);
|
||||
|
@ -10254,8 +10249,7 @@ static bool create_myisam_tmp_table(TABLE *table,TMP_TABLE_PARAM *param,
|
|||
table->db_stat=0;
|
||||
goto err;
|
||||
}
|
||||
statistic_increment(table->in_use->status_var.created_tmp_disk_tables,
|
||||
&LOCK_status);
|
||||
status_var_increment(table->in_use->status_var.created_tmp_disk_tables);
|
||||
share->db_record_offset= 1;
|
||||
DBUG_RETURN(0);
|
||||
err:
|
||||
|
|
365
sql/sql_table.cc
365
sql/sql_table.cc
|
@ -4670,114 +4670,51 @@ bool mysql_preload_keys(THD* thd, TABLE_LIST* tables)
|
|||
SYNOPSIS
|
||||
mysql_create_like_table()
|
||||
thd Thread object
|
||||
table Table list (one table only)
|
||||
table Table list element for target table
|
||||
src_table Table list element for source table
|
||||
create_info Create info
|
||||
table_ident Src table_ident
|
||||
|
||||
RETURN VALUES
|
||||
FALSE OK
|
||||
TRUE error
|
||||
*/
|
||||
|
||||
bool mysql_create_like_table(THD* thd, TABLE_LIST* table,
|
||||
HA_CREATE_INFO *lex_create_info,
|
||||
Table_ident *table_ident)
|
||||
bool mysql_create_like_table(THD* thd, TABLE_LIST* table, TABLE_LIST* src_table,
|
||||
HA_CREATE_INFO *lex_create_info)
|
||||
{
|
||||
TABLE *tmp_table, *name_lock= 0;
|
||||
TABLE *name_lock= 0;
|
||||
char src_path[FN_REFLEN], dst_path[FN_REFLEN];
|
||||
char src_table_name_buff[FN_REFLEN], src_db_name_buff[FN_REFLEN];
|
||||
uint dst_path_length;
|
||||
char *db= table->db;
|
||||
char *table_name= table->table_name;
|
||||
char *src_db;
|
||||
char *src_table= table_ident->table.str;
|
||||
int err;
|
||||
bool res= TRUE;
|
||||
enum legacy_db_type not_used;
|
||||
uint not_used;
|
||||
HA_CREATE_INFO *create_info;
|
||||
#ifdef WITH_PARTITION_STORAGE_ENGINE
|
||||
char tmp_path[FN_REFLEN];
|
||||
#endif
|
||||
char ts_name[FN_LEN];
|
||||
TABLE_LIST src_tables_list;
|
||||
DBUG_ENTER("mysql_create_like_table");
|
||||
|
||||
if (!(create_info= copy_create_info(lex_create_info)))
|
||||
{
|
||||
DBUG_RETURN(TRUE);
|
||||
}
|
||||
DBUG_ASSERT(table_ident->db.str); /* Must be set in the parser */
|
||||
src_db= table_ident->db.str;
|
||||
|
||||
/* CREATE TABLE ... LIKE is not allowed for views. */
|
||||
src_table->required_type= FRMTYPE_TABLE;
|
||||
|
||||
/*
|
||||
Validate the source table
|
||||
By opening source table we guarantee that it exists and no concurrent
|
||||
DDL operation will mess with it. Later we also take an exclusive
|
||||
name-lock on target table name, which makes copying of .frm file,
|
||||
call to ha_create_table() and binlogging atomic against concurrent DML
|
||||
and DDL operations on target table. Thus by holding both these "locks"
|
||||
we ensure that our statement is properly isolated from all concurrent
|
||||
operations which matter.
|
||||
*/
|
||||
if (check_string_char_length(&table_ident->table, "", NAME_CHAR_LEN,
|
||||
system_charset_info, 1) ||
|
||||
(table_ident->table.length &&
|
||||
check_table_name(src_table,table_ident->table.length)))
|
||||
{
|
||||
my_error(ER_WRONG_TABLE_NAME, MYF(0), src_table);
|
||||
DBUG_RETURN(TRUE);
|
||||
}
|
||||
if (!src_db || check_db_name(&table_ident->db))
|
||||
{
|
||||
my_error(ER_WRONG_DB_NAME, MYF(0), src_db ? src_db : "NULL");
|
||||
DBUG_RETURN(-1);
|
||||
}
|
||||
|
||||
if ((tmp_table= find_temporary_table(thd, src_db, src_table)))
|
||||
strxmov(src_path, tmp_table->s->path.str, reg_ext, NullS);
|
||||
else
|
||||
{
|
||||
build_table_filename(src_path, sizeof(src_path),
|
||||
src_db, src_table, reg_ext, 0);
|
||||
/* Resolve symlinks (for windows) */
|
||||
unpack_filename(src_path, src_path);
|
||||
if (lower_case_table_names)
|
||||
my_casedn_str(files_charset_info, src_path);
|
||||
if (access(src_path, F_OK))
|
||||
{
|
||||
my_error(ER_BAD_TABLE_ERROR, MYF(0), src_table);
|
||||
goto err;
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
create like should be not allowed for Views, Triggers, ...
|
||||
*/
|
||||
if (mysql_frm_type(thd, src_path, ¬_used) != FRMTYPE_TABLE)
|
||||
{
|
||||
my_error(ER_WRONG_OBJECT, MYF(0), src_db, src_table, "BASE TABLE");
|
||||
goto err;
|
||||
}
|
||||
|
||||
if (lower_case_table_names)
|
||||
{
|
||||
if (src_db)
|
||||
{
|
||||
strmake(src_db_name_buff, src_db,
|
||||
min(sizeof(src_db_name_buff) - 1, table_ident->db.length));
|
||||
my_casedn_str(files_charset_info, src_db_name_buff);
|
||||
src_db= src_db_name_buff;
|
||||
}
|
||||
if (src_table)
|
||||
{
|
||||
strmake(src_table_name_buff, src_table,
|
||||
min(sizeof(src_table_name_buff) - 1, table_ident->table.length));
|
||||
my_casedn_str(files_charset_info, src_table_name_buff);
|
||||
src_table= src_table_name_buff;
|
||||
}
|
||||
}
|
||||
|
||||
bzero((gptr)&src_tables_list, sizeof(src_tables_list));
|
||||
src_tables_list.db= src_db;
|
||||
src_tables_list.db_length= table_ident->db.length;
|
||||
src_tables_list.lock_type= TL_READ;
|
||||
src_tables_list.table_name= src_table;
|
||||
src_tables_list.alias= src_table;
|
||||
|
||||
if (simple_open_n_lock_tables(thd, &src_tables_list))
|
||||
if (open_tables(thd, &src_table, ¬_used, 0))
|
||||
DBUG_RETURN(TRUE);
|
||||
|
||||
/*
|
||||
|
@ -4786,17 +4723,19 @@ bool mysql_create_like_table(THD* thd, TABLE_LIST* table,
|
|||
Add something to get possible tablespace info from src table,
|
||||
it can get valid tablespace name only for disk-base ndb table
|
||||
*/
|
||||
if ((src_tables_list.table->file->get_tablespace_name(thd, ts_name, FN_LEN)))
|
||||
if ((src_table->table->file->get_tablespace_name(thd, ts_name, FN_LEN)))
|
||||
{
|
||||
create_info->tablespace= ts_name;
|
||||
create_info->storage_media= HA_SM_DISK;
|
||||
}
|
||||
|
||||
/*
|
||||
Validate the destination table
|
||||
strxmov(src_path, src_table->table->s->path.str, reg_ext, NullS);
|
||||
|
||||
skip the destination table name checking as this is already
|
||||
validated.
|
||||
DBUG_EXECUTE_IF("sleep_create_like_before_check_if_exists", my_sleep(6000000););
|
||||
|
||||
/*
|
||||
Check that destination tables does not exist. Note that its name
|
||||
was already checked when it was added to the table list.
|
||||
*/
|
||||
if (create_info->options & HA_LEX_CREATE_TMP_TABLE)
|
||||
{
|
||||
|
@ -4817,15 +4756,29 @@ bool mysql_create_like_table(THD* thd, TABLE_LIST* table,
|
|||
goto table_exists;
|
||||
}
|
||||
|
||||
DBUG_EXECUTE_IF("sleep_create_like_before_copy", my_sleep(6000000););
|
||||
|
||||
/*
|
||||
Create a new table by copying from source table
|
||||
|
||||
Altough exclusive name-lock on target table protects us from concurrent
|
||||
DML and DDL operations on it we still want to wrap .FRM creation and call
|
||||
to ha_create_table() in critical section protected by LOCK_open in order
|
||||
to provide minimal atomicity against operations which disregard name-locks,
|
||||
like I_S implementation, for example. This is a temporary and should not
|
||||
be copied. Instead we should fix our code to always honor name-locks.
|
||||
|
||||
Also some engines (e.g. NDB cluster) require that LOCK_open should be held
|
||||
during the call to ha_create_table(). See bug #28614 for more info.
|
||||
*/
|
||||
VOID(pthread_mutex_lock(&LOCK_open));
|
||||
if (my_copy(src_path, dst_path, MYF(MY_DONT_OVERWRITE_FILE)))
|
||||
{
|
||||
if (my_errno == ENOENT)
|
||||
my_error(ER_BAD_DB_ERROR,MYF(0),db);
|
||||
else
|
||||
my_error(ER_CANT_CREATE_FILE,MYF(0),dst_path,my_errno);
|
||||
VOID(pthread_mutex_unlock(&LOCK_open));
|
||||
goto err;
|
||||
}
|
||||
|
||||
|
@ -4847,10 +4800,12 @@ bool mysql_create_like_table(THD* thd, TABLE_LIST* table,
|
|||
strmov(src_path, tmp_path);
|
||||
my_copy(src_path, dst_path, MYF(MY_DONT_OVERWRITE_FILE));
|
||||
#endif
|
||||
|
||||
DBUG_EXECUTE_IF("sleep_create_like_before_ha_create", my_sleep(6000000););
|
||||
|
||||
dst_path[dst_path_length - reg_ext_length]= '\0'; // Remove .frm
|
||||
pthread_mutex_lock(&LOCK_open);
|
||||
err= ha_create_table(thd, dst_path, db, table_name, create_info, 1);
|
||||
pthread_mutex_unlock(&LOCK_open);
|
||||
VOID(pthread_mutex_unlock(&LOCK_open));
|
||||
if (create_info->options & HA_LEX_CREATE_TMP_TABLE)
|
||||
{
|
||||
if (err || !open_temporary_table(thd, dst_path, db, table_name, 1))
|
||||
|
@ -4867,6 +4822,8 @@ bool mysql_create_like_table(THD* thd, TABLE_LIST* table,
|
|||
goto err; /* purecov: inspected */
|
||||
}
|
||||
|
||||
DBUG_EXECUTE_IF("sleep_create_like_before_binlogging", my_sleep(6000000););
|
||||
|
||||
/*
|
||||
We have to write the query before we unlock the tables.
|
||||
*/
|
||||
|
@ -4886,14 +4843,10 @@ bool mysql_create_like_table(THD* thd, TABLE_LIST* table,
|
|||
3 temporary normal Nothing
|
||||
4 temporary temporary Nothing
|
||||
==== ========= ========= ==============================
|
||||
|
||||
The variable 'tmp_table' below is used to see if the source
|
||||
table is a temporary table: if it is set, then the source table
|
||||
was a temporary table and we can take apropriate actions.
|
||||
*/
|
||||
if (!(create_info->options & HA_LEX_CREATE_TMP_TABLE))
|
||||
{
|
||||
if (tmp_table) // Case 2
|
||||
if (src_table->table->s->tmp_table) // Case 2
|
||||
{
|
||||
char buf[2048];
|
||||
String query(buf, sizeof(buf), system_charset_info);
|
||||
|
@ -5411,7 +5364,7 @@ bool mysql_alter_table(THD *thd,char *new_db, char *new_name,
|
|||
HA_CREATE_INFO *create_info;
|
||||
frm_type_enum frm_type;
|
||||
uint need_copy_table= 0;
|
||||
bool no_table_reopen= FALSE, varchar= FALSE;
|
||||
bool varchar= FALSE;
|
||||
#ifdef WITH_PARTITION_STORAGE_ENGINE
|
||||
uint fast_alter_partition= 0;
|
||||
bool partition_changed= FALSE;
|
||||
|
@ -5670,6 +5623,7 @@ view_err:
|
|||
VOID(pthread_mutex_lock(&LOCK_open));
|
||||
wait_while_table_is_used(thd, table, HA_EXTRA_FORCE_REOPEN);
|
||||
VOID(pthread_mutex_unlock(&LOCK_open));
|
||||
DBUG_EXECUTE_IF("sleep_alter_enable_indexes", my_sleep(6000000););
|
||||
error= table->file->enable_indexes(HA_KEY_SWITCH_NONUNIQ_SAVE);
|
||||
/* COND_refresh will be signaled in close_thread_tables() */
|
||||
break;
|
||||
|
@ -6585,9 +6539,19 @@ view_err:
|
|||
}
|
||||
|
||||
/*
|
||||
Data is copied. Now we rename the old table to a temp name,
|
||||
rename the new one to the old name, remove all entries about the old table
|
||||
from the cache, free all locks, close the old table and remove it.
|
||||
Data is copied. Now we:
|
||||
1) Wait until all other threads close old version of table.
|
||||
2) Close instances of table open by this thread and replace them
|
||||
with exclusive name-locks.
|
||||
3) Rename the old table to a temp name, rename the new one to the
|
||||
old name.
|
||||
4) If we are under LOCK TABLES and don't do ALTER TABLE ... RENAME
|
||||
we reopen new version of table.
|
||||
5) Write statement to the binary log.
|
||||
6) If we are under LOCK TABLES and do ALTER TABLE ... RENAME we
|
||||
remove name-locks from list of open tables and table cache.
|
||||
7) If we are not not under LOCK TABLES we rely on close_thread_tables()
|
||||
call to remove name-locks from table cache and list of open table.
|
||||
*/
|
||||
|
||||
thd->proc_info="rename result table";
|
||||
|
@ -6596,38 +6560,8 @@ view_err:
|
|||
if (lower_case_table_names)
|
||||
my_casedn_str(files_charset_info, old_name);
|
||||
|
||||
#if !defined( __WIN__)
|
||||
if (table->file->has_transactions())
|
||||
#endif
|
||||
{
|
||||
/*
|
||||
Win32 and InnoDB can't drop a table that is in use, so we must
|
||||
close the original table before doing the rename
|
||||
*/
|
||||
close_cached_table(thd, table);
|
||||
table=0; // Marker that table is closed
|
||||
no_table_reopen= TRUE;
|
||||
}
|
||||
#if !defined( __WIN__)
|
||||
else
|
||||
table->file->extra(HA_EXTRA_FORCE_REOPEN); // Don't use this file anymore
|
||||
#endif
|
||||
|
||||
if (new_name != table_name || new_db != db)
|
||||
{
|
||||
/*
|
||||
Check that there is no table with target name. See the
|
||||
comment describing code for 'simple' ALTER TABLE ... RENAME.
|
||||
*/
|
||||
if (!access(new_name_buff,F_OK))
|
||||
{
|
||||
error=1;
|
||||
my_error(ER_TABLE_EXISTS_ERROR, MYF(0), new_name_buff);
|
||||
VOID(quick_rm_table(new_db_type, new_db, tmp_name, FN_IS_TMP));
|
||||
VOID(pthread_mutex_unlock(&LOCK_open));
|
||||
goto err;
|
||||
}
|
||||
}
|
||||
wait_while_table_is_used(thd, table, HA_EXTRA_PREPARE_FOR_DELETE);
|
||||
close_data_files_and_morph_locks(thd, db, table_name);
|
||||
|
||||
error=0;
|
||||
save_old_db_type= old_db_type;
|
||||
|
@ -6672,121 +6606,64 @@ view_err:
|
|||
|
||||
if (error)
|
||||
{
|
||||
/*
|
||||
This shouldn't happen. We solve this the safe way by
|
||||
closing the locked table.
|
||||
*/
|
||||
if (table)
|
||||
{
|
||||
close_cached_table(thd,table);
|
||||
}
|
||||
VOID(pthread_mutex_unlock(&LOCK_open));
|
||||
goto err;
|
||||
/* This shouldn't happen. But let us play it safe. */
|
||||
goto err_with_placeholders;
|
||||
}
|
||||
|
||||
if (! need_copy_table)
|
||||
{
|
||||
bool needs_unlink= FALSE;
|
||||
if (! table)
|
||||
/*
|
||||
Now we have to inform handler that new .FRM file is in place.
|
||||
To do this we need to obtain a handler object for it.
|
||||
*/
|
||||
TABLE *t_table;
|
||||
if (new_name != table_name || new_db != db)
|
||||
{
|
||||
if (new_name != table_name || new_db != db)
|
||||
{
|
||||
table_list->alias= new_name;
|
||||
table_list->table_name= new_name;
|
||||
table_list->table_name_length= strlen(new_name);
|
||||
table_list->db= new_db;
|
||||
table_list->db_length= strlen(new_db);
|
||||
}
|
||||
else
|
||||
{
|
||||
/*
|
||||
TODO: Creation of name-lock placeholder here is a temporary
|
||||
work-around. Long term we should change close_cached_table() call
|
||||
which we invoke before table renaming operation in such way that
|
||||
it will leave placeholders for table in table cache/THD::open_tables
|
||||
list. By doing this we will be able easily reopen and relock these
|
||||
tables later and therefore behave under LOCK TABLES in the same way
|
||||
on all platforms.
|
||||
*/
|
||||
char key[MAX_DBKEY_LENGTH];
|
||||
uint key_length;
|
||||
key_length= create_table_def_key(thd, key, table_list, 0);
|
||||
if (!(name_lock= table_cache_insert_placeholder(thd, key,
|
||||
key_length)))
|
||||
{
|
||||
VOID(pthread_mutex_unlock(&LOCK_open));
|
||||
goto err;
|
||||
}
|
||||
name_lock->next= thd->open_tables;
|
||||
thd->open_tables= name_lock;
|
||||
}
|
||||
table_list->alias= new_name;
|
||||
table_list->table_name= new_name;
|
||||
table_list->table_name_length= strlen(new_name);
|
||||
table_list->db= new_db;
|
||||
table_list->db_length= strlen(new_db);
|
||||
table_list->table= name_lock;
|
||||
if (reopen_name_locked_table(thd, table_list, FALSE))
|
||||
{
|
||||
VOID(pthread_mutex_unlock(&LOCK_open));
|
||||
goto err;
|
||||
}
|
||||
table= table_list->table;
|
||||
/*
|
||||
We can't rely on later close_cached_table() calls to close
|
||||
this instance of the table since it was not properly locked.
|
||||
*/
|
||||
needs_unlink= TRUE;
|
||||
goto err_with_placeholders;
|
||||
t_table= table_list->table;
|
||||
}
|
||||
else
|
||||
{
|
||||
if (reopen_table(table))
|
||||
goto err_with_placeholders;
|
||||
t_table= table;
|
||||
}
|
||||
/* Tell the handler that a new frm file is in place. */
|
||||
if (table->file->create_handler_files(path, NULL, CHF_INDEX_FLAG,
|
||||
create_info))
|
||||
if (t_table->file->create_handler_files(path, NULL, CHF_INDEX_FLAG,
|
||||
create_info))
|
||||
goto err_with_placeholders;
|
||||
if (thd->locked_tables && new_name == table_name && new_db == db)
|
||||
{
|
||||
VOID(pthread_mutex_unlock(&LOCK_open));
|
||||
goto err;
|
||||
}
|
||||
if (needs_unlink)
|
||||
{
|
||||
unlink_open_table(thd, table, FALSE);
|
||||
table= name_lock= 0;
|
||||
/*
|
||||
We are going to reopen table down on the road, so we have to restore
|
||||
state of the TABLE object which we used for obtaining of handler
|
||||
object to make it suitable for reopening.
|
||||
*/
|
||||
DBUG_ASSERT(t_table == table);
|
||||
table->open_placeholder= 1;
|
||||
close_handle_and_leave_table_as_lock(table);
|
||||
}
|
||||
}
|
||||
|
||||
if (thd->lock || new_name != table_name || no_table_reopen) // True if WIN32
|
||||
VOID(quick_rm_table(old_db_type, db, old_name, FN_IS_TMP));
|
||||
|
||||
if (thd->locked_tables && new_name == table_name && new_db == db)
|
||||
{
|
||||
/*
|
||||
Not table locking or alter table with rename.
|
||||
Free locks and remove old table
|
||||
*/
|
||||
if (table)
|
||||
{
|
||||
close_cached_table(thd,table);
|
||||
}
|
||||
VOID(quick_rm_table(old_db_type, db, old_name, FN_IS_TMP));
|
||||
}
|
||||
else
|
||||
{
|
||||
/*
|
||||
Using LOCK TABLES without rename.
|
||||
This code is never executed on WIN32!
|
||||
Remove old renamed table, reopen table and get new locks
|
||||
*/
|
||||
if (table)
|
||||
{
|
||||
VOID(table->file->extra(HA_EXTRA_FORCE_REOPEN)); // Use new file
|
||||
/* Mark in-use copies old */
|
||||
remove_table_from_cache(thd,db,table_name,RTFC_NO_FLAG);
|
||||
/* end threads waiting on lock */
|
||||
mysql_lock_abort(thd,table, TRUE);
|
||||
}
|
||||
VOID(quick_rm_table(old_db_type, db, old_name, FN_IS_TMP));
|
||||
if (close_data_tables(thd,db,table_name) ||
|
||||
reopen_tables(thd,1,0))
|
||||
{ // This shouldn't happen
|
||||
if (table)
|
||||
{
|
||||
close_cached_table(thd,table); // Remove lock for table
|
||||
}
|
||||
VOID(pthread_mutex_unlock(&LOCK_open));
|
||||
goto err;
|
||||
}
|
||||
thd->in_lock_tables= 1;
|
||||
error= reopen_tables(thd, 1, 0);
|
||||
thd->in_lock_tables= 0;
|
||||
if (error)
|
||||
goto err_with_placeholders;
|
||||
}
|
||||
VOID(pthread_mutex_unlock(&LOCK_open));
|
||||
broadcast_refresh();
|
||||
|
||||
/*
|
||||
The ALTER TABLE is always in its own transaction.
|
||||
Commit must not be called while LOCK_open is locked. It could call
|
||||
|
@ -6803,6 +6680,8 @@ view_err:
|
|||
}
|
||||
thd->proc_info="end";
|
||||
|
||||
DBUG_EXECUTE_IF("sleep_alter_before_main_binlog", my_sleep(6000000););
|
||||
|
||||
ha_binlog_log_query(thd, create_info->db_type, LOGCOM_ALTER_TABLE,
|
||||
thd->query, thd->query_length,
|
||||
db, table_name);
|
||||
|
@ -6820,12 +6699,13 @@ view_err:
|
|||
shutdown.
|
||||
*/
|
||||
char path[FN_REFLEN];
|
||||
TABLE *t_table;
|
||||
build_table_filename(path, sizeof(path), new_db, table_name, "", 0);
|
||||
table=open_temporary_table(thd, path, new_db, tmp_name,0);
|
||||
if (table)
|
||||
t_table= open_temporary_table(thd, path, new_db, tmp_name, 0);
|
||||
if (t_table)
|
||||
{
|
||||
intern_close_table(table);
|
||||
my_free((char*) table, MYF(0));
|
||||
intern_close_table(t_table);
|
||||
my_free((char*) t_table, MYF(0));
|
||||
}
|
||||
else
|
||||
sql_print_warning("Could not open table %s.%s after rename\n",
|
||||
|
@ -6835,9 +6715,16 @@ view_err:
|
|||
table_list->table=0; // For query cache
|
||||
query_cache_invalidate3(thd, table_list, 0);
|
||||
|
||||
if (name_lock)
|
||||
if (thd->locked_tables && (new_name != table_name || new_db != db))
|
||||
{
|
||||
/*
|
||||
If are we under LOCK TABLES and did ALTER TABLE with RENAME we need
|
||||
to remove placeholders for the old table and for the target table
|
||||
from the list of open tables and table cache. If we are not under
|
||||
LOCK TABLES we can rely on close_thread_tables() doing this job.
|
||||
*/
|
||||
pthread_mutex_lock(&LOCK_open);
|
||||
unlink_open_table(thd, table, FALSE);
|
||||
unlink_open_table(thd, name_lock, FALSE);
|
||||
pthread_mutex_unlock(&LOCK_open);
|
||||
}
|
||||
|
@ -6868,6 +6755,18 @@ err:
|
|||
pthread_mutex_unlock(&LOCK_open);
|
||||
}
|
||||
DBUG_RETURN(TRUE);
|
||||
|
||||
err_with_placeholders:
|
||||
/*
|
||||
An error happened while we were holding exclusive name-lock on table
|
||||
being altered. To be safe under LOCK TABLES we should remove placeholders
|
||||
from list of open tables list and table cache.
|
||||
*/
|
||||
unlink_open_table(thd, table, FALSE);
|
||||
if (name_lock)
|
||||
unlink_open_table(thd, name_lock, FALSE);
|
||||
VOID(pthread_mutex_unlock(&LOCK_open));
|
||||
DBUG_RETURN(TRUE);
|
||||
}
|
||||
/* mysql_alter_table */
|
||||
|
||||
|
|
|
@ -508,7 +508,9 @@ Next alarm time: %lu\n",
|
|||
display_table_locks();
|
||||
fflush(stdout);
|
||||
my_checkmalloc();
|
||||
fprintf(stdout,"\nBegin safemalloc memory dump:\n"); // tag needed for test suite
|
||||
TERMINATE(stdout); // Write malloc information
|
||||
fprintf(stdout,"\nEnd safemalloc memory dump.\n");
|
||||
|
||||
#ifdef HAVE_MALLINFO
|
||||
struct mallinfo info= mallinfo();
|
||||
|
|
|
@ -1579,7 +1579,6 @@ create:
|
|||
lex->create_info.default_table_charset= NULL;
|
||||
lex->name.str= 0;
|
||||
lex->name.length= 0;
|
||||
lex->like_name= 0;
|
||||
}
|
||||
create2
|
||||
{
|
||||
|
@ -3603,27 +3602,15 @@ create2:
|
|||
create3 {}
|
||||
| LIKE table_ident
|
||||
{
|
||||
THD *thd= YYTHD;
|
||||
LEX *lex= thd->lex;
|
||||
if (!(lex->like_name= $2))
|
||||
Lex->create_info.options|= HA_LEX_CREATE_TABLE_LIKE;
|
||||
if (!Lex->select_lex.add_table_to_list(YYTHD, $2, NULL, 0, TL_READ))
|
||||
MYSQL_YYABORT;
|
||||
if ($2->db.str == NULL &&
|
||||
thd->copy_db_to(&($2->db.str), &($2->db.length)))
|
||||
{
|
||||
MYSQL_YYABORT;
|
||||
}
|
||||
}
|
||||
| '(' LIKE table_ident ')'
|
||||
{
|
||||
THD *thd= YYTHD;
|
||||
LEX *lex= thd->lex;
|
||||
if (!(lex->like_name= $3))
|
||||
Lex->create_info.options|= HA_LEX_CREATE_TABLE_LIKE;
|
||||
if (!Lex->select_lex.add_table_to_list(YYTHD, $3, NULL, 0, TL_READ))
|
||||
MYSQL_YYABORT;
|
||||
if ($3->db.str == NULL &&
|
||||
thd->copy_db_to(&($3->db.str), &($3->db.length)))
|
||||
{
|
||||
MYSQL_YYABORT;
|
||||
}
|
||||
}
|
||||
;
|
||||
|
||||
|
@ -5112,7 +5099,6 @@ alter:
|
|||
lex->key_list.empty();
|
||||
lex->col_list.empty();
|
||||
lex->select_lex.init_order();
|
||||
lex->like_name= 0;
|
||||
lex->select_lex.db=
|
||||
((TABLE_LIST*) lex->select_lex.table_list.first)->db;
|
||||
bzero((char*) &lex->create_info,sizeof(lex->create_info));
|
||||
|
|
|
@ -16073,6 +16073,27 @@ static void test_bug24179()
|
|||
}
|
||||
|
||||
|
||||
/*
|
||||
Bug#28075 "COM_DEBUG crashes mysqld"
|
||||
*/
|
||||
|
||||
static void test_bug28075()
|
||||
{
|
||||
int rc;
|
||||
|
||||
DBUG_ENTER("test_bug28075");
|
||||
myheader("test_bug28075");
|
||||
|
||||
rc= mysql_dump_debug_info(mysql);
|
||||
DIE_UNLESS(rc == 0);
|
||||
|
||||
rc= mysql_ping(mysql);
|
||||
DIE_UNLESS(rc == 0);
|
||||
|
||||
DBUG_VOID_RETURN;
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
Read and parse arguments and MySQL options from my.cnf
|
||||
*/
|
||||
|
@ -16357,6 +16378,7 @@ static struct my_tests_st my_tests[]= {
|
|||
{ "test_status", test_status },
|
||||
{ "test_bug24179", test_bug24179 },
|
||||
{ "test_ps_query_cache", test_ps_query_cache },
|
||||
{ "test_bug28075", test_bug28075 },
|
||||
{ 0, 0 }
|
||||
};
|
||||
|
||||
|
|
Loading…
Reference in a new issue