Merge bk-internal.mysql.com:/home/bk/mysql-5.1
into vajra.(none):/opt/local/work/mysql-5.1-runtime include/my_global.h: Auto merged mysql-test/include/mix1.inc: Auto merged mysql-test/r/innodb_mysql.result: Auto merged mysql-test/r/ps_2myisam.result: Auto merged mysql-test/r/ps_3innodb.result: Auto merged mysql-test/r/ps_4heap.result: Auto merged mysql-test/r/ps_5merge.result: Auto merged mysql-test/r/ps_7ndb.result: Auto merged mysql-test/r/type_date.result: Auto merged mysql-test/t/disabled.def: Auto merged mysql-test/t/type_date.test: Auto merged sql/filesort.cc: Auto merged sql/handler.cc: Auto merged sql/item_func.cc: Auto merged sql/item_func.h: Auto merged sql/mysql_priv.h: Auto merged sql/sql_base.cc: Auto merged sql/sql_select.cc: Auto merged sql/sql_table.cc: Auto merged
This commit is contained in:
commit
ee7088e730
@ -411,16 +411,7 @@ inline double ulonglong2double(ulonglong value)
|
|||||||
#ifdef __NT__ /* This should also work on Win98 but .. */
|
#ifdef __NT__ /* This should also work on Win98 but .. */
|
||||||
#define thread_safe_add(V,C,L) InterlockedExchangeAdd((long*) &(V),(C))
|
#define thread_safe_add(V,C,L) InterlockedExchangeAdd((long*) &(V),(C))
|
||||||
#define thread_safe_sub(V,C,L) InterlockedExchangeAdd((long*) &(V),-(long) (C))
|
#define thread_safe_sub(V,C,L) InterlockedExchangeAdd((long*) &(V),-(long) (C))
|
||||||
#define statistic_add(V,C,L) thread_safe_add((V),(C),(L))
|
|
||||||
#else
|
|
||||||
#define thread_safe_add(V,C,L) \
|
|
||||||
pthread_mutex_lock((L)); (V)+=(C); pthread_mutex_unlock((L));
|
|
||||||
#define thread_safe_sub(V,C,L) \
|
|
||||||
pthread_mutex_lock((L)); (V)-=(C); pthread_mutex_unlock((L));
|
|
||||||
#define statistic_add(V,C,L) (V)+=(C)
|
|
||||||
#endif
|
#endif
|
||||||
#define statistic_increment(V,L) thread_safe_increment((V),(L))
|
|
||||||
#define statistic_decrement(V,L) thread_safe_decrement((V),(L))
|
|
||||||
|
|
||||||
#define shared_memory_buffer_length 16000
|
#define shared_memory_buffer_length 16000
|
||||||
#define default_shared_memory_base_name "MYSQL"
|
#define default_shared_memory_base_name "MYSQL"
|
||||||
|
@ -441,17 +441,7 @@ C_MODE_END
|
|||||||
#ifdef HAVE_ALLOCA_H
|
#ifdef HAVE_ALLOCA_H
|
||||||
#include <alloca.h>
|
#include <alloca.h>
|
||||||
#endif
|
#endif
|
||||||
#ifdef HAVE_ATOMIC_ADD
|
|
||||||
#define new my_arg_new
|
|
||||||
#define need_to_restore_new 1
|
|
||||||
C_MODE_START
|
|
||||||
#include <asm/atomic.h>
|
|
||||||
C_MODE_END
|
|
||||||
#ifdef need_to_restore_new /* probably safer than #ifdef new */
|
|
||||||
#undef new
|
|
||||||
#undef need_to_restore_new
|
|
||||||
#endif
|
|
||||||
#endif
|
|
||||||
#include <errno.h> /* Recommended by debian */
|
#include <errno.h> /* Recommended by debian */
|
||||||
/* We need the following to go around a problem with openssl on solaris */
|
/* We need the following to go around a problem with openssl on solaris */
|
||||||
#if defined(HAVE_CRYPT_H)
|
#if defined(HAVE_CRYPT_H)
|
||||||
@ -1448,10 +1438,13 @@ do { doubleget_union _tmp; \
|
|||||||
|
|
||||||
#ifndef THREAD
|
#ifndef THREAD
|
||||||
#define thread_safe_increment(V,L) (V)++
|
#define thread_safe_increment(V,L) (V)++
|
||||||
|
#define thread_safe_decrement(V,L) (V)--
|
||||||
#define thread_safe_add(V,C,L) (V)+=(C)
|
#define thread_safe_add(V,C,L) (V)+=(C)
|
||||||
#define thread_safe_sub(V,C,L) (V)-=(C)
|
#define thread_safe_sub(V,C,L) (V)-=(C)
|
||||||
#define statistic_increment(V,L) (V)++
|
#define statistic_increment(V,L) (V)++
|
||||||
|
#define statistic_decrement(V,L) (V)--
|
||||||
#define statistic_add(V,C,L) (V)+=(C)
|
#define statistic_add(V,C,L) (V)+=(C)
|
||||||
|
#define statistic_sub(V,C,L) (V)-=(C)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef HAVE_CHARSET_utf8
|
#ifdef HAVE_CHARSET_utf8
|
||||||
|
@ -710,33 +710,68 @@ extern uint my_thread_end_wait_time;
|
|||||||
|
|
||||||
extern uint thd_lib_detected;
|
extern uint thd_lib_detected;
|
||||||
|
|
||||||
/* statistics_xxx functions are for not essential statistic */
|
/*
|
||||||
|
thread_safe_xxx functions are for critical statistic or counters.
|
||||||
|
The implementation is guaranteed to be thread safe, on all platforms.
|
||||||
|
Note that the calling code should *not* assume the counter is protected
|
||||||
|
by the mutex given, as the implementation of these helpers may change
|
||||||
|
to use my_atomic operations instead.
|
||||||
|
*/
|
||||||
|
|
||||||
|
/*
|
||||||
|
Warning:
|
||||||
|
When compiling without threads, this file is not included.
|
||||||
|
See the *other* declarations of thread_safe_xxx in include/my_global.h
|
||||||
|
|
||||||
|
Second warning:
|
||||||
|
See include/config-win.h, for yet another implementation.
|
||||||
|
*/
|
||||||
|
#ifdef THREAD
|
||||||
#ifndef thread_safe_increment
|
#ifndef thread_safe_increment
|
||||||
#ifdef HAVE_ATOMIC_ADD
|
|
||||||
#define thread_safe_increment(V,L) atomic_inc((atomic_t*) &V)
|
|
||||||
#define thread_safe_decrement(V,L) atomic_dec((atomic_t*) &V)
|
|
||||||
#define thread_safe_add(V,C,L) atomic_add((C),(atomic_t*) &V)
|
|
||||||
#define thread_safe_sub(V,C,L) atomic_sub((C),(atomic_t*) &V)
|
|
||||||
#else
|
|
||||||
#define thread_safe_increment(V,L) \
|
#define thread_safe_increment(V,L) \
|
||||||
(pthread_mutex_lock((L)), (V)++, pthread_mutex_unlock((L)))
|
(pthread_mutex_lock((L)), (V)++, pthread_mutex_unlock((L)))
|
||||||
#define thread_safe_decrement(V,L) \
|
#define thread_safe_decrement(V,L) \
|
||||||
(pthread_mutex_lock((L)), (V)--, pthread_mutex_unlock((L)))
|
(pthread_mutex_lock((L)), (V)--, pthread_mutex_unlock((L)))
|
||||||
#define thread_safe_add(V,C,L) (pthread_mutex_lock((L)), (V)+=(C), pthread_mutex_unlock((L)))
|
#endif
|
||||||
|
|
||||||
|
#ifndef thread_safe_add
|
||||||
|
#define thread_safe_add(V,C,L) \
|
||||||
|
(pthread_mutex_lock((L)), (V)+=(C), pthread_mutex_unlock((L)))
|
||||||
#define thread_safe_sub(V,C,L) \
|
#define thread_safe_sub(V,C,L) \
|
||||||
(pthread_mutex_lock((L)), (V)-=(C), pthread_mutex_unlock((L)))
|
(pthread_mutex_lock((L)), (V)-=(C), pthread_mutex_unlock((L)))
|
||||||
#endif /* HAVE_ATOMIC_ADD */
|
#endif
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/*
|
||||||
|
statistics_xxx functions are for non critical statistic,
|
||||||
|
maintained in global variables.
|
||||||
|
When compiling with SAFE_STATISTICS:
|
||||||
|
- race conditions can not occur.
|
||||||
|
- some locking occurs, which may cause performance degradation.
|
||||||
|
|
||||||
|
When compiling without SAFE_STATISTICS:
|
||||||
|
- race conditions can occur, making the result slightly inaccurate.
|
||||||
|
- the lock given is not honored.
|
||||||
|
*/
|
||||||
#ifdef SAFE_STATISTICS
|
#ifdef SAFE_STATISTICS
|
||||||
#define statistic_increment(V,L) thread_safe_increment((V),(L))
|
#define statistic_increment(V,L) thread_safe_increment((V),(L))
|
||||||
#define statistic_decrement(V,L) thread_safe_decrement((V),(L))
|
#define statistic_decrement(V,L) thread_safe_decrement((V),(L))
|
||||||
#define statistic_add(V,C,L) thread_safe_add((V),(C),(L))
|
#define statistic_add(V,C,L) thread_safe_add((V),(C),(L))
|
||||||
|
#define statistic_sub(V,C,L) thread_safe_sub((V),(C),(L))
|
||||||
#else
|
#else
|
||||||
#define statistic_decrement(V,L) (V)--
|
#define statistic_decrement(V,L) (V)--
|
||||||
#define statistic_increment(V,L) (V)++
|
#define statistic_increment(V,L) (V)++
|
||||||
#define statistic_add(V,C,L) (V)+=(C)
|
#define statistic_add(V,C,L) (V)+=(C)
|
||||||
|
#define statistic_sub(V,C,L) (V)-=(C)
|
||||||
#endif /* SAFE_STATISTICS */
|
#endif /* SAFE_STATISTICS */
|
||||||
#endif /* thread_safe_increment */
|
|
||||||
|
/*
|
||||||
|
No locking needed, the counter is owned by the thread
|
||||||
|
*/
|
||||||
|
#define status_var_increment(V) (V)++
|
||||||
|
#define status_var_decrement(V) (V)--
|
||||||
|
#define status_var_add(V,C) (V)+=(C)
|
||||||
|
#define status_var_sub(V,C) (V)-=(C)
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
}
|
}
|
||||||
|
@ -787,4 +787,33 @@ alter table t2 modify i int default 4, rename t1;
|
|||||||
unlock tables;
|
unlock tables;
|
||||||
drop table t1;
|
drop table t1;
|
||||||
|
|
||||||
|
|
||||||
|
#
|
||||||
|
# Some more tests for ALTER TABLE and LOCK TABLES for transactional tables.
|
||||||
|
#
|
||||||
|
# Table which is altered under LOCK TABLES should stay in list of locked
|
||||||
|
# tables and be available after alter takes place unless ALTER contains
|
||||||
|
# RENAME clause. We should see the new definition of table, of course.
|
||||||
|
# Before 5.1 this behavior was inconsistent across the platforms and
|
||||||
|
# different engines. See also tests in alter_table.test
|
||||||
|
#
|
||||||
|
--disable_warnings
|
||||||
|
drop table if exists t1;
|
||||||
|
--enable_warnings
|
||||||
|
create table t1 (i int);
|
||||||
|
insert into t1 values ();
|
||||||
|
lock table t1 write;
|
||||||
|
# Example of so-called 'fast' ALTER TABLE
|
||||||
|
alter table t1 modify i int default 1;
|
||||||
|
insert into t1 values ();
|
||||||
|
select * from t1;
|
||||||
|
# And now full-blown ALTER TABLE
|
||||||
|
alter table t1 change i c char(10) default "Two";
|
||||||
|
insert into t1 values ();
|
||||||
|
select * from t1;
|
||||||
|
unlock tables;
|
||||||
|
select * from t1;
|
||||||
|
drop tables t1;
|
||||||
|
|
||||||
|
|
||||||
--echo End of 5.1 tests
|
--echo End of 5.1 tests
|
||||||
|
@ -278,8 +278,19 @@ sub mtr_report_stats ($) {
|
|||||||
mtr_warning("can't read $errlog");
|
mtr_warning("can't read $errlog");
|
||||||
next;
|
next;
|
||||||
}
|
}
|
||||||
|
my $leak_reports_expected= undef;
|
||||||
while ( <ERR> )
|
while ( <ERR> )
|
||||||
{
|
{
|
||||||
|
# There is a test case that purposely provokes a
|
||||||
|
# SAFEMALLOC leak report, even though there is no actual
|
||||||
|
# leak. We need to detect this, and ignore the warning in
|
||||||
|
# that case.
|
||||||
|
if (/Begin safemalloc memory dump:/) {
|
||||||
|
$leak_reports_expected= 1;
|
||||||
|
} elsif (/End safemalloc memory dump./) {
|
||||||
|
$leak_reports_expected= undef;
|
||||||
|
}
|
||||||
|
|
||||||
# Skip some non fatal warnings from the log files
|
# Skip some non fatal warnings from the log files
|
||||||
if ( /Warning:\s+Table:.* on (delete|rename)/ or
|
if ( /Warning:\s+Table:.* on (delete|rename)/ or
|
||||||
/Warning:\s+Setting lower_case_table_names=2/ or
|
/Warning:\s+Setting lower_case_table_names=2/ or
|
||||||
@ -290,6 +301,9 @@ sub mtr_report_stats ($) {
|
|||||||
}
|
}
|
||||||
if ( /$pattern/ )
|
if ( /$pattern/ )
|
||||||
{
|
{
|
||||||
|
if ($leak_reports_expected) {
|
||||||
|
next;
|
||||||
|
}
|
||||||
$found_problems= 1;
|
$found_problems= 1;
|
||||||
print WARN $_;
|
print WARN $_;
|
||||||
}
|
}
|
||||||
|
@ -5,14 +5,53 @@ key (n2, n3, n1),
|
|||||||
key (n3, n1, n2));
|
key (n3, n1, n2));
|
||||||
create table t2 (i int);
|
create table t2 (i int);
|
||||||
alter table t1 disable keys;
|
alter table t1 disable keys;
|
||||||
|
insert into t1 values (RAND()*1000, RAND()*1000, RAND()*1000);
|
||||||
reset master;
|
reset master;
|
||||||
|
set session debug="+d,sleep_alter_enable_indexes";
|
||||||
alter table t1 enable keys;;
|
alter table t1 enable keys;;
|
||||||
insert into t2 values (1);
|
insert into t2 values (1);
|
||||||
insert into t1 values (1, 1, 1);
|
insert into t1 values (1, 1, 1);
|
||||||
show binlog events in 'master-bin.000001' from 102;
|
set session debug="-d,sleep_alter_enable_indexes";
|
||||||
|
show binlog events in 'master-bin.000001' from 106;
|
||||||
Log_name Pos Event_type Server_id End_log_pos Info
|
Log_name Pos Event_type Server_id End_log_pos Info
|
||||||
master-bin.000001 # Query 1 # use `test`; insert into t2 values (1)
|
master-bin.000001 # Query 1 # use `test`; insert into t2 values (1)
|
||||||
master-bin.000001 # Query 1 # use `test`; alter table t1 enable keys
|
master-bin.000001 # Query 1 # use `test`; alter table t1 enable keys
|
||||||
master-bin.000001 # Query 1 # use `test`; insert into t1 values (1, 1, 1)
|
master-bin.000001 # Query 1 # use `test`; insert into t1 values (1, 1, 1)
|
||||||
drop tables t1, t2;
|
drop tables t1, t2;
|
||||||
End of 5.0 tests
|
End of 5.0 tests
|
||||||
|
drop table if exists t1, t2, t3;
|
||||||
|
create table t1 (i int);
|
||||||
|
reset master;
|
||||||
|
set session debug="+d,sleep_alter_before_main_binlog";
|
||||||
|
alter table t1 change i c char(10) default 'Test1';;
|
||||||
|
insert into t1 values ();
|
||||||
|
select * from t1;
|
||||||
|
c
|
||||||
|
Test1
|
||||||
|
alter table t1 change c vc varchar(100) default 'Test2';;
|
||||||
|
rename table t1 to t2;
|
||||||
|
drop table t2;
|
||||||
|
create table t1 (i int);
|
||||||
|
alter table t1 change i c char(10) default 'Test3', rename to t2;;
|
||||||
|
insert into t2 values ();
|
||||||
|
select * from t2;
|
||||||
|
c
|
||||||
|
Test3
|
||||||
|
alter table t2 change c vc varchar(100) default 'Test2', rename to t1;;
|
||||||
|
rename table t1 to t3;
|
||||||
|
drop table t3;
|
||||||
|
set session debug="-d,sleep_alter_before_main_binlog";
|
||||||
|
show binlog events in 'master-bin.000001' from 106;
|
||||||
|
Log_name Pos Event_type Server_id End_log_pos Info
|
||||||
|
master-bin.000001 # Query 1 # use `test`; alter table t1 change i c char(10) default 'Test1'
|
||||||
|
master-bin.000001 # Query 1 # use `test`; insert into t1 values ()
|
||||||
|
master-bin.000001 # Query 1 # use `test`; alter table t1 change c vc varchar(100) default 'Test2'
|
||||||
|
master-bin.000001 # Query 1 # use `test`; rename table t1 to t2
|
||||||
|
master-bin.000001 # Query 1 # use `test`; drop table t2
|
||||||
|
master-bin.000001 # Query 1 # use `test`; create table t1 (i int)
|
||||||
|
master-bin.000001 # Query 1 # use `test`; alter table t1 change i c char(10) default 'Test3', rename to t2
|
||||||
|
master-bin.000001 # Query 1 # use `test`; insert into t2 values ()
|
||||||
|
master-bin.000001 # Query 1 # use `test`; alter table t2 change c vc varchar(100) default 'Test2', rename to t1
|
||||||
|
master-bin.000001 # Query 1 # use `test`; rename table t1 to t3
|
||||||
|
master-bin.000001 # Query 1 # use `test`; drop table t3
|
||||||
|
End of 5.1 tests
|
||||||
|
@ -977,6 +977,59 @@ SELECT * FROM t1;
|
|||||||
v b
|
v b
|
||||||
abc 5
|
abc 5
|
||||||
DROP TABLE t1;
|
DROP TABLE t1;
|
||||||
|
End of 5.0 tests
|
||||||
|
drop table if exists t1, t2, t3;
|
||||||
|
create table t1 (i int);
|
||||||
|
create table t3 (j int);
|
||||||
|
insert into t1 values ();
|
||||||
|
insert into t3 values ();
|
||||||
|
lock table t1 write, t3 read;
|
||||||
|
alter table t1 modify i int default 1;
|
||||||
|
insert into t1 values ();
|
||||||
|
select * from t1;
|
||||||
|
i
|
||||||
|
NULL
|
||||||
|
1
|
||||||
|
alter table t1 change i c char(10) default "Two";
|
||||||
|
insert into t1 values ();
|
||||||
|
select * from t1;
|
||||||
|
c
|
||||||
|
NULL
|
||||||
|
1
|
||||||
|
Two
|
||||||
|
alter table t1 modify c char(10) default "Three", rename to t2;
|
||||||
|
select * from t1;
|
||||||
|
ERROR HY000: Table 't1' was not locked with LOCK TABLES
|
||||||
|
select * from t2;
|
||||||
|
ERROR HY000: Table 't2' was not locked with LOCK TABLES
|
||||||
|
select * from t3;
|
||||||
|
j
|
||||||
|
NULL
|
||||||
|
unlock tables;
|
||||||
|
insert into t2 values ();
|
||||||
|
select * from t2;
|
||||||
|
c
|
||||||
|
NULL
|
||||||
|
1
|
||||||
|
Three
|
||||||
|
lock table t2 write, t3 read;
|
||||||
|
alter table t2 change c vc varchar(100) default "Four", rename to t1;
|
||||||
|
select * from t1;
|
||||||
|
ERROR HY000: Table 't1' was not locked with LOCK TABLES
|
||||||
|
select * from t2;
|
||||||
|
ERROR HY000: Table 't2' was not locked with LOCK TABLES
|
||||||
|
select * from t3;
|
||||||
|
j
|
||||||
|
NULL
|
||||||
|
unlock tables;
|
||||||
|
insert into t1 values ();
|
||||||
|
select * from t1;
|
||||||
|
vc
|
||||||
|
NULL
|
||||||
|
1
|
||||||
|
Three
|
||||||
|
Four
|
||||||
|
drop tables t1, t3;
|
||||||
DROP TABLE IF EXISTS `t+1`, `t+2`;
|
DROP TABLE IF EXISTS `t+1`, `t+2`;
|
||||||
CREATE TABLE `t+1` (c1 INT);
|
CREATE TABLE `t+1` (c1 INT);
|
||||||
ALTER TABLE `t+1` RENAME `t+2`;
|
ALTER TABLE `t+1` RENAME `t+2`;
|
||||||
|
@ -162,3 +162,86 @@ t1 CREATE TABLE `t1` (
|
|||||||
`j` int(11) DEFAULT NULL
|
`j` int(11) DEFAULT NULL
|
||||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||||
drop table t1, t2, t3;
|
drop table t1, t2, t3;
|
||||||
|
drop table if exists t1,t2;
|
||||||
|
create table t1 (i int);
|
||||||
|
set session debug="+d,sleep_create_like_before_check_if_exists";
|
||||||
|
reset master;
|
||||||
|
create table t2 like t1;;
|
||||||
|
insert into t1 values (1);
|
||||||
|
drop table t1;
|
||||||
|
show create table t2;
|
||||||
|
Table Create Table
|
||||||
|
t2 CREATE TABLE `t2` (
|
||||||
|
`i` int(11) DEFAULT NULL
|
||||||
|
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||||
|
drop table t2;
|
||||||
|
show binlog events in 'master-bin.000001' from 106;
|
||||||
|
Log_name Pos Event_type Server_id End_log_pos Info
|
||||||
|
master-bin.000001 # Query 1 # use `test`; insert into t1 values (1)
|
||||||
|
master-bin.000001 # Query 1 # use `test`; create table t2 like t1
|
||||||
|
master-bin.000001 # Query 1 # use `test`; drop table t1
|
||||||
|
master-bin.000001 # Query 1 # use `test`; drop table t2
|
||||||
|
create table t1 (i int);
|
||||||
|
set session debug="-d,sleep_create_like_before_check_if_exists:+d,sleep_create_like_before_copy";
|
||||||
|
create table t2 like t1;;
|
||||||
|
create table if not exists t2 (j int);
|
||||||
|
Warnings:
|
||||||
|
Note 1050 Table 't2' already exists
|
||||||
|
show create table t2;
|
||||||
|
Table Create Table
|
||||||
|
t2 CREATE TABLE `t2` (
|
||||||
|
`i` int(11) DEFAULT NULL
|
||||||
|
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||||
|
drop table t2;
|
||||||
|
reset master;
|
||||||
|
create table t2 like t1;;
|
||||||
|
drop table t1;
|
||||||
|
drop table t2;
|
||||||
|
show binlog events in 'master-bin.000001' from 106;
|
||||||
|
Log_name Pos Event_type Server_id End_log_pos Info
|
||||||
|
master-bin.000001 # Query 1 # use `test`; create table t2 like t1
|
||||||
|
master-bin.000001 # Query 1 # use `test`; drop table t1
|
||||||
|
master-bin.000001 # Query 1 # use `test`; drop table t2
|
||||||
|
create table t1 (i int);
|
||||||
|
set session debug="-d,sleep_create_like_before_copy:+d,sleep_create_like_before_ha_create";
|
||||||
|
reset master;
|
||||||
|
create table t2 like t1;;
|
||||||
|
insert into t2 values (1);
|
||||||
|
drop table t2;
|
||||||
|
create table t2 like t1;;
|
||||||
|
drop table t2;
|
||||||
|
create table t2 like t1;;
|
||||||
|
drop table t1;
|
||||||
|
drop table t2;
|
||||||
|
show binlog events in 'master-bin.000001' from 106;
|
||||||
|
Log_name Pos Event_type Server_id End_log_pos Info
|
||||||
|
master-bin.000001 # Query 1 # use `test`; create table t2 like t1
|
||||||
|
master-bin.000001 # Query 1 # use `test`; insert into t2 values (1)
|
||||||
|
master-bin.000001 # Query 1 # use `test`; drop table t2
|
||||||
|
master-bin.000001 # Query 1 # use `test`; create table t2 like t1
|
||||||
|
master-bin.000001 # Query 1 # use `test`; drop table t2
|
||||||
|
master-bin.000001 # Query 1 # use `test`; create table t2 like t1
|
||||||
|
master-bin.000001 # Query 1 # use `test`; drop table t1
|
||||||
|
master-bin.000001 # Query 1 # use `test`; drop table t2
|
||||||
|
create table t1 (i int);
|
||||||
|
set session debug="-d,sleep_create_like_before_ha_create:+d,sleep_create_like_before_binlogging";
|
||||||
|
reset master;
|
||||||
|
create table t2 like t1;;
|
||||||
|
insert into t2 values (1);
|
||||||
|
drop table t2;
|
||||||
|
create table t2 like t1;;
|
||||||
|
drop table t2;
|
||||||
|
create table t2 like t1;;
|
||||||
|
drop table t1;
|
||||||
|
drop table t2;
|
||||||
|
show binlog events in 'master-bin.000001' from 106;
|
||||||
|
Log_name Pos Event_type Server_id End_log_pos Info
|
||||||
|
master-bin.000001 # Query 1 # use `test`; create table t2 like t1
|
||||||
|
master-bin.000001 # Query 1 # use `test`; insert into t2 values (1)
|
||||||
|
master-bin.000001 # Query 1 # use `test`; drop table t2
|
||||||
|
master-bin.000001 # Query 1 # use `test`; create table t2 like t1
|
||||||
|
master-bin.000001 # Query 1 # use `test`; drop table t2
|
||||||
|
master-bin.000001 # Query 1 # use `test`; create table t2 like t1
|
||||||
|
master-bin.000001 # Query 1 # use `test`; drop table t1
|
||||||
|
master-bin.000001 # Query 1 # use `test`; drop table t2
|
||||||
|
set session debug="-d,sleep_create_like_before_binlogging";
|
@ -371,7 +371,7 @@ ERROR 42S01: Table 't3' already exists
|
|||||||
create table non_existing_database.t1 like t1;
|
create table non_existing_database.t1 like t1;
|
||||||
ERROR 42000: Unknown database 'non_existing_database'
|
ERROR 42000: Unknown database 'non_existing_database'
|
||||||
create table t3 like non_existing_table;
|
create table t3 like non_existing_table;
|
||||||
ERROR 42S02: Unknown table 'non_existing_table'
|
ERROR 42S02: Table 'test.non_existing_table' doesn't exist
|
||||||
create temporary table t3 like t1;
|
create temporary table t3 like t1;
|
||||||
ERROR 42S01: Table 't3' already exists
|
ERROR 42S01: Table 't3' already exists
|
||||||
drop table t1, t2, t3;
|
drop table t1, t2, t3;
|
||||||
|
@ -381,3 +381,27 @@ drop table t2;
|
|||||||
REVOKE ALL PRIVILEGES, GRANT OPTION FROM `a@`@localhost;
|
REVOKE ALL PRIVILEGES, GRANT OPTION FROM `a@`@localhost;
|
||||||
drop user `a@`@localhost;
|
drop user `a@`@localhost;
|
||||||
SET GLOBAL log_bin_trust_function_creators = 0;
|
SET GLOBAL log_bin_trust_function_creators = 0;
|
||||||
|
drop database if exists mysqltest_1;
|
||||||
|
drop database if exists mysqltest_2;
|
||||||
|
drop user mysqltest_u1@localhost;
|
||||||
|
create database mysqltest_1;
|
||||||
|
create database mysqltest_2;
|
||||||
|
grant all on mysqltest_1.* to mysqltest_u1@localhost;
|
||||||
|
use mysqltest_2;
|
||||||
|
create table t1 (i int);
|
||||||
|
show create table mysqltest_2.t1;
|
||||||
|
ERROR 42000: SELECT command denied to user 'mysqltest_u1'@'localhost' for table 't1'
|
||||||
|
create table t1 like mysqltest_2.t1;
|
||||||
|
ERROR 42000: SELECT command denied to user 'mysqltest_u1'@'localhost' for table 't1'
|
||||||
|
grant select on mysqltest_2.t1 to mysqltest_u1@localhost;
|
||||||
|
show create table mysqltest_2.t1;
|
||||||
|
Table Create Table
|
||||||
|
t1 CREATE TABLE `t1` (
|
||||||
|
`i` int(11) DEFAULT NULL
|
||||||
|
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||||
|
create table t1 like mysqltest_2.t1;
|
||||||
|
use test;
|
||||||
|
drop database mysqltest_1;
|
||||||
|
drop database mysqltest_2;
|
||||||
|
drop user mysqltest_u1@localhost;
|
||||||
|
End of 5.0 tests
|
||||||
|
@ -817,4 +817,28 @@ lock table t2 write;
|
|||||||
alter table t2 modify i int default 4, rename t1;
|
alter table t2 modify i int default 4, rename t1;
|
||||||
unlock tables;
|
unlock tables;
|
||||||
drop table t1;
|
drop table t1;
|
||||||
|
drop table if exists t1;
|
||||||
|
create table t1 (i int);
|
||||||
|
insert into t1 values ();
|
||||||
|
lock table t1 write;
|
||||||
|
alter table t1 modify i int default 1;
|
||||||
|
insert into t1 values ();
|
||||||
|
select * from t1;
|
||||||
|
i
|
||||||
|
NULL
|
||||||
|
1
|
||||||
|
alter table t1 change i c char(10) default "Two";
|
||||||
|
insert into t1 values ();
|
||||||
|
select * from t1;
|
||||||
|
c
|
||||||
|
NULL
|
||||||
|
1
|
||||||
|
Two
|
||||||
|
unlock tables;
|
||||||
|
select * from t1;
|
||||||
|
c
|
||||||
|
NULL
|
||||||
|
1
|
||||||
|
Two
|
||||||
|
drop tables t1;
|
||||||
End of 5.1 tests
|
End of 5.1 tests
|
||||||
|
@ -1917,38 +1917,38 @@ from t9 where c1= 1 ;
|
|||||||
1 1 1 1 1 1 1 1 1 1 1.0000 1.0000 2004-02-29 2004-02-29 11:11:11 2004-02-29 11:11:11 11:11:11 2004 1 1 a 123456789a 123456789a123456789b123456789c tinyblob tinytext blob text mediumblob mediumtext longblob longtext one monday
|
1 1 1 1 1 1 1 1 1 1 1.0000 1.0000 2004-02-29 2004-02-29 11:11:11 2004-02-29 11:11:11 11:11:11 2004 1 1 a 123456789a 123456789a123456789b123456789c tinyblob tinytext blob text mediumblob mediumtext longblob longtext one monday
|
||||||
execute full_info ;
|
execute full_info ;
|
||||||
Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
|
Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
|
||||||
def @arg01 253 20 1 Y 128 0 63
|
def @arg01 8 20 1 Y 32896 0 63
|
||||||
def @arg02 253 20 1 Y 128 0 63
|
def @arg02 8 20 1 Y 32896 0 63
|
||||||
def @arg03 253 20 1 Y 128 0 63
|
def @arg03 8 20 1 Y 32896 0 63
|
||||||
def @arg04 253 20 1 Y 128 0 63
|
def @arg04 8 20 1 Y 32896 0 63
|
||||||
def @arg05 253 20 1 Y 128 0 63
|
def @arg05 8 20 1 Y 32896 0 63
|
||||||
def @arg06 253 20 1 Y 128 0 63
|
def @arg06 8 20 1 Y 32896 0 63
|
||||||
def @arg07 253 23 1 Y 128 31 63
|
def @arg07 5 23 1 Y 32896 31 63
|
||||||
def @arg08 253 23 1 Y 128 31 63
|
def @arg08 5 23 1 Y 32896 31 63
|
||||||
def @arg09 253 23 1 Y 128 31 63
|
def @arg09 5 23 1 Y 32896 31 63
|
||||||
def @arg10 253 23 1 Y 128 31 63
|
def @arg10 5 23 1 Y 32896 31 63
|
||||||
def @arg11 253 67 6 Y 128 30 63
|
def @arg11 246 67 6 Y 128 30 63
|
||||||
def @arg12 253 67 6 Y 128 30 63
|
def @arg12 246 67 6 Y 128 30 63
|
||||||
def @arg13 253 16777216 10 Y 128 31 63
|
def @arg13 251 16777216 10 Y 128 31 63
|
||||||
def @arg14 253 16777216 19 Y 128 31 63
|
def @arg14 251 16777216 19 Y 128 31 63
|
||||||
def @arg15 253 16777216 19 Y 128 31 63
|
def @arg15 251 16777216 19 Y 128 31 63
|
||||||
def @arg16 253 16777216 8 Y 128 31 63
|
def @arg16 251 16777216 8 Y 128 31 63
|
||||||
def @arg17 253 20 4 Y 128 0 63
|
def @arg17 8 20 4 Y 32928 0 63
|
||||||
def @arg18 253 20 1 Y 128 0 63
|
def @arg18 8 20 1 Y 32896 0 63
|
||||||
def @arg19 253 20 1 Y 128 0 63
|
def @arg19 8 20 1 Y 32896 0 63
|
||||||
def @arg20 253 16777216 1 Y 0 31 8
|
def @arg20 251 16777216 1 Y 0 31 8
|
||||||
def @arg21 253 16777216 10 Y 0 31 8
|
def @arg21 251 16777216 10 Y 0 31 8
|
||||||
def @arg22 253 16777216 30 Y 0 31 8
|
def @arg22 251 16777216 30 Y 0 31 8
|
||||||
def @arg23 253 16777216 8 Y 128 31 63
|
def @arg23 251 16777216 8 Y 128 31 63
|
||||||
def @arg24 253 16777216 8 Y 0 31 8
|
def @arg24 251 16777216 8 Y 0 31 8
|
||||||
def @arg25 253 16777216 4 Y 128 31 63
|
def @arg25 251 16777216 4 Y 128 31 63
|
||||||
def @arg26 253 16777216 4 Y 0 31 8
|
def @arg26 251 16777216 4 Y 0 31 8
|
||||||
def @arg27 253 16777216 10 Y 128 31 63
|
def @arg27 251 16777216 10 Y 128 31 63
|
||||||
def @arg28 253 16777216 10 Y 0 31 8
|
def @arg28 251 16777216 10 Y 0 31 8
|
||||||
def @arg29 253 16777216 8 Y 128 31 63
|
def @arg29 251 16777216 8 Y 128 31 63
|
||||||
def @arg30 253 16777216 8 Y 0 31 8
|
def @arg30 251 16777216 8 Y 0 31 8
|
||||||
def @arg31 253 16777216 3 Y 0 31 8
|
def @arg31 251 16777216 3 Y 0 31 8
|
||||||
def @arg32 253 16777216 6 Y 0 31 8
|
def @arg32 251 16777216 6 Y 0 31 8
|
||||||
@arg01 @arg02 @arg03 @arg04 @arg05 @arg06 @arg07 @arg08 @arg09 @arg10 @arg11 @arg12 @arg13 @arg14 @arg15 @arg16 @arg17 @arg18 @arg19 @arg20 @arg21 @arg22 @arg23 @arg24 @arg25 @arg26 @arg27 @arg28 @arg29 @arg30 @arg31 @arg32
|
@arg01 @arg02 @arg03 @arg04 @arg05 @arg06 @arg07 @arg08 @arg09 @arg10 @arg11 @arg12 @arg13 @arg14 @arg15 @arg16 @arg17 @arg18 @arg19 @arg20 @arg21 @arg22 @arg23 @arg24 @arg25 @arg26 @arg27 @arg28 @arg29 @arg30 @arg31 @arg32
|
||||||
1 1 1 1 1 1 1 1 1 1 1.0000 1.0000 2004-02-29 2004-02-29 11:11:11 2004-02-29 11:11:11 11:11:11 2004 1 1 a 123456789a 123456789a123456789b123456789c tinyblob tinytext blob text mediumblob mediumtext longblob longtext one monday
|
1 1 1 1 1 1 1 1 1 1 1.0000 1.0000 2004-02-29 2004-02-29 11:11:11 2004-02-29 11:11:11 11:11:11 2004 1 1 a 123456789a 123456789a123456789b123456789c tinyblob tinytext blob text mediumblob mediumtext longblob longtext one monday
|
||||||
select @arg01:= c1, @arg02:= c2, @arg03:= c3, @arg04:= c4,
|
select @arg01:= c1, @arg02:= c2, @arg03:= c3, @arg04:= c4,
|
||||||
@ -1964,38 +1964,38 @@ from t9 where c1= 0 ;
|
|||||||
0 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 1991-01-01 01:01:01 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
|
0 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 1991-01-01 01:01:01 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
|
||||||
execute full_info ;
|
execute full_info ;
|
||||||
Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
|
Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
|
||||||
def @arg01 253 20 1 Y 128 0 63
|
def @arg01 8 20 1 Y 32896 0 63
|
||||||
def @arg02 253 20 0 Y 128 0 63
|
def @arg02 8 20 0 Y 32896 0 63
|
||||||
def @arg03 253 20 0 Y 128 0 63
|
def @arg03 8 20 0 Y 32896 0 63
|
||||||
def @arg04 253 20 0 Y 128 0 63
|
def @arg04 8 20 0 Y 32896 0 63
|
||||||
def @arg05 253 20 0 Y 128 0 63
|
def @arg05 8 20 0 Y 32896 0 63
|
||||||
def @arg06 253 20 0 Y 128 0 63
|
def @arg06 8 20 0 Y 32896 0 63
|
||||||
def @arg07 253 23 0 Y 128 31 63
|
def @arg07 5 23 0 Y 32896 31 63
|
||||||
def @arg08 253 23 0 Y 128 31 63
|
def @arg08 5 23 0 Y 32896 31 63
|
||||||
def @arg09 253 23 0 Y 128 31 63
|
def @arg09 5 23 0 Y 32896 31 63
|
||||||
def @arg10 253 23 0 Y 128 31 63
|
def @arg10 5 23 0 Y 32896 31 63
|
||||||
def @arg11 253 67 0 Y 128 30 63
|
def @arg11 246 67 0 Y 128 30 63
|
||||||
def @arg12 253 67 0 Y 128 30 63
|
def @arg12 246 67 0 Y 128 30 63
|
||||||
def @arg13 253 16777216 0 Y 128 31 63
|
def @arg13 251 16777216 0 Y 128 31 63
|
||||||
def @arg14 253 16777216 0 Y 128 31 63
|
def @arg14 251 16777216 0 Y 128 31 63
|
||||||
def @arg15 253 16777216 19 Y 128 31 63
|
def @arg15 251 16777216 19 Y 128 31 63
|
||||||
def @arg16 253 16777216 0 Y 128 31 63
|
def @arg16 251 16777216 0 Y 128 31 63
|
||||||
def @arg17 253 20 0 Y 128 0 63
|
def @arg17 8 20 0 Y 32928 0 63
|
||||||
def @arg18 253 20 0 Y 128 0 63
|
def @arg18 8 20 0 Y 32896 0 63
|
||||||
def @arg19 253 20 0 Y 128 0 63
|
def @arg19 8 20 0 Y 32896 0 63
|
||||||
def @arg20 253 16777216 0 Y 0 31 8
|
def @arg20 251 16777216 0 Y 0 31 8
|
||||||
def @arg21 253 16777216 0 Y 0 31 8
|
def @arg21 251 16777216 0 Y 0 31 8
|
||||||
def @arg22 253 16777216 0 Y 0 31 8
|
def @arg22 251 16777216 0 Y 0 31 8
|
||||||
def @arg23 253 16777216 0 Y 128 31 63
|
def @arg23 251 16777216 0 Y 128 31 63
|
||||||
def @arg24 253 16777216 0 Y 0 31 8
|
def @arg24 251 16777216 0 Y 0 31 8
|
||||||
def @arg25 253 16777216 0 Y 128 31 63
|
def @arg25 251 16777216 0 Y 128 31 63
|
||||||
def @arg26 253 16777216 0 Y 0 31 8
|
def @arg26 251 16777216 0 Y 0 31 8
|
||||||
def @arg27 253 16777216 0 Y 128 31 63
|
def @arg27 251 16777216 0 Y 128 31 63
|
||||||
def @arg28 253 16777216 0 Y 0 31 8
|
def @arg28 251 16777216 0 Y 0 31 8
|
||||||
def @arg29 253 16777216 0 Y 128 31 63
|
def @arg29 251 16777216 0 Y 128 31 63
|
||||||
def @arg30 253 16777216 0 Y 0 31 8
|
def @arg30 251 16777216 0 Y 0 31 8
|
||||||
def @arg31 253 16777216 0 Y 0 31 8
|
def @arg31 251 16777216 0 Y 0 31 8
|
||||||
def @arg32 253 16777216 0 Y 0 31 8
|
def @arg32 251 16777216 0 Y 0 31 8
|
||||||
@arg01 @arg02 @arg03 @arg04 @arg05 @arg06 @arg07 @arg08 @arg09 @arg10 @arg11 @arg12 @arg13 @arg14 @arg15 @arg16 @arg17 @arg18 @arg19 @arg20 @arg21 @arg22 @arg23 @arg24 @arg25 @arg26 @arg27 @arg28 @arg29 @arg30 @arg31 @arg32
|
@arg01 @arg02 @arg03 @arg04 @arg05 @arg06 @arg07 @arg08 @arg09 @arg10 @arg11 @arg12 @arg13 @arg14 @arg15 @arg16 @arg17 @arg18 @arg19 @arg20 @arg21 @arg22 @arg23 @arg24 @arg25 @arg26 @arg27 @arg28 @arg29 @arg30 @arg31 @arg32
|
||||||
0 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 1991-01-01 01:01:01 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
|
0 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 1991-01-01 01:01:01 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
|
||||||
prepare stmt1 from "select
|
prepare stmt1 from "select
|
||||||
@ -2014,38 +2014,38 @@ execute stmt1 using @my_key ;
|
|||||||
1 1 1 1 1 1 1 1 1 1 1.0000 1.0000 2004-02-29 2004-02-29 11:11:11 2004-02-29 11:11:11 11:11:11 2004 1 1 a 123456789a 123456789a123456789b123456789c tinyblob tinytext blob text mediumblob mediumtext longblob longtext one monday
|
1 1 1 1 1 1 1 1 1 1 1.0000 1.0000 2004-02-29 2004-02-29 11:11:11 2004-02-29 11:11:11 11:11:11 2004 1 1 a 123456789a 123456789a123456789b123456789c tinyblob tinytext blob text mediumblob mediumtext longblob longtext one monday
|
||||||
execute full_info ;
|
execute full_info ;
|
||||||
Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
|
Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
|
||||||
def @arg01 253 20 1 Y 128 0 63
|
def @arg01 8 20 1 Y 32896 0 63
|
||||||
def @arg02 253 20 1 Y 128 0 63
|
def @arg02 8 20 1 Y 32896 0 63
|
||||||
def @arg03 253 20 1 Y 128 0 63
|
def @arg03 8 20 1 Y 32896 0 63
|
||||||
def @arg04 253 20 1 Y 128 0 63
|
def @arg04 8 20 1 Y 32896 0 63
|
||||||
def @arg05 253 20 1 Y 128 0 63
|
def @arg05 8 20 1 Y 32896 0 63
|
||||||
def @arg06 253 20 1 Y 128 0 63
|
def @arg06 8 20 1 Y 32896 0 63
|
||||||
def @arg07 253 23 1 Y 128 31 63
|
def @arg07 5 23 1 Y 32896 31 63
|
||||||
def @arg08 253 23 1 Y 128 31 63
|
def @arg08 5 23 1 Y 32896 31 63
|
||||||
def @arg09 253 23 1 Y 128 31 63
|
def @arg09 5 23 1 Y 32896 31 63
|
||||||
def @arg10 253 23 1 Y 128 31 63
|
def @arg10 5 23 1 Y 32896 31 63
|
||||||
def @arg11 253 67 6 Y 128 30 63
|
def @arg11 246 67 6 Y 128 30 63
|
||||||
def @arg12 253 67 6 Y 128 30 63
|
def @arg12 246 67 6 Y 128 30 63
|
||||||
def @arg13 253 16777216 10 Y 128 31 63
|
def @arg13 251 16777216 10 Y 128 31 63
|
||||||
def @arg14 253 16777216 19 Y 128 31 63
|
def @arg14 251 16777216 19 Y 128 31 63
|
||||||
def @arg15 253 16777216 19 Y 128 31 63
|
def @arg15 251 16777216 19 Y 128 31 63
|
||||||
def @arg16 253 16777216 8 Y 128 31 63
|
def @arg16 251 16777216 8 Y 128 31 63
|
||||||
def @arg17 253 20 4 Y 128 0 63
|
def @arg17 8 20 4 Y 32928 0 63
|
||||||
def @arg18 253 20 1 Y 128 0 63
|
def @arg18 8 20 1 Y 32896 0 63
|
||||||
def @arg19 253 20 1 Y 128 0 63
|
def @arg19 8 20 1 Y 32896 0 63
|
||||||
def @arg20 253 16777216 1 Y 0 31 8
|
def @arg20 251 16777216 1 Y 0 31 8
|
||||||
def @arg21 253 16777216 10 Y 0 31 8
|
def @arg21 251 16777216 10 Y 0 31 8
|
||||||
def @arg22 253 16777216 30 Y 0 31 8
|
def @arg22 251 16777216 30 Y 0 31 8
|
||||||
def @arg23 253 16777216 8 Y 128 31 63
|
def @arg23 251 16777216 8 Y 128 31 63
|
||||||
def @arg24 253 16777216 8 Y 0 31 8
|
def @arg24 251 16777216 8 Y 0 31 8
|
||||||
def @arg25 253 16777216 4 Y 128 31 63
|
def @arg25 251 16777216 4 Y 128 31 63
|
||||||
def @arg26 253 16777216 4 Y 0 31 8
|
def @arg26 251 16777216 4 Y 0 31 8
|
||||||
def @arg27 253 16777216 10 Y 128 31 63
|
def @arg27 251 16777216 10 Y 128 31 63
|
||||||
def @arg28 253 16777216 10 Y 0 31 8
|
def @arg28 251 16777216 10 Y 0 31 8
|
||||||
def @arg29 253 16777216 8 Y 128 31 63
|
def @arg29 251 16777216 8 Y 128 31 63
|
||||||
def @arg30 253 16777216 8 Y 0 31 8
|
def @arg30 251 16777216 8 Y 0 31 8
|
||||||
def @arg31 253 16777216 3 Y 0 31 8
|
def @arg31 251 16777216 3 Y 0 31 8
|
||||||
def @arg32 253 16777216 6 Y 0 31 8
|
def @arg32 251 16777216 6 Y 0 31 8
|
||||||
@arg01 @arg02 @arg03 @arg04 @arg05 @arg06 @arg07 @arg08 @arg09 @arg10 @arg11 @arg12 @arg13 @arg14 @arg15 @arg16 @arg17 @arg18 @arg19 @arg20 @arg21 @arg22 @arg23 @arg24 @arg25 @arg26 @arg27 @arg28 @arg29 @arg30 @arg31 @arg32
|
@arg01 @arg02 @arg03 @arg04 @arg05 @arg06 @arg07 @arg08 @arg09 @arg10 @arg11 @arg12 @arg13 @arg14 @arg15 @arg16 @arg17 @arg18 @arg19 @arg20 @arg21 @arg22 @arg23 @arg24 @arg25 @arg26 @arg27 @arg28 @arg29 @arg30 @arg31 @arg32
|
||||||
1 1 1 1 1 1 1 1 1 1 1.0000 1.0000 2004-02-29 2004-02-29 11:11:11 2004-02-29 11:11:11 11:11:11 2004 1 1 a 123456789a 123456789a123456789b123456789c tinyblob tinytext blob text mediumblob mediumtext longblob longtext one monday
|
1 1 1 1 1 1 1 1 1 1 1.0000 1.0000 2004-02-29 2004-02-29 11:11:11 2004-02-29 11:11:11 11:11:11 2004 1 1 a 123456789a 123456789a123456789b123456789c tinyblob tinytext blob text mediumblob mediumtext longblob longtext one monday
|
||||||
set @my_key= 0 ;
|
set @my_key= 0 ;
|
||||||
@ -2054,38 +2054,38 @@ execute stmt1 using @my_key ;
|
|||||||
0 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 1991-01-01 01:01:01 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
|
0 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 1991-01-01 01:01:01 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
|
||||||
execute full_info ;
|
execute full_info ;
|
||||||
Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
|
Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
|
||||||
def @arg01 253 20 1 Y 128 0 63
|
def @arg01 8 20 1 Y 32896 0 63
|
||||||
def @arg02 253 20 0 Y 128 0 63
|
def @arg02 8 20 0 Y 32896 0 63
|
||||||
def @arg03 253 20 0 Y 128 0 63
|
def @arg03 8 20 0 Y 32896 0 63
|
||||||
def @arg04 253 20 0 Y 128 0 63
|
def @arg04 8 20 0 Y 32896 0 63
|
||||||
def @arg05 253 20 0 Y 128 0 63
|
def @arg05 8 20 0 Y 32896 0 63
|
||||||
def @arg06 253 20 0 Y 128 0 63
|
def @arg06 8 20 0 Y 32896 0 63
|
||||||
def @arg07 253 23 0 Y 128 31 63
|
def @arg07 5 23 0 Y 32896 31 63
|
||||||
def @arg08 253 23 0 Y 128 31 63
|
def @arg08 5 23 0 Y 32896 31 63
|
||||||
def @arg09 253 23 0 Y 128 31 63
|
def @arg09 5 23 0 Y 32896 31 63
|
||||||
def @arg10 253 23 0 Y 128 31 63
|
def @arg10 5 23 0 Y 32896 31 63
|
||||||
def @arg11 253 67 0 Y 128 30 63
|
def @arg11 246 67 0 Y 128 30 63
|
||||||
def @arg12 253 67 0 Y 128 30 63
|
def @arg12 246 67 0 Y 128 30 63
|
||||||
def @arg13 253 16777216 0 Y 128 31 63
|
def @arg13 251 16777216 0 Y 128 31 63
|
||||||
def @arg14 253 16777216 0 Y 128 31 63
|
def @arg14 251 16777216 0 Y 128 31 63
|
||||||
def @arg15 253 16777216 19 Y 128 31 63
|
def @arg15 251 16777216 19 Y 128 31 63
|
||||||
def @arg16 253 16777216 0 Y 128 31 63
|
def @arg16 251 16777216 0 Y 128 31 63
|
||||||
def @arg17 253 20 0 Y 128 0 63
|
def @arg17 8 20 0 Y 32928 0 63
|
||||||
def @arg18 253 20 0 Y 128 0 63
|
def @arg18 8 20 0 Y 32896 0 63
|
||||||
def @arg19 253 20 0 Y 128 0 63
|
def @arg19 8 20 0 Y 32896 0 63
|
||||||
def @arg20 253 16777216 0 Y 0 31 8
|
def @arg20 251 16777216 0 Y 0 31 8
|
||||||
def @arg21 253 16777216 0 Y 0 31 8
|
def @arg21 251 16777216 0 Y 0 31 8
|
||||||
def @arg22 253 16777216 0 Y 0 31 8
|
def @arg22 251 16777216 0 Y 0 31 8
|
||||||
def @arg23 253 16777216 0 Y 128 31 63
|
def @arg23 251 16777216 0 Y 128 31 63
|
||||||
def @arg24 253 16777216 0 Y 0 31 8
|
def @arg24 251 16777216 0 Y 0 31 8
|
||||||
def @arg25 253 16777216 0 Y 128 31 63
|
def @arg25 251 16777216 0 Y 128 31 63
|
||||||
def @arg26 253 16777216 0 Y 0 31 8
|
def @arg26 251 16777216 0 Y 0 31 8
|
||||||
def @arg27 253 16777216 0 Y 128 31 63
|
def @arg27 251 16777216 0 Y 128 31 63
|
||||||
def @arg28 253 16777216 0 Y 0 31 8
|
def @arg28 251 16777216 0 Y 0 31 8
|
||||||
def @arg29 253 16777216 0 Y 128 31 63
|
def @arg29 251 16777216 0 Y 128 31 63
|
||||||
def @arg30 253 16777216 0 Y 0 31 8
|
def @arg30 251 16777216 0 Y 0 31 8
|
||||||
def @arg31 253 16777216 0 Y 0 31 8
|
def @arg31 251 16777216 0 Y 0 31 8
|
||||||
def @arg32 253 16777216 0 Y 0 31 8
|
def @arg32 251 16777216 0 Y 0 31 8
|
||||||
@arg01 @arg02 @arg03 @arg04 @arg05 @arg06 @arg07 @arg08 @arg09 @arg10 @arg11 @arg12 @arg13 @arg14 @arg15 @arg16 @arg17 @arg18 @arg19 @arg20 @arg21 @arg22 @arg23 @arg24 @arg25 @arg26 @arg27 @arg28 @arg29 @arg30 @arg31 @arg32
|
@arg01 @arg02 @arg03 @arg04 @arg05 @arg06 @arg07 @arg08 @arg09 @arg10 @arg11 @arg12 @arg13 @arg14 @arg15 @arg16 @arg17 @arg18 @arg19 @arg20 @arg21 @arg22 @arg23 @arg24 @arg25 @arg26 @arg27 @arg28 @arg29 @arg30 @arg31 @arg32
|
||||||
0 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 1991-01-01 01:01:01 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
|
0 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 1991-01-01 01:01:01 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
|
||||||
prepare stmt1 from "select ? := c1 from t9 where c1= 1" ;
|
prepare stmt1 from "select ? := c1 from t9 where c1= 1" ;
|
||||||
@ -2102,38 +2102,38 @@ into @arg01, @arg02, @arg03, @arg04, @arg05, @arg06, @arg07, @arg08,
|
|||||||
from t9 where c1= 1 ;
|
from t9 where c1= 1 ;
|
||||||
execute full_info ;
|
execute full_info ;
|
||||||
Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
|
Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
|
||||||
def @arg01 253 20 1 Y 128 0 63
|
def @arg01 8 20 1 Y 32896 0 63
|
||||||
def @arg02 253 20 1 Y 128 0 63
|
def @arg02 8 20 1 Y 32896 0 63
|
||||||
def @arg03 253 20 1 Y 128 0 63
|
def @arg03 8 20 1 Y 32896 0 63
|
||||||
def @arg04 253 20 1 Y 128 0 63
|
def @arg04 8 20 1 Y 32896 0 63
|
||||||
def @arg05 253 20 1 Y 128 0 63
|
def @arg05 8 20 1 Y 32896 0 63
|
||||||
def @arg06 253 20 1 Y 128 0 63
|
def @arg06 8 20 1 Y 32896 0 63
|
||||||
def @arg07 253 23 1 Y 128 31 63
|
def @arg07 5 23 1 Y 32896 31 63
|
||||||
def @arg08 253 23 1 Y 128 31 63
|
def @arg08 5 23 1 Y 32896 31 63
|
||||||
def @arg09 253 23 1 Y 128 31 63
|
def @arg09 5 23 1 Y 32896 31 63
|
||||||
def @arg10 253 23 1 Y 128 31 63
|
def @arg10 5 23 1 Y 32896 31 63
|
||||||
def @arg11 253 67 6 Y 128 30 63
|
def @arg11 246 67 6 Y 128 30 63
|
||||||
def @arg12 253 67 6 Y 128 30 63
|
def @arg12 246 67 6 Y 128 30 63
|
||||||
def @arg13 253 16777216 10 Y 128 31 63
|
def @arg13 251 16777216 10 Y 128 31 63
|
||||||
def @arg14 253 16777216 19 Y 128 31 63
|
def @arg14 251 16777216 19 Y 128 31 63
|
||||||
def @arg15 253 16777216 19 Y 128 31 63
|
def @arg15 251 16777216 19 Y 128 31 63
|
||||||
def @arg16 253 16777216 8 Y 128 31 63
|
def @arg16 251 16777216 8 Y 128 31 63
|
||||||
def @arg17 253 20 4 Y 128 0 63
|
def @arg17 8 20 4 Y 32928 0 63
|
||||||
def @arg18 253 20 1 Y 128 0 63
|
def @arg18 8 20 1 Y 32896 0 63
|
||||||
def @arg19 253 20 1 Y 128 0 63
|
def @arg19 8 20 1 Y 32896 0 63
|
||||||
def @arg20 253 16777216 1 Y 0 31 8
|
def @arg20 251 16777216 1 Y 0 31 8
|
||||||
def @arg21 253 16777216 10 Y 0 31 8
|
def @arg21 251 16777216 10 Y 0 31 8
|
||||||
def @arg22 253 16777216 30 Y 0 31 8
|
def @arg22 251 16777216 30 Y 0 31 8
|
||||||
def @arg23 253 16777216 8 Y 128 31 63
|
def @arg23 251 16777216 8 Y 128 31 63
|
||||||
def @arg24 253 16777216 8 Y 0 31 8
|
def @arg24 251 16777216 8 Y 0 31 8
|
||||||
def @arg25 253 16777216 4 Y 128 31 63
|
def @arg25 251 16777216 4 Y 128 31 63
|
||||||
def @arg26 253 16777216 4 Y 0 31 8
|
def @arg26 251 16777216 4 Y 0 31 8
|
||||||
def @arg27 253 16777216 10 Y 128 31 63
|
def @arg27 251 16777216 10 Y 128 31 63
|
||||||
def @arg28 253 16777216 10 Y 0 31 8
|
def @arg28 251 16777216 10 Y 0 31 8
|
||||||
def @arg29 253 16777216 8 Y 128 31 63
|
def @arg29 251 16777216 8 Y 128 31 63
|
||||||
def @arg30 253 16777216 8 Y 0 31 8
|
def @arg30 251 16777216 8 Y 0 31 8
|
||||||
def @arg31 253 16777216 3 Y 0 31 8
|
def @arg31 251 16777216 3 Y 0 31 8
|
||||||
def @arg32 253 16777216 6 Y 0 31 8
|
def @arg32 251 16777216 6 Y 0 31 8
|
||||||
@arg01 @arg02 @arg03 @arg04 @arg05 @arg06 @arg07 @arg08 @arg09 @arg10 @arg11 @arg12 @arg13 @arg14 @arg15 @arg16 @arg17 @arg18 @arg19 @arg20 @arg21 @arg22 @arg23 @arg24 @arg25 @arg26 @arg27 @arg28 @arg29 @arg30 @arg31 @arg32
|
@arg01 @arg02 @arg03 @arg04 @arg05 @arg06 @arg07 @arg08 @arg09 @arg10 @arg11 @arg12 @arg13 @arg14 @arg15 @arg16 @arg17 @arg18 @arg19 @arg20 @arg21 @arg22 @arg23 @arg24 @arg25 @arg26 @arg27 @arg28 @arg29 @arg30 @arg31 @arg32
|
||||||
1 1 1 1 1 1 1 1 1 1 1.0000 1.0000 2004-02-29 2004-02-29 11:11:11 2004-02-29 11:11:11 11:11:11 2004 1 1 a 123456789a 123456789a123456789b123456789c tinyblob tinytext blob text mediumblob mediumtext longblob longtext one monday
|
1 1 1 1 1 1 1 1 1 1 1.0000 1.0000 2004-02-29 2004-02-29 11:11:11 2004-02-29 11:11:11 11:11:11 2004 1 1 a 123456789a 123456789a123456789b123456789c tinyblob tinytext blob text mediumblob mediumtext longblob longtext one monday
|
||||||
select c1, c2, c3, c4, c5, c6, c7, c8, c9, c10, c11, c12,
|
select c1, c2, c3, c4, c5, c6, c7, c8, c9, c10, c11, c12,
|
||||||
@ -2146,38 +2146,38 @@ into @arg01, @arg02, @arg03, @arg04, @arg05, @arg06, @arg07, @arg08,
|
|||||||
from t9 where c1= 0 ;
|
from t9 where c1= 0 ;
|
||||||
execute full_info ;
|
execute full_info ;
|
||||||
Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
|
Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
|
||||||
def @arg01 253 20 1 Y 128 0 63
|
def @arg01 8 20 1 Y 32896 0 63
|
||||||
def @arg02 253 20 0 Y 128 0 63
|
def @arg02 8 20 0 Y 32896 0 63
|
||||||
def @arg03 253 20 0 Y 128 0 63
|
def @arg03 8 20 0 Y 32896 0 63
|
||||||
def @arg04 253 20 0 Y 128 0 63
|
def @arg04 8 20 0 Y 32896 0 63
|
||||||
def @arg05 253 20 0 Y 128 0 63
|
def @arg05 8 20 0 Y 32896 0 63
|
||||||
def @arg06 253 20 0 Y 128 0 63
|
def @arg06 8 20 0 Y 32896 0 63
|
||||||
def @arg07 253 23 0 Y 128 31 63
|
def @arg07 5 23 0 Y 32896 31 63
|
||||||
def @arg08 253 23 0 Y 128 31 63
|
def @arg08 5 23 0 Y 32896 31 63
|
||||||
def @arg09 253 23 0 Y 128 31 63
|
def @arg09 5 23 0 Y 32896 31 63
|
||||||
def @arg10 253 23 0 Y 128 31 63
|
def @arg10 5 23 0 Y 32896 31 63
|
||||||
def @arg11 253 67 0 Y 128 30 63
|
def @arg11 246 67 0 Y 128 30 63
|
||||||
def @arg12 253 67 0 Y 128 30 63
|
def @arg12 246 67 0 Y 128 30 63
|
||||||
def @arg13 253 16777216 0 Y 128 31 63
|
def @arg13 251 16777216 0 Y 128 31 63
|
||||||
def @arg14 253 16777216 0 Y 128 31 63
|
def @arg14 251 16777216 0 Y 128 31 63
|
||||||
def @arg15 253 16777216 19 Y 128 31 63
|
def @arg15 251 16777216 19 Y 128 31 63
|
||||||
def @arg16 253 16777216 0 Y 128 31 63
|
def @arg16 251 16777216 0 Y 128 31 63
|
||||||
def @arg17 253 20 0 Y 128 0 63
|
def @arg17 8 20 0 Y 32928 0 63
|
||||||
def @arg18 253 20 0 Y 128 0 63
|
def @arg18 8 20 0 Y 32896 0 63
|
||||||
def @arg19 253 20 0 Y 128 0 63
|
def @arg19 8 20 0 Y 32896 0 63
|
||||||
def @arg20 253 16777216 0 Y 0 31 8
|
def @arg20 251 16777216 0 Y 0 31 8
|
||||||
def @arg21 253 16777216 0 Y 0 31 8
|
def @arg21 251 16777216 0 Y 0 31 8
|
||||||
def @arg22 253 16777216 0 Y 0 31 8
|
def @arg22 251 16777216 0 Y 0 31 8
|
||||||
def @arg23 253 16777216 0 Y 128 31 63
|
def @arg23 251 16777216 0 Y 128 31 63
|
||||||
def @arg24 253 16777216 0 Y 0 31 8
|
def @arg24 251 16777216 0 Y 0 31 8
|
||||||
def @arg25 253 16777216 0 Y 128 31 63
|
def @arg25 251 16777216 0 Y 128 31 63
|
||||||
def @arg26 253 16777216 0 Y 0 31 8
|
def @arg26 251 16777216 0 Y 0 31 8
|
||||||
def @arg27 253 16777216 0 Y 128 31 63
|
def @arg27 251 16777216 0 Y 128 31 63
|
||||||
def @arg28 253 16777216 0 Y 0 31 8
|
def @arg28 251 16777216 0 Y 0 31 8
|
||||||
def @arg29 253 16777216 0 Y 128 31 63
|
def @arg29 251 16777216 0 Y 128 31 63
|
||||||
def @arg30 253 16777216 0 Y 0 31 8
|
def @arg30 251 16777216 0 Y 0 31 8
|
||||||
def @arg31 253 16777216 0 Y 0 31 8
|
def @arg31 251 16777216 0 Y 0 31 8
|
||||||
def @arg32 253 16777216 0 Y 0 31 8
|
def @arg32 251 16777216 0 Y 0 31 8
|
||||||
@arg01 @arg02 @arg03 @arg04 @arg05 @arg06 @arg07 @arg08 @arg09 @arg10 @arg11 @arg12 @arg13 @arg14 @arg15 @arg16 @arg17 @arg18 @arg19 @arg20 @arg21 @arg22 @arg23 @arg24 @arg25 @arg26 @arg27 @arg28 @arg29 @arg30 @arg31 @arg32
|
@arg01 @arg02 @arg03 @arg04 @arg05 @arg06 @arg07 @arg08 @arg09 @arg10 @arg11 @arg12 @arg13 @arg14 @arg15 @arg16 @arg17 @arg18 @arg19 @arg20 @arg21 @arg22 @arg23 @arg24 @arg25 @arg26 @arg27 @arg28 @arg29 @arg30 @arg31 @arg32
|
||||||
0 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 1991-01-01 01:01:01 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
|
0 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 1991-01-01 01:01:01 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
|
||||||
prepare stmt1 from "select c1, c2, c3, c4, c5, c6, c7, c8, c9, c10, c11, c12,
|
prepare stmt1 from "select c1, c2, c3, c4, c5, c6, c7, c8, c9, c10, c11, c12,
|
||||||
@ -2192,76 +2192,76 @@ set @my_key= 1 ;
|
|||||||
execute stmt1 using @my_key ;
|
execute stmt1 using @my_key ;
|
||||||
execute full_info ;
|
execute full_info ;
|
||||||
Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
|
Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
|
||||||
def @arg01 253 20 1 Y 128 0 63
|
def @arg01 8 20 1 Y 32896 0 63
|
||||||
def @arg02 253 20 1 Y 128 0 63
|
def @arg02 8 20 1 Y 32896 0 63
|
||||||
def @arg03 253 20 1 Y 128 0 63
|
def @arg03 8 20 1 Y 32896 0 63
|
||||||
def @arg04 253 20 1 Y 128 0 63
|
def @arg04 8 20 1 Y 32896 0 63
|
||||||
def @arg05 253 20 1 Y 128 0 63
|
def @arg05 8 20 1 Y 32896 0 63
|
||||||
def @arg06 253 20 1 Y 128 0 63
|
def @arg06 8 20 1 Y 32896 0 63
|
||||||
def @arg07 253 23 1 Y 128 31 63
|
def @arg07 5 23 1 Y 32896 31 63
|
||||||
def @arg08 253 23 1 Y 128 31 63
|
def @arg08 5 23 1 Y 32896 31 63
|
||||||
def @arg09 253 23 1 Y 128 31 63
|
def @arg09 5 23 1 Y 32896 31 63
|
||||||
def @arg10 253 23 1 Y 128 31 63
|
def @arg10 5 23 1 Y 32896 31 63
|
||||||
def @arg11 253 67 6 Y 128 30 63
|
def @arg11 246 67 6 Y 128 30 63
|
||||||
def @arg12 253 67 6 Y 128 30 63
|
def @arg12 246 67 6 Y 128 30 63
|
||||||
def @arg13 253 16777216 10 Y 128 31 63
|
def @arg13 251 16777216 10 Y 128 31 63
|
||||||
def @arg14 253 16777216 19 Y 128 31 63
|
def @arg14 251 16777216 19 Y 128 31 63
|
||||||
def @arg15 253 16777216 19 Y 128 31 63
|
def @arg15 251 16777216 19 Y 128 31 63
|
||||||
def @arg16 253 16777216 8 Y 128 31 63
|
def @arg16 251 16777216 8 Y 128 31 63
|
||||||
def @arg17 253 20 4 Y 128 0 63
|
def @arg17 8 20 4 Y 32928 0 63
|
||||||
def @arg18 253 20 1 Y 128 0 63
|
def @arg18 8 20 1 Y 32896 0 63
|
||||||
def @arg19 253 20 1 Y 128 0 63
|
def @arg19 8 20 1 Y 32896 0 63
|
||||||
def @arg20 253 16777216 1 Y 0 31 8
|
def @arg20 251 16777216 1 Y 0 31 8
|
||||||
def @arg21 253 16777216 10 Y 0 31 8
|
def @arg21 251 16777216 10 Y 0 31 8
|
||||||
def @arg22 253 16777216 30 Y 0 31 8
|
def @arg22 251 16777216 30 Y 0 31 8
|
||||||
def @arg23 253 16777216 8 Y 128 31 63
|
def @arg23 251 16777216 8 Y 128 31 63
|
||||||
def @arg24 253 16777216 8 Y 0 31 8
|
def @arg24 251 16777216 8 Y 0 31 8
|
||||||
def @arg25 253 16777216 4 Y 128 31 63
|
def @arg25 251 16777216 4 Y 128 31 63
|
||||||
def @arg26 253 16777216 4 Y 0 31 8
|
def @arg26 251 16777216 4 Y 0 31 8
|
||||||
def @arg27 253 16777216 10 Y 128 31 63
|
def @arg27 251 16777216 10 Y 128 31 63
|
||||||
def @arg28 253 16777216 10 Y 0 31 8
|
def @arg28 251 16777216 10 Y 0 31 8
|
||||||
def @arg29 253 16777216 8 Y 128 31 63
|
def @arg29 251 16777216 8 Y 128 31 63
|
||||||
def @arg30 253 16777216 8 Y 0 31 8
|
def @arg30 251 16777216 8 Y 0 31 8
|
||||||
def @arg31 253 16777216 3 Y 0 31 8
|
def @arg31 251 16777216 3 Y 0 31 8
|
||||||
def @arg32 253 16777216 6 Y 0 31 8
|
def @arg32 251 16777216 6 Y 0 31 8
|
||||||
@arg01 @arg02 @arg03 @arg04 @arg05 @arg06 @arg07 @arg08 @arg09 @arg10 @arg11 @arg12 @arg13 @arg14 @arg15 @arg16 @arg17 @arg18 @arg19 @arg20 @arg21 @arg22 @arg23 @arg24 @arg25 @arg26 @arg27 @arg28 @arg29 @arg30 @arg31 @arg32
|
@arg01 @arg02 @arg03 @arg04 @arg05 @arg06 @arg07 @arg08 @arg09 @arg10 @arg11 @arg12 @arg13 @arg14 @arg15 @arg16 @arg17 @arg18 @arg19 @arg20 @arg21 @arg22 @arg23 @arg24 @arg25 @arg26 @arg27 @arg28 @arg29 @arg30 @arg31 @arg32
|
||||||
1 1 1 1 1 1 1 1 1 1 1.0000 1.0000 2004-02-29 2004-02-29 11:11:11 2004-02-29 11:11:11 11:11:11 2004 1 1 a 123456789a 123456789a123456789b123456789c tinyblob tinytext blob text mediumblob mediumtext longblob longtext one monday
|
1 1 1 1 1 1 1 1 1 1 1.0000 1.0000 2004-02-29 2004-02-29 11:11:11 2004-02-29 11:11:11 11:11:11 2004 1 1 a 123456789a 123456789a123456789b123456789c tinyblob tinytext blob text mediumblob mediumtext longblob longtext one monday
|
||||||
set @my_key= 0 ;
|
set @my_key= 0 ;
|
||||||
execute stmt1 using @my_key ;
|
execute stmt1 using @my_key ;
|
||||||
execute full_info ;
|
execute full_info ;
|
||||||
Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
|
Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
|
||||||
def @arg01 253 20 1 Y 128 0 63
|
def @arg01 8 20 1 Y 32896 0 63
|
||||||
def @arg02 253 20 0 Y 128 0 63
|
def @arg02 8 20 0 Y 32896 0 63
|
||||||
def @arg03 253 20 0 Y 128 0 63
|
def @arg03 8 20 0 Y 32896 0 63
|
||||||
def @arg04 253 20 0 Y 128 0 63
|
def @arg04 8 20 0 Y 32896 0 63
|
||||||
def @arg05 253 20 0 Y 128 0 63
|
def @arg05 8 20 0 Y 32896 0 63
|
||||||
def @arg06 253 20 0 Y 128 0 63
|
def @arg06 8 20 0 Y 32896 0 63
|
||||||
def @arg07 253 23 0 Y 128 31 63
|
def @arg07 5 23 0 Y 32896 31 63
|
||||||
def @arg08 253 23 0 Y 128 31 63
|
def @arg08 5 23 0 Y 32896 31 63
|
||||||
def @arg09 253 23 0 Y 128 31 63
|
def @arg09 5 23 0 Y 32896 31 63
|
||||||
def @arg10 253 23 0 Y 128 31 63
|
def @arg10 5 23 0 Y 32896 31 63
|
||||||
def @arg11 253 67 0 Y 128 30 63
|
def @arg11 246 67 0 Y 128 30 63
|
||||||
def @arg12 253 67 0 Y 128 30 63
|
def @arg12 246 67 0 Y 128 30 63
|
||||||
def @arg13 253 16777216 0 Y 128 31 63
|
def @arg13 251 16777216 0 Y 128 31 63
|
||||||
def @arg14 253 16777216 0 Y 128 31 63
|
def @arg14 251 16777216 0 Y 128 31 63
|
||||||
def @arg15 253 16777216 19 Y 128 31 63
|
def @arg15 251 16777216 19 Y 128 31 63
|
||||||
def @arg16 253 16777216 0 Y 128 31 63
|
def @arg16 251 16777216 0 Y 128 31 63
|
||||||
def @arg17 253 20 0 Y 128 0 63
|
def @arg17 8 20 0 Y 32928 0 63
|
||||||
def @arg18 253 20 0 Y 128 0 63
|
def @arg18 8 20 0 Y 32896 0 63
|
||||||
def @arg19 253 20 0 Y 128 0 63
|
def @arg19 8 20 0 Y 32896 0 63
|
||||||
def @arg20 253 16777216 0 Y 0 31 8
|
def @arg20 251 16777216 0 Y 0 31 8
|
||||||
def @arg21 253 16777216 0 Y 0 31 8
|
def @arg21 251 16777216 0 Y 0 31 8
|
||||||
def @arg22 253 16777216 0 Y 0 31 8
|
def @arg22 251 16777216 0 Y 0 31 8
|
||||||
def @arg23 253 16777216 0 Y 128 31 63
|
def @arg23 251 16777216 0 Y 128 31 63
|
||||||
def @arg24 253 16777216 0 Y 0 31 8
|
def @arg24 251 16777216 0 Y 0 31 8
|
||||||
def @arg25 253 16777216 0 Y 128 31 63
|
def @arg25 251 16777216 0 Y 128 31 63
|
||||||
def @arg26 253 16777216 0 Y 0 31 8
|
def @arg26 251 16777216 0 Y 0 31 8
|
||||||
def @arg27 253 16777216 0 Y 128 31 63
|
def @arg27 251 16777216 0 Y 128 31 63
|
||||||
def @arg28 253 16777216 0 Y 0 31 8
|
def @arg28 251 16777216 0 Y 0 31 8
|
||||||
def @arg29 253 16777216 0 Y 128 31 63
|
def @arg29 251 16777216 0 Y 128 31 63
|
||||||
def @arg30 253 16777216 0 Y 0 31 8
|
def @arg30 251 16777216 0 Y 0 31 8
|
||||||
def @arg31 253 16777216 0 Y 0 31 8
|
def @arg31 251 16777216 0 Y 0 31 8
|
||||||
def @arg32 253 16777216 0 Y 0 31 8
|
def @arg32 251 16777216 0 Y 0 31 8
|
||||||
@arg01 @arg02 @arg03 @arg04 @arg05 @arg06 @arg07 @arg08 @arg09 @arg10 @arg11 @arg12 @arg13 @arg14 @arg15 @arg16 @arg17 @arg18 @arg19 @arg20 @arg21 @arg22 @arg23 @arg24 @arg25 @arg26 @arg27 @arg28 @arg29 @arg30 @arg31 @arg32
|
@arg01 @arg02 @arg03 @arg04 @arg05 @arg06 @arg07 @arg08 @arg09 @arg10 @arg11 @arg12 @arg13 @arg14 @arg15 @arg16 @arg17 @arg18 @arg19 @arg20 @arg21 @arg22 @arg23 @arg24 @arg25 @arg26 @arg27 @arg28 @arg29 @arg30 @arg31 @arg32
|
||||||
0 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 1991-01-01 01:01:01 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
|
0 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 1991-01-01 01:01:01 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
|
||||||
prepare stmt1 from "select c1 into ? from t9 where c1= 1" ;
|
prepare stmt1 from "select c1 into ? from t9 where c1= 1" ;
|
||||||
|
@ -1900,38 +1900,38 @@ from t9 where c1= 1 ;
|
|||||||
1 1 1 1 1 1 1 1 1 1 1.0000 1.0000 2004-02-29 2004-02-29 11:11:11 2004-02-29 11:11:11 11:11:11 2004 1 1 a 123456789a 123456789a123456789b123456789c tinyblob tinytext blob text mediumblob mediumtext longblob longtext one monday
|
1 1 1 1 1 1 1 1 1 1 1.0000 1.0000 2004-02-29 2004-02-29 11:11:11 2004-02-29 11:11:11 11:11:11 2004 1 1 a 123456789a 123456789a123456789b123456789c tinyblob tinytext blob text mediumblob mediumtext longblob longtext one monday
|
||||||
execute full_info ;
|
execute full_info ;
|
||||||
Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
|
Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
|
||||||
def @arg01 253 20 1 Y 128 0 63
|
def @arg01 8 20 1 Y 32896 0 63
|
||||||
def @arg02 253 20 1 Y 128 0 63
|
def @arg02 8 20 1 Y 32896 0 63
|
||||||
def @arg03 253 20 1 Y 128 0 63
|
def @arg03 8 20 1 Y 32896 0 63
|
||||||
def @arg04 253 20 1 Y 128 0 63
|
def @arg04 8 20 1 Y 32896 0 63
|
||||||
def @arg05 253 20 1 Y 128 0 63
|
def @arg05 8 20 1 Y 32896 0 63
|
||||||
def @arg06 253 20 1 Y 128 0 63
|
def @arg06 8 20 1 Y 32896 0 63
|
||||||
def @arg07 253 23 1 Y 128 31 63
|
def @arg07 5 23 1 Y 32896 31 63
|
||||||
def @arg08 253 23 1 Y 128 31 63
|
def @arg08 5 23 1 Y 32896 31 63
|
||||||
def @arg09 253 23 1 Y 128 31 63
|
def @arg09 5 23 1 Y 32896 31 63
|
||||||
def @arg10 253 23 1 Y 128 31 63
|
def @arg10 5 23 1 Y 32896 31 63
|
||||||
def @arg11 253 67 6 Y 128 30 63
|
def @arg11 246 67 6 Y 128 30 63
|
||||||
def @arg12 253 67 6 Y 128 30 63
|
def @arg12 246 67 6 Y 128 30 63
|
||||||
def @arg13 253 16777216 10 Y 128 31 63
|
def @arg13 251 16777216 10 Y 128 31 63
|
||||||
def @arg14 253 16777216 19 Y 128 31 63
|
def @arg14 251 16777216 19 Y 128 31 63
|
||||||
def @arg15 253 16777216 19 Y 128 31 63
|
def @arg15 251 16777216 19 Y 128 31 63
|
||||||
def @arg16 253 16777216 8 Y 128 31 63
|
def @arg16 251 16777216 8 Y 128 31 63
|
||||||
def @arg17 253 20 4 Y 128 0 63
|
def @arg17 8 20 4 Y 32928 0 63
|
||||||
def @arg18 253 20 1 Y 128 0 63
|
def @arg18 8 20 1 Y 32896 0 63
|
||||||
def @arg19 253 20 1 Y 128 0 63
|
def @arg19 8 20 1 Y 32896 0 63
|
||||||
def @arg20 253 16777216 1 Y 0 31 8
|
def @arg20 251 16777216 1 Y 0 31 8
|
||||||
def @arg21 253 16777216 10 Y 0 31 8
|
def @arg21 251 16777216 10 Y 0 31 8
|
||||||
def @arg22 253 16777216 30 Y 0 31 8
|
def @arg22 251 16777216 30 Y 0 31 8
|
||||||
def @arg23 253 16777216 8 Y 128 31 63
|
def @arg23 251 16777216 8 Y 128 31 63
|
||||||
def @arg24 253 16777216 8 Y 0 31 8
|
def @arg24 251 16777216 8 Y 0 31 8
|
||||||
def @arg25 253 16777216 4 Y 128 31 63
|
def @arg25 251 16777216 4 Y 128 31 63
|
||||||
def @arg26 253 16777216 4 Y 0 31 8
|
def @arg26 251 16777216 4 Y 0 31 8
|
||||||
def @arg27 253 16777216 10 Y 128 31 63
|
def @arg27 251 16777216 10 Y 128 31 63
|
||||||
def @arg28 253 16777216 10 Y 0 31 8
|
def @arg28 251 16777216 10 Y 0 31 8
|
||||||
def @arg29 253 16777216 8 Y 128 31 63
|
def @arg29 251 16777216 8 Y 128 31 63
|
||||||
def @arg30 253 16777216 8 Y 0 31 8
|
def @arg30 251 16777216 8 Y 0 31 8
|
||||||
def @arg31 253 16777216 3 Y 0 31 8
|
def @arg31 251 16777216 3 Y 0 31 8
|
||||||
def @arg32 253 16777216 6 Y 0 31 8
|
def @arg32 251 16777216 6 Y 0 31 8
|
||||||
@arg01 @arg02 @arg03 @arg04 @arg05 @arg06 @arg07 @arg08 @arg09 @arg10 @arg11 @arg12 @arg13 @arg14 @arg15 @arg16 @arg17 @arg18 @arg19 @arg20 @arg21 @arg22 @arg23 @arg24 @arg25 @arg26 @arg27 @arg28 @arg29 @arg30 @arg31 @arg32
|
@arg01 @arg02 @arg03 @arg04 @arg05 @arg06 @arg07 @arg08 @arg09 @arg10 @arg11 @arg12 @arg13 @arg14 @arg15 @arg16 @arg17 @arg18 @arg19 @arg20 @arg21 @arg22 @arg23 @arg24 @arg25 @arg26 @arg27 @arg28 @arg29 @arg30 @arg31 @arg32
|
||||||
1 1 1 1 1 1 1 1 1 1 1.0000 1.0000 2004-02-29 2004-02-29 11:11:11 2004-02-29 11:11:11 11:11:11 2004 1 1 a 123456789a 123456789a123456789b123456789c tinyblob tinytext blob text mediumblob mediumtext longblob longtext one monday
|
1 1 1 1 1 1 1 1 1 1 1.0000 1.0000 2004-02-29 2004-02-29 11:11:11 2004-02-29 11:11:11 11:11:11 2004 1 1 a 123456789a 123456789a123456789b123456789c tinyblob tinytext blob text mediumblob mediumtext longblob longtext one monday
|
||||||
select @arg01:= c1, @arg02:= c2, @arg03:= c3, @arg04:= c4,
|
select @arg01:= c1, @arg02:= c2, @arg03:= c3, @arg04:= c4,
|
||||||
@ -1947,38 +1947,38 @@ from t9 where c1= 0 ;
|
|||||||
0 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 1991-01-01 01:01:01 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
|
0 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 1991-01-01 01:01:01 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
|
||||||
execute full_info ;
|
execute full_info ;
|
||||||
Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
|
Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
|
||||||
def @arg01 253 20 1 Y 128 0 63
|
def @arg01 8 20 1 Y 32896 0 63
|
||||||
def @arg02 253 20 0 Y 128 0 63
|
def @arg02 8 20 0 Y 32896 0 63
|
||||||
def @arg03 253 20 0 Y 128 0 63
|
def @arg03 8 20 0 Y 32896 0 63
|
||||||
def @arg04 253 20 0 Y 128 0 63
|
def @arg04 8 20 0 Y 32896 0 63
|
||||||
def @arg05 253 20 0 Y 128 0 63
|
def @arg05 8 20 0 Y 32896 0 63
|
||||||
def @arg06 253 20 0 Y 128 0 63
|
def @arg06 8 20 0 Y 32896 0 63
|
||||||
def @arg07 253 23 0 Y 128 31 63
|
def @arg07 5 23 0 Y 32896 31 63
|
||||||
def @arg08 253 23 0 Y 128 31 63
|
def @arg08 5 23 0 Y 32896 31 63
|
||||||
def @arg09 253 23 0 Y 128 31 63
|
def @arg09 5 23 0 Y 32896 31 63
|
||||||
def @arg10 253 23 0 Y 128 31 63
|
def @arg10 5 23 0 Y 32896 31 63
|
||||||
def @arg11 253 67 0 Y 128 30 63
|
def @arg11 246 67 0 Y 128 30 63
|
||||||
def @arg12 253 67 0 Y 128 30 63
|
def @arg12 246 67 0 Y 128 30 63
|
||||||
def @arg13 253 16777216 0 Y 128 31 63
|
def @arg13 251 16777216 0 Y 128 31 63
|
||||||
def @arg14 253 16777216 0 Y 128 31 63
|
def @arg14 251 16777216 0 Y 128 31 63
|
||||||
def @arg15 253 16777216 19 Y 128 31 63
|
def @arg15 251 16777216 19 Y 128 31 63
|
||||||
def @arg16 253 16777216 0 Y 128 31 63
|
def @arg16 251 16777216 0 Y 128 31 63
|
||||||
def @arg17 253 20 0 Y 128 0 63
|
def @arg17 8 20 0 Y 32928 0 63
|
||||||
def @arg18 253 20 0 Y 128 0 63
|
def @arg18 8 20 0 Y 32896 0 63
|
||||||
def @arg19 253 20 0 Y 128 0 63
|
def @arg19 8 20 0 Y 32896 0 63
|
||||||
def @arg20 253 16777216 0 Y 0 31 8
|
def @arg20 251 16777216 0 Y 0 31 8
|
||||||
def @arg21 253 16777216 0 Y 0 31 8
|
def @arg21 251 16777216 0 Y 0 31 8
|
||||||
def @arg22 253 16777216 0 Y 0 31 8
|
def @arg22 251 16777216 0 Y 0 31 8
|
||||||
def @arg23 253 16777216 0 Y 128 31 63
|
def @arg23 251 16777216 0 Y 128 31 63
|
||||||
def @arg24 253 16777216 0 Y 0 31 8
|
def @arg24 251 16777216 0 Y 0 31 8
|
||||||
def @arg25 253 16777216 0 Y 128 31 63
|
def @arg25 251 16777216 0 Y 128 31 63
|
||||||
def @arg26 253 16777216 0 Y 0 31 8
|
def @arg26 251 16777216 0 Y 0 31 8
|
||||||
def @arg27 253 16777216 0 Y 128 31 63
|
def @arg27 251 16777216 0 Y 128 31 63
|
||||||
def @arg28 253 16777216 0 Y 0 31 8
|
def @arg28 251 16777216 0 Y 0 31 8
|
||||||
def @arg29 253 16777216 0 Y 128 31 63
|
def @arg29 251 16777216 0 Y 128 31 63
|
||||||
def @arg30 253 16777216 0 Y 0 31 8
|
def @arg30 251 16777216 0 Y 0 31 8
|
||||||
def @arg31 253 16777216 0 Y 0 31 8
|
def @arg31 251 16777216 0 Y 0 31 8
|
||||||
def @arg32 253 16777216 0 Y 0 31 8
|
def @arg32 251 16777216 0 Y 0 31 8
|
||||||
@arg01 @arg02 @arg03 @arg04 @arg05 @arg06 @arg07 @arg08 @arg09 @arg10 @arg11 @arg12 @arg13 @arg14 @arg15 @arg16 @arg17 @arg18 @arg19 @arg20 @arg21 @arg22 @arg23 @arg24 @arg25 @arg26 @arg27 @arg28 @arg29 @arg30 @arg31 @arg32
|
@arg01 @arg02 @arg03 @arg04 @arg05 @arg06 @arg07 @arg08 @arg09 @arg10 @arg11 @arg12 @arg13 @arg14 @arg15 @arg16 @arg17 @arg18 @arg19 @arg20 @arg21 @arg22 @arg23 @arg24 @arg25 @arg26 @arg27 @arg28 @arg29 @arg30 @arg31 @arg32
|
||||||
0 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 1991-01-01 01:01:01 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
|
0 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 1991-01-01 01:01:01 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
|
||||||
prepare stmt1 from "select
|
prepare stmt1 from "select
|
||||||
@ -1997,38 +1997,38 @@ execute stmt1 using @my_key ;
|
|||||||
1 1 1 1 1 1 1 1 1 1 1.0000 1.0000 2004-02-29 2004-02-29 11:11:11 2004-02-29 11:11:11 11:11:11 2004 1 1 a 123456789a 123456789a123456789b123456789c tinyblob tinytext blob text mediumblob mediumtext longblob longtext one monday
|
1 1 1 1 1 1 1 1 1 1 1.0000 1.0000 2004-02-29 2004-02-29 11:11:11 2004-02-29 11:11:11 11:11:11 2004 1 1 a 123456789a 123456789a123456789b123456789c tinyblob tinytext blob text mediumblob mediumtext longblob longtext one monday
|
||||||
execute full_info ;
|
execute full_info ;
|
||||||
Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
|
Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
|
||||||
def @arg01 253 20 1 Y 128 0 63
|
def @arg01 8 20 1 Y 32896 0 63
|
||||||
def @arg02 253 20 1 Y 128 0 63
|
def @arg02 8 20 1 Y 32896 0 63
|
||||||
def @arg03 253 20 1 Y 128 0 63
|
def @arg03 8 20 1 Y 32896 0 63
|
||||||
def @arg04 253 20 1 Y 128 0 63
|
def @arg04 8 20 1 Y 32896 0 63
|
||||||
def @arg05 253 20 1 Y 128 0 63
|
def @arg05 8 20 1 Y 32896 0 63
|
||||||
def @arg06 253 20 1 Y 128 0 63
|
def @arg06 8 20 1 Y 32896 0 63
|
||||||
def @arg07 253 23 1 Y 128 31 63
|
def @arg07 5 23 1 Y 32896 31 63
|
||||||
def @arg08 253 23 1 Y 128 31 63
|
def @arg08 5 23 1 Y 32896 31 63
|
||||||
def @arg09 253 23 1 Y 128 31 63
|
def @arg09 5 23 1 Y 32896 31 63
|
||||||
def @arg10 253 23 1 Y 128 31 63
|
def @arg10 5 23 1 Y 32896 31 63
|
||||||
def @arg11 253 67 6 Y 128 30 63
|
def @arg11 246 67 6 Y 128 30 63
|
||||||
def @arg12 253 67 6 Y 128 30 63
|
def @arg12 246 67 6 Y 128 30 63
|
||||||
def @arg13 253 16777216 10 Y 128 31 63
|
def @arg13 251 16777216 10 Y 128 31 63
|
||||||
def @arg14 253 16777216 19 Y 128 31 63
|
def @arg14 251 16777216 19 Y 128 31 63
|
||||||
def @arg15 253 16777216 19 Y 128 31 63
|
def @arg15 251 16777216 19 Y 128 31 63
|
||||||
def @arg16 253 16777216 8 Y 128 31 63
|
def @arg16 251 16777216 8 Y 128 31 63
|
||||||
def @arg17 253 20 4 Y 128 0 63
|
def @arg17 8 20 4 Y 32928 0 63
|
||||||
def @arg18 253 20 1 Y 128 0 63
|
def @arg18 8 20 1 Y 32896 0 63
|
||||||
def @arg19 253 20 1 Y 128 0 63
|
def @arg19 8 20 1 Y 32896 0 63
|
||||||
def @arg20 253 16777216 1 Y 0 31 8
|
def @arg20 251 16777216 1 Y 0 31 8
|
||||||
def @arg21 253 16777216 10 Y 0 31 8
|
def @arg21 251 16777216 10 Y 0 31 8
|
||||||
def @arg22 253 16777216 30 Y 0 31 8
|
def @arg22 251 16777216 30 Y 0 31 8
|
||||||
def @arg23 253 16777216 8 Y 128 31 63
|
def @arg23 251 16777216 8 Y 128 31 63
|
||||||
def @arg24 253 16777216 8 Y 0 31 8
|
def @arg24 251 16777216 8 Y 0 31 8
|
||||||
def @arg25 253 16777216 4 Y 128 31 63
|
def @arg25 251 16777216 4 Y 128 31 63
|
||||||
def @arg26 253 16777216 4 Y 0 31 8
|
def @arg26 251 16777216 4 Y 0 31 8
|
||||||
def @arg27 253 16777216 10 Y 128 31 63
|
def @arg27 251 16777216 10 Y 128 31 63
|
||||||
def @arg28 253 16777216 10 Y 0 31 8
|
def @arg28 251 16777216 10 Y 0 31 8
|
||||||
def @arg29 253 16777216 8 Y 128 31 63
|
def @arg29 251 16777216 8 Y 128 31 63
|
||||||
def @arg30 253 16777216 8 Y 0 31 8
|
def @arg30 251 16777216 8 Y 0 31 8
|
||||||
def @arg31 253 16777216 3 Y 0 31 8
|
def @arg31 251 16777216 3 Y 0 31 8
|
||||||
def @arg32 253 16777216 6 Y 0 31 8
|
def @arg32 251 16777216 6 Y 0 31 8
|
||||||
@arg01 @arg02 @arg03 @arg04 @arg05 @arg06 @arg07 @arg08 @arg09 @arg10 @arg11 @arg12 @arg13 @arg14 @arg15 @arg16 @arg17 @arg18 @arg19 @arg20 @arg21 @arg22 @arg23 @arg24 @arg25 @arg26 @arg27 @arg28 @arg29 @arg30 @arg31 @arg32
|
@arg01 @arg02 @arg03 @arg04 @arg05 @arg06 @arg07 @arg08 @arg09 @arg10 @arg11 @arg12 @arg13 @arg14 @arg15 @arg16 @arg17 @arg18 @arg19 @arg20 @arg21 @arg22 @arg23 @arg24 @arg25 @arg26 @arg27 @arg28 @arg29 @arg30 @arg31 @arg32
|
||||||
1 1 1 1 1 1 1 1 1 1 1.0000 1.0000 2004-02-29 2004-02-29 11:11:11 2004-02-29 11:11:11 11:11:11 2004 1 1 a 123456789a 123456789a123456789b123456789c tinyblob tinytext blob text mediumblob mediumtext longblob longtext one monday
|
1 1 1 1 1 1 1 1 1 1 1.0000 1.0000 2004-02-29 2004-02-29 11:11:11 2004-02-29 11:11:11 11:11:11 2004 1 1 a 123456789a 123456789a123456789b123456789c tinyblob tinytext blob text mediumblob mediumtext longblob longtext one monday
|
||||||
set @my_key= 0 ;
|
set @my_key= 0 ;
|
||||||
@ -2037,38 +2037,38 @@ execute stmt1 using @my_key ;
|
|||||||
0 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 1991-01-01 01:01:01 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
|
0 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 1991-01-01 01:01:01 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
|
||||||
execute full_info ;
|
execute full_info ;
|
||||||
Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
|
Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
|
||||||
def @arg01 253 20 1 Y 128 0 63
|
def @arg01 8 20 1 Y 32896 0 63
|
||||||
def @arg02 253 20 0 Y 128 0 63
|
def @arg02 8 20 0 Y 32896 0 63
|
||||||
def @arg03 253 20 0 Y 128 0 63
|
def @arg03 8 20 0 Y 32896 0 63
|
||||||
def @arg04 253 20 0 Y 128 0 63
|
def @arg04 8 20 0 Y 32896 0 63
|
||||||
def @arg05 253 20 0 Y 128 0 63
|
def @arg05 8 20 0 Y 32896 0 63
|
||||||
def @arg06 253 20 0 Y 128 0 63
|
def @arg06 8 20 0 Y 32896 0 63
|
||||||
def @arg07 253 23 0 Y 128 31 63
|
def @arg07 5 23 0 Y 32896 31 63
|
||||||
def @arg08 253 23 0 Y 128 31 63
|
def @arg08 5 23 0 Y 32896 31 63
|
||||||
def @arg09 253 23 0 Y 128 31 63
|
def @arg09 5 23 0 Y 32896 31 63
|
||||||
def @arg10 253 23 0 Y 128 31 63
|
def @arg10 5 23 0 Y 32896 31 63
|
||||||
def @arg11 253 67 0 Y 128 30 63
|
def @arg11 246 67 0 Y 128 30 63
|
||||||
def @arg12 253 67 0 Y 128 30 63
|
def @arg12 246 67 0 Y 128 30 63
|
||||||
def @arg13 253 16777216 0 Y 128 31 63
|
def @arg13 251 16777216 0 Y 128 31 63
|
||||||
def @arg14 253 16777216 0 Y 128 31 63
|
def @arg14 251 16777216 0 Y 128 31 63
|
||||||
def @arg15 253 16777216 19 Y 128 31 63
|
def @arg15 251 16777216 19 Y 128 31 63
|
||||||
def @arg16 253 16777216 0 Y 128 31 63
|
def @arg16 251 16777216 0 Y 128 31 63
|
||||||
def @arg17 253 20 0 Y 128 0 63
|
def @arg17 8 20 0 Y 32928 0 63
|
||||||
def @arg18 253 20 0 Y 128 0 63
|
def @arg18 8 20 0 Y 32896 0 63
|
||||||
def @arg19 253 20 0 Y 128 0 63
|
def @arg19 8 20 0 Y 32896 0 63
|
||||||
def @arg20 253 16777216 0 Y 0 31 8
|
def @arg20 251 16777216 0 Y 0 31 8
|
||||||
def @arg21 253 16777216 0 Y 0 31 8
|
def @arg21 251 16777216 0 Y 0 31 8
|
||||||
def @arg22 253 16777216 0 Y 0 31 8
|
def @arg22 251 16777216 0 Y 0 31 8
|
||||||
def @arg23 253 16777216 0 Y 128 31 63
|
def @arg23 251 16777216 0 Y 128 31 63
|
||||||
def @arg24 253 16777216 0 Y 0 31 8
|
def @arg24 251 16777216 0 Y 0 31 8
|
||||||
def @arg25 253 16777216 0 Y 128 31 63
|
def @arg25 251 16777216 0 Y 128 31 63
|
||||||
def @arg26 253 16777216 0 Y 0 31 8
|
def @arg26 251 16777216 0 Y 0 31 8
|
||||||
def @arg27 253 16777216 0 Y 128 31 63
|
def @arg27 251 16777216 0 Y 128 31 63
|
||||||
def @arg28 253 16777216 0 Y 0 31 8
|
def @arg28 251 16777216 0 Y 0 31 8
|
||||||
def @arg29 253 16777216 0 Y 128 31 63
|
def @arg29 251 16777216 0 Y 128 31 63
|
||||||
def @arg30 253 16777216 0 Y 0 31 8
|
def @arg30 251 16777216 0 Y 0 31 8
|
||||||
def @arg31 253 16777216 0 Y 0 31 8
|
def @arg31 251 16777216 0 Y 0 31 8
|
||||||
def @arg32 253 16777216 0 Y 0 31 8
|
def @arg32 251 16777216 0 Y 0 31 8
|
||||||
@arg01 @arg02 @arg03 @arg04 @arg05 @arg06 @arg07 @arg08 @arg09 @arg10 @arg11 @arg12 @arg13 @arg14 @arg15 @arg16 @arg17 @arg18 @arg19 @arg20 @arg21 @arg22 @arg23 @arg24 @arg25 @arg26 @arg27 @arg28 @arg29 @arg30 @arg31 @arg32
|
@arg01 @arg02 @arg03 @arg04 @arg05 @arg06 @arg07 @arg08 @arg09 @arg10 @arg11 @arg12 @arg13 @arg14 @arg15 @arg16 @arg17 @arg18 @arg19 @arg20 @arg21 @arg22 @arg23 @arg24 @arg25 @arg26 @arg27 @arg28 @arg29 @arg30 @arg31 @arg32
|
||||||
0 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 1991-01-01 01:01:01 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
|
0 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 1991-01-01 01:01:01 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
|
||||||
prepare stmt1 from "select ? := c1 from t9 where c1= 1" ;
|
prepare stmt1 from "select ? := c1 from t9 where c1= 1" ;
|
||||||
@ -2085,38 +2085,38 @@ into @arg01, @arg02, @arg03, @arg04, @arg05, @arg06, @arg07, @arg08,
|
|||||||
from t9 where c1= 1 ;
|
from t9 where c1= 1 ;
|
||||||
execute full_info ;
|
execute full_info ;
|
||||||
Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
|
Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
|
||||||
def @arg01 253 20 1 Y 128 0 63
|
def @arg01 8 20 1 Y 32896 0 63
|
||||||
def @arg02 253 20 1 Y 128 0 63
|
def @arg02 8 20 1 Y 32896 0 63
|
||||||
def @arg03 253 20 1 Y 128 0 63
|
def @arg03 8 20 1 Y 32896 0 63
|
||||||
def @arg04 253 20 1 Y 128 0 63
|
def @arg04 8 20 1 Y 32896 0 63
|
||||||
def @arg05 253 20 1 Y 128 0 63
|
def @arg05 8 20 1 Y 32896 0 63
|
||||||
def @arg06 253 20 1 Y 128 0 63
|
def @arg06 8 20 1 Y 32896 0 63
|
||||||
def @arg07 253 23 1 Y 128 31 63
|
def @arg07 5 23 1 Y 32896 31 63
|
||||||
def @arg08 253 23 1 Y 128 31 63
|
def @arg08 5 23 1 Y 32896 31 63
|
||||||
def @arg09 253 23 1 Y 128 31 63
|
def @arg09 5 23 1 Y 32896 31 63
|
||||||
def @arg10 253 23 1 Y 128 31 63
|
def @arg10 5 23 1 Y 32896 31 63
|
||||||
def @arg11 253 67 6 Y 128 30 63
|
def @arg11 246 67 6 Y 128 30 63
|
||||||
def @arg12 253 67 6 Y 128 30 63
|
def @arg12 246 67 6 Y 128 30 63
|
||||||
def @arg13 253 16777216 10 Y 128 31 63
|
def @arg13 251 16777216 10 Y 128 31 63
|
||||||
def @arg14 253 16777216 19 Y 128 31 63
|
def @arg14 251 16777216 19 Y 128 31 63
|
||||||
def @arg15 253 16777216 19 Y 128 31 63
|
def @arg15 251 16777216 19 Y 128 31 63
|
||||||
def @arg16 253 16777216 8 Y 128 31 63
|
def @arg16 251 16777216 8 Y 128 31 63
|
||||||
def @arg17 253 20 4 Y 128 0 63
|
def @arg17 8 20 4 Y 32928 0 63
|
||||||
def @arg18 253 20 1 Y 128 0 63
|
def @arg18 8 20 1 Y 32896 0 63
|
||||||
def @arg19 253 20 1 Y 128 0 63
|
def @arg19 8 20 1 Y 32896 0 63
|
||||||
def @arg20 253 16777216 1 Y 0 31 8
|
def @arg20 251 16777216 1 Y 0 31 8
|
||||||
def @arg21 253 16777216 10 Y 0 31 8
|
def @arg21 251 16777216 10 Y 0 31 8
|
||||||
def @arg22 253 16777216 30 Y 0 31 8
|
def @arg22 251 16777216 30 Y 0 31 8
|
||||||
def @arg23 253 16777216 8 Y 128 31 63
|
def @arg23 251 16777216 8 Y 128 31 63
|
||||||
def @arg24 253 16777216 8 Y 0 31 8
|
def @arg24 251 16777216 8 Y 0 31 8
|
||||||
def @arg25 253 16777216 4 Y 128 31 63
|
def @arg25 251 16777216 4 Y 128 31 63
|
||||||
def @arg26 253 16777216 4 Y 0 31 8
|
def @arg26 251 16777216 4 Y 0 31 8
|
||||||
def @arg27 253 16777216 10 Y 128 31 63
|
def @arg27 251 16777216 10 Y 128 31 63
|
||||||
def @arg28 253 16777216 10 Y 0 31 8
|
def @arg28 251 16777216 10 Y 0 31 8
|
||||||
def @arg29 253 16777216 8 Y 128 31 63
|
def @arg29 251 16777216 8 Y 128 31 63
|
||||||
def @arg30 253 16777216 8 Y 0 31 8
|
def @arg30 251 16777216 8 Y 0 31 8
|
||||||
def @arg31 253 16777216 3 Y 0 31 8
|
def @arg31 251 16777216 3 Y 0 31 8
|
||||||
def @arg32 253 16777216 6 Y 0 31 8
|
def @arg32 251 16777216 6 Y 0 31 8
|
||||||
@arg01 @arg02 @arg03 @arg04 @arg05 @arg06 @arg07 @arg08 @arg09 @arg10 @arg11 @arg12 @arg13 @arg14 @arg15 @arg16 @arg17 @arg18 @arg19 @arg20 @arg21 @arg22 @arg23 @arg24 @arg25 @arg26 @arg27 @arg28 @arg29 @arg30 @arg31 @arg32
|
@arg01 @arg02 @arg03 @arg04 @arg05 @arg06 @arg07 @arg08 @arg09 @arg10 @arg11 @arg12 @arg13 @arg14 @arg15 @arg16 @arg17 @arg18 @arg19 @arg20 @arg21 @arg22 @arg23 @arg24 @arg25 @arg26 @arg27 @arg28 @arg29 @arg30 @arg31 @arg32
|
||||||
1 1 1 1 1 1 1 1 1 1 1.0000 1.0000 2004-02-29 2004-02-29 11:11:11 2004-02-29 11:11:11 11:11:11 2004 1 1 a 123456789a 123456789a123456789b123456789c tinyblob tinytext blob text mediumblob mediumtext longblob longtext one monday
|
1 1 1 1 1 1 1 1 1 1 1.0000 1.0000 2004-02-29 2004-02-29 11:11:11 2004-02-29 11:11:11 11:11:11 2004 1 1 a 123456789a 123456789a123456789b123456789c tinyblob tinytext blob text mediumblob mediumtext longblob longtext one monday
|
||||||
select c1, c2, c3, c4, c5, c6, c7, c8, c9, c10, c11, c12,
|
select c1, c2, c3, c4, c5, c6, c7, c8, c9, c10, c11, c12,
|
||||||
@ -2129,38 +2129,38 @@ into @arg01, @arg02, @arg03, @arg04, @arg05, @arg06, @arg07, @arg08,
|
|||||||
from t9 where c1= 0 ;
|
from t9 where c1= 0 ;
|
||||||
execute full_info ;
|
execute full_info ;
|
||||||
Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
|
Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
|
||||||
def @arg01 253 20 1 Y 128 0 63
|
def @arg01 8 20 1 Y 32896 0 63
|
||||||
def @arg02 253 20 0 Y 128 0 63
|
def @arg02 8 20 0 Y 32896 0 63
|
||||||
def @arg03 253 20 0 Y 128 0 63
|
def @arg03 8 20 0 Y 32896 0 63
|
||||||
def @arg04 253 20 0 Y 128 0 63
|
def @arg04 8 20 0 Y 32896 0 63
|
||||||
def @arg05 253 20 0 Y 128 0 63
|
def @arg05 8 20 0 Y 32896 0 63
|
||||||
def @arg06 253 20 0 Y 128 0 63
|
def @arg06 8 20 0 Y 32896 0 63
|
||||||
def @arg07 253 23 0 Y 128 31 63
|
def @arg07 5 23 0 Y 32896 31 63
|
||||||
def @arg08 253 23 0 Y 128 31 63
|
def @arg08 5 23 0 Y 32896 31 63
|
||||||
def @arg09 253 23 0 Y 128 31 63
|
def @arg09 5 23 0 Y 32896 31 63
|
||||||
def @arg10 253 23 0 Y 128 31 63
|
def @arg10 5 23 0 Y 32896 31 63
|
||||||
def @arg11 253 67 0 Y 128 30 63
|
def @arg11 246 67 0 Y 128 30 63
|
||||||
def @arg12 253 67 0 Y 128 30 63
|
def @arg12 246 67 0 Y 128 30 63
|
||||||
def @arg13 253 16777216 0 Y 128 31 63
|
def @arg13 251 16777216 0 Y 128 31 63
|
||||||
def @arg14 253 16777216 0 Y 128 31 63
|
def @arg14 251 16777216 0 Y 128 31 63
|
||||||
def @arg15 253 16777216 19 Y 128 31 63
|
def @arg15 251 16777216 19 Y 128 31 63
|
||||||
def @arg16 253 16777216 0 Y 128 31 63
|
def @arg16 251 16777216 0 Y 128 31 63
|
||||||
def @arg17 253 20 0 Y 128 0 63
|
def @arg17 8 20 0 Y 32928 0 63
|
||||||
def @arg18 253 20 0 Y 128 0 63
|
def @arg18 8 20 0 Y 32896 0 63
|
||||||
def @arg19 253 20 0 Y 128 0 63
|
def @arg19 8 20 0 Y 32896 0 63
|
||||||
def @arg20 253 16777216 0 Y 0 31 8
|
def @arg20 251 16777216 0 Y 0 31 8
|
||||||
def @arg21 253 16777216 0 Y 0 31 8
|
def @arg21 251 16777216 0 Y 0 31 8
|
||||||
def @arg22 253 16777216 0 Y 0 31 8
|
def @arg22 251 16777216 0 Y 0 31 8
|
||||||
def @arg23 253 16777216 0 Y 128 31 63
|
def @arg23 251 16777216 0 Y 128 31 63
|
||||||
def @arg24 253 16777216 0 Y 0 31 8
|
def @arg24 251 16777216 0 Y 0 31 8
|
||||||
def @arg25 253 16777216 0 Y 128 31 63
|
def @arg25 251 16777216 0 Y 128 31 63
|
||||||
def @arg26 253 16777216 0 Y 0 31 8
|
def @arg26 251 16777216 0 Y 0 31 8
|
||||||
def @arg27 253 16777216 0 Y 128 31 63
|
def @arg27 251 16777216 0 Y 128 31 63
|
||||||
def @arg28 253 16777216 0 Y 0 31 8
|
def @arg28 251 16777216 0 Y 0 31 8
|
||||||
def @arg29 253 16777216 0 Y 128 31 63
|
def @arg29 251 16777216 0 Y 128 31 63
|
||||||
def @arg30 253 16777216 0 Y 0 31 8
|
def @arg30 251 16777216 0 Y 0 31 8
|
||||||
def @arg31 253 16777216 0 Y 0 31 8
|
def @arg31 251 16777216 0 Y 0 31 8
|
||||||
def @arg32 253 16777216 0 Y 0 31 8
|
def @arg32 251 16777216 0 Y 0 31 8
|
||||||
@arg01 @arg02 @arg03 @arg04 @arg05 @arg06 @arg07 @arg08 @arg09 @arg10 @arg11 @arg12 @arg13 @arg14 @arg15 @arg16 @arg17 @arg18 @arg19 @arg20 @arg21 @arg22 @arg23 @arg24 @arg25 @arg26 @arg27 @arg28 @arg29 @arg30 @arg31 @arg32
|
@arg01 @arg02 @arg03 @arg04 @arg05 @arg06 @arg07 @arg08 @arg09 @arg10 @arg11 @arg12 @arg13 @arg14 @arg15 @arg16 @arg17 @arg18 @arg19 @arg20 @arg21 @arg22 @arg23 @arg24 @arg25 @arg26 @arg27 @arg28 @arg29 @arg30 @arg31 @arg32
|
||||||
0 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 1991-01-01 01:01:01 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
|
0 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 1991-01-01 01:01:01 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
|
||||||
prepare stmt1 from "select c1, c2, c3, c4, c5, c6, c7, c8, c9, c10, c11, c12,
|
prepare stmt1 from "select c1, c2, c3, c4, c5, c6, c7, c8, c9, c10, c11, c12,
|
||||||
@ -2175,76 +2175,76 @@ set @my_key= 1 ;
|
|||||||
execute stmt1 using @my_key ;
|
execute stmt1 using @my_key ;
|
||||||
execute full_info ;
|
execute full_info ;
|
||||||
Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
|
Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
|
||||||
def @arg01 253 20 1 Y 128 0 63
|
def @arg01 8 20 1 Y 32896 0 63
|
||||||
def @arg02 253 20 1 Y 128 0 63
|
def @arg02 8 20 1 Y 32896 0 63
|
||||||
def @arg03 253 20 1 Y 128 0 63
|
def @arg03 8 20 1 Y 32896 0 63
|
||||||
def @arg04 253 20 1 Y 128 0 63
|
def @arg04 8 20 1 Y 32896 0 63
|
||||||
def @arg05 253 20 1 Y 128 0 63
|
def @arg05 8 20 1 Y 32896 0 63
|
||||||
def @arg06 253 20 1 Y 128 0 63
|
def @arg06 8 20 1 Y 32896 0 63
|
||||||
def @arg07 253 23 1 Y 128 31 63
|
def @arg07 5 23 1 Y 32896 31 63
|
||||||
def @arg08 253 23 1 Y 128 31 63
|
def @arg08 5 23 1 Y 32896 31 63
|
||||||
def @arg09 253 23 1 Y 128 31 63
|
def @arg09 5 23 1 Y 32896 31 63
|
||||||
def @arg10 253 23 1 Y 128 31 63
|
def @arg10 5 23 1 Y 32896 31 63
|
||||||
def @arg11 253 67 6 Y 128 30 63
|
def @arg11 246 67 6 Y 128 30 63
|
||||||
def @arg12 253 67 6 Y 128 30 63
|
def @arg12 246 67 6 Y 128 30 63
|
||||||
def @arg13 253 16777216 10 Y 128 31 63
|
def @arg13 251 16777216 10 Y 128 31 63
|
||||||
def @arg14 253 16777216 19 Y 128 31 63
|
def @arg14 251 16777216 19 Y 128 31 63
|
||||||
def @arg15 253 16777216 19 Y 128 31 63
|
def @arg15 251 16777216 19 Y 128 31 63
|
||||||
def @arg16 253 16777216 8 Y 128 31 63
|
def @arg16 251 16777216 8 Y 128 31 63
|
||||||
def @arg17 253 20 4 Y 128 0 63
|
def @arg17 8 20 4 Y 32928 0 63
|
||||||
def @arg18 253 20 1 Y 128 0 63
|
def @arg18 8 20 1 Y 32896 0 63
|
||||||
def @arg19 253 20 1 Y 128 0 63
|
def @arg19 8 20 1 Y 32896 0 63
|
||||||
def @arg20 253 16777216 1 Y 0 31 8
|
def @arg20 251 16777216 1 Y 0 31 8
|
||||||
def @arg21 253 16777216 10 Y 0 31 8
|
def @arg21 251 16777216 10 Y 0 31 8
|
||||||
def @arg22 253 16777216 30 Y 0 31 8
|
def @arg22 251 16777216 30 Y 0 31 8
|
||||||
def @arg23 253 16777216 8 Y 128 31 63
|
def @arg23 251 16777216 8 Y 128 31 63
|
||||||
def @arg24 253 16777216 8 Y 0 31 8
|
def @arg24 251 16777216 8 Y 0 31 8
|
||||||
def @arg25 253 16777216 4 Y 128 31 63
|
def @arg25 251 16777216 4 Y 128 31 63
|
||||||
def @arg26 253 16777216 4 Y 0 31 8
|
def @arg26 251 16777216 4 Y 0 31 8
|
||||||
def @arg27 253 16777216 10 Y 128 31 63
|
def @arg27 251 16777216 10 Y 128 31 63
|
||||||
def @arg28 253 16777216 10 Y 0 31 8
|
def @arg28 251 16777216 10 Y 0 31 8
|
||||||
def @arg29 253 16777216 8 Y 128 31 63
|
def @arg29 251 16777216 8 Y 128 31 63
|
||||||
def @arg30 253 16777216 8 Y 0 31 8
|
def @arg30 251 16777216 8 Y 0 31 8
|
||||||
def @arg31 253 16777216 3 Y 0 31 8
|
def @arg31 251 16777216 3 Y 0 31 8
|
||||||
def @arg32 253 16777216 6 Y 0 31 8
|
def @arg32 251 16777216 6 Y 0 31 8
|
||||||
@arg01 @arg02 @arg03 @arg04 @arg05 @arg06 @arg07 @arg08 @arg09 @arg10 @arg11 @arg12 @arg13 @arg14 @arg15 @arg16 @arg17 @arg18 @arg19 @arg20 @arg21 @arg22 @arg23 @arg24 @arg25 @arg26 @arg27 @arg28 @arg29 @arg30 @arg31 @arg32
|
@arg01 @arg02 @arg03 @arg04 @arg05 @arg06 @arg07 @arg08 @arg09 @arg10 @arg11 @arg12 @arg13 @arg14 @arg15 @arg16 @arg17 @arg18 @arg19 @arg20 @arg21 @arg22 @arg23 @arg24 @arg25 @arg26 @arg27 @arg28 @arg29 @arg30 @arg31 @arg32
|
||||||
1 1 1 1 1 1 1 1 1 1 1.0000 1.0000 2004-02-29 2004-02-29 11:11:11 2004-02-29 11:11:11 11:11:11 2004 1 1 a 123456789a 123456789a123456789b123456789c tinyblob tinytext blob text mediumblob mediumtext longblob longtext one monday
|
1 1 1 1 1 1 1 1 1 1 1.0000 1.0000 2004-02-29 2004-02-29 11:11:11 2004-02-29 11:11:11 11:11:11 2004 1 1 a 123456789a 123456789a123456789b123456789c tinyblob tinytext blob text mediumblob mediumtext longblob longtext one monday
|
||||||
set @my_key= 0 ;
|
set @my_key= 0 ;
|
||||||
execute stmt1 using @my_key ;
|
execute stmt1 using @my_key ;
|
||||||
execute full_info ;
|
execute full_info ;
|
||||||
Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
|
Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
|
||||||
def @arg01 253 20 1 Y 128 0 63
|
def @arg01 8 20 1 Y 32896 0 63
|
||||||
def @arg02 253 20 0 Y 128 0 63
|
def @arg02 8 20 0 Y 32896 0 63
|
||||||
def @arg03 253 20 0 Y 128 0 63
|
def @arg03 8 20 0 Y 32896 0 63
|
||||||
def @arg04 253 20 0 Y 128 0 63
|
def @arg04 8 20 0 Y 32896 0 63
|
||||||
def @arg05 253 20 0 Y 128 0 63
|
def @arg05 8 20 0 Y 32896 0 63
|
||||||
def @arg06 253 20 0 Y 128 0 63
|
def @arg06 8 20 0 Y 32896 0 63
|
||||||
def @arg07 253 23 0 Y 128 31 63
|
def @arg07 5 23 0 Y 32896 31 63
|
||||||
def @arg08 253 23 0 Y 128 31 63
|
def @arg08 5 23 0 Y 32896 31 63
|
||||||
def @arg09 253 23 0 Y 128 31 63
|
def @arg09 5 23 0 Y 32896 31 63
|
||||||
def @arg10 253 23 0 Y 128 31 63
|
def @arg10 5 23 0 Y 32896 31 63
|
||||||
def @arg11 253 67 0 Y 128 30 63
|
def @arg11 246 67 0 Y 128 30 63
|
||||||
def @arg12 253 67 0 Y 128 30 63
|
def @arg12 246 67 0 Y 128 30 63
|
||||||
def @arg13 253 16777216 0 Y 128 31 63
|
def @arg13 251 16777216 0 Y 128 31 63
|
||||||
def @arg14 253 16777216 0 Y 128 31 63
|
def @arg14 251 16777216 0 Y 128 31 63
|
||||||
def @arg15 253 16777216 19 Y 128 31 63
|
def @arg15 251 16777216 19 Y 128 31 63
|
||||||
def @arg16 253 16777216 0 Y 128 31 63
|
def @arg16 251 16777216 0 Y 128 31 63
|
||||||
def @arg17 253 20 0 Y 128 0 63
|
def @arg17 8 20 0 Y 32928 0 63
|
||||||
def @arg18 253 20 0 Y 128 0 63
|
def @arg18 8 20 0 Y 32896 0 63
|
||||||
def @arg19 253 20 0 Y 128 0 63
|
def @arg19 8 20 0 Y 32896 0 63
|
||||||
def @arg20 253 16777216 0 Y 0 31 8
|
def @arg20 251 16777216 0 Y 0 31 8
|
||||||
def @arg21 253 16777216 0 Y 0 31 8
|
def @arg21 251 16777216 0 Y 0 31 8
|
||||||
def @arg22 253 16777216 0 Y 0 31 8
|
def @arg22 251 16777216 0 Y 0 31 8
|
||||||
def @arg23 253 16777216 0 Y 128 31 63
|
def @arg23 251 16777216 0 Y 128 31 63
|
||||||
def @arg24 253 16777216 0 Y 0 31 8
|
def @arg24 251 16777216 0 Y 0 31 8
|
||||||
def @arg25 253 16777216 0 Y 128 31 63
|
def @arg25 251 16777216 0 Y 128 31 63
|
||||||
def @arg26 253 16777216 0 Y 0 31 8
|
def @arg26 251 16777216 0 Y 0 31 8
|
||||||
def @arg27 253 16777216 0 Y 128 31 63
|
def @arg27 251 16777216 0 Y 128 31 63
|
||||||
def @arg28 253 16777216 0 Y 0 31 8
|
def @arg28 251 16777216 0 Y 0 31 8
|
||||||
def @arg29 253 16777216 0 Y 128 31 63
|
def @arg29 251 16777216 0 Y 128 31 63
|
||||||
def @arg30 253 16777216 0 Y 0 31 8
|
def @arg30 251 16777216 0 Y 0 31 8
|
||||||
def @arg31 253 16777216 0 Y 0 31 8
|
def @arg31 251 16777216 0 Y 0 31 8
|
||||||
def @arg32 253 16777216 0 Y 0 31 8
|
def @arg32 251 16777216 0 Y 0 31 8
|
||||||
@arg01 @arg02 @arg03 @arg04 @arg05 @arg06 @arg07 @arg08 @arg09 @arg10 @arg11 @arg12 @arg13 @arg14 @arg15 @arg16 @arg17 @arg18 @arg19 @arg20 @arg21 @arg22 @arg23 @arg24 @arg25 @arg26 @arg27 @arg28 @arg29 @arg30 @arg31 @arg32
|
@arg01 @arg02 @arg03 @arg04 @arg05 @arg06 @arg07 @arg08 @arg09 @arg10 @arg11 @arg12 @arg13 @arg14 @arg15 @arg16 @arg17 @arg18 @arg19 @arg20 @arg21 @arg22 @arg23 @arg24 @arg25 @arg26 @arg27 @arg28 @arg29 @arg30 @arg31 @arg32
|
||||||
0 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 1991-01-01 01:01:01 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
|
0 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 1991-01-01 01:01:01 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
|
||||||
prepare stmt1 from "select c1 into ? from t9 where c1= 1" ;
|
prepare stmt1 from "select c1 into ? from t9 where c1= 1" ;
|
||||||
|
@ -1901,38 +1901,38 @@ from t9 where c1= 1 ;
|
|||||||
1 1 1 1 1 1 1 1 1 1 1.0000 1.0000 2004-02-29 2004-02-29 11:11:11 2004-02-29 11:11:11 11:11:11 2004 1 1 a 123456789a 123456789a123456789b123456789c tinyblob tinytext blob text mediumblob mediumtext longblob longtext one monday
|
1 1 1 1 1 1 1 1 1 1 1.0000 1.0000 2004-02-29 2004-02-29 11:11:11 2004-02-29 11:11:11 11:11:11 2004 1 1 a 123456789a 123456789a123456789b123456789c tinyblob tinytext blob text mediumblob mediumtext longblob longtext one monday
|
||||||
execute full_info ;
|
execute full_info ;
|
||||||
Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
|
Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
|
||||||
def @arg01 253 20 1 Y 128 0 63
|
def @arg01 8 20 1 Y 32896 0 63
|
||||||
def @arg02 253 20 1 Y 128 0 63
|
def @arg02 8 20 1 Y 32896 0 63
|
||||||
def @arg03 253 20 1 Y 128 0 63
|
def @arg03 8 20 1 Y 32896 0 63
|
||||||
def @arg04 253 20 1 Y 128 0 63
|
def @arg04 8 20 1 Y 32896 0 63
|
||||||
def @arg05 253 20 1 Y 128 0 63
|
def @arg05 8 20 1 Y 32896 0 63
|
||||||
def @arg06 253 20 1 Y 128 0 63
|
def @arg06 8 20 1 Y 32896 0 63
|
||||||
def @arg07 253 23 1 Y 128 31 63
|
def @arg07 5 23 1 Y 32896 31 63
|
||||||
def @arg08 253 23 1 Y 128 31 63
|
def @arg08 5 23 1 Y 32896 31 63
|
||||||
def @arg09 253 23 1 Y 128 31 63
|
def @arg09 5 23 1 Y 32896 31 63
|
||||||
def @arg10 253 23 1 Y 128 31 63
|
def @arg10 5 23 1 Y 32896 31 63
|
||||||
def @arg11 253 67 6 Y 128 30 63
|
def @arg11 246 67 6 Y 128 30 63
|
||||||
def @arg12 253 67 6 Y 128 30 63
|
def @arg12 246 67 6 Y 128 30 63
|
||||||
def @arg13 253 16777216 10 Y 128 31 63
|
def @arg13 251 16777216 10 Y 128 31 63
|
||||||
def @arg14 253 16777216 19 Y 128 31 63
|
def @arg14 251 16777216 19 Y 128 31 63
|
||||||
def @arg15 253 16777216 19 Y 128 31 63
|
def @arg15 251 16777216 19 Y 128 31 63
|
||||||
def @arg16 253 16777216 8 Y 128 31 63
|
def @arg16 251 16777216 8 Y 128 31 63
|
||||||
def @arg17 253 20 4 Y 128 0 63
|
def @arg17 8 20 4 Y 32928 0 63
|
||||||
def @arg18 253 20 1 Y 128 0 63
|
def @arg18 8 20 1 Y 32896 0 63
|
||||||
def @arg19 253 20 1 Y 128 0 63
|
def @arg19 8 20 1 Y 32896 0 63
|
||||||
def @arg20 253 16777216 1 Y 0 31 8
|
def @arg20 251 16777216 1 Y 0 31 8
|
||||||
def @arg21 253 16777216 10 Y 0 31 8
|
def @arg21 251 16777216 10 Y 0 31 8
|
||||||
def @arg22 253 16777216 30 Y 0 31 8
|
def @arg22 251 16777216 30 Y 0 31 8
|
||||||
def @arg23 253 16777216 8 Y 0 31 8
|
def @arg23 251 16777216 8 Y 0 31 8
|
||||||
def @arg24 253 16777216 8 Y 0 31 8
|
def @arg24 251 16777216 8 Y 0 31 8
|
||||||
def @arg25 253 16777216 4 Y 0 31 8
|
def @arg25 251 16777216 4 Y 0 31 8
|
||||||
def @arg26 253 16777216 4 Y 0 31 8
|
def @arg26 251 16777216 4 Y 0 31 8
|
||||||
def @arg27 253 16777216 10 Y 0 31 8
|
def @arg27 251 16777216 10 Y 0 31 8
|
||||||
def @arg28 253 16777216 10 Y 0 31 8
|
def @arg28 251 16777216 10 Y 0 31 8
|
||||||
def @arg29 253 16777216 8 Y 0 31 8
|
def @arg29 251 16777216 8 Y 0 31 8
|
||||||
def @arg30 253 16777216 8 Y 0 31 8
|
def @arg30 251 16777216 8 Y 0 31 8
|
||||||
def @arg31 253 16777216 3 Y 0 31 8
|
def @arg31 251 16777216 3 Y 0 31 8
|
||||||
def @arg32 253 16777216 6 Y 0 31 8
|
def @arg32 251 16777216 6 Y 0 31 8
|
||||||
@arg01 @arg02 @arg03 @arg04 @arg05 @arg06 @arg07 @arg08 @arg09 @arg10 @arg11 @arg12 @arg13 @arg14 @arg15 @arg16 @arg17 @arg18 @arg19 @arg20 @arg21 @arg22 @arg23 @arg24 @arg25 @arg26 @arg27 @arg28 @arg29 @arg30 @arg31 @arg32
|
@arg01 @arg02 @arg03 @arg04 @arg05 @arg06 @arg07 @arg08 @arg09 @arg10 @arg11 @arg12 @arg13 @arg14 @arg15 @arg16 @arg17 @arg18 @arg19 @arg20 @arg21 @arg22 @arg23 @arg24 @arg25 @arg26 @arg27 @arg28 @arg29 @arg30 @arg31 @arg32
|
||||||
1 1 1 1 1 1 1 1 1 1 1.0000 1.0000 2004-02-29 2004-02-29 11:11:11 2004-02-29 11:11:11 11:11:11 2004 1 1 a 123456789a 123456789a123456789b123456789c tinyblob tinytext blob text mediumblob mediumtext longblob longtext one monday
|
1 1 1 1 1 1 1 1 1 1 1.0000 1.0000 2004-02-29 2004-02-29 11:11:11 2004-02-29 11:11:11 11:11:11 2004 1 1 a 123456789a 123456789a123456789b123456789c tinyblob tinytext blob text mediumblob mediumtext longblob longtext one monday
|
||||||
select @arg01:= c1, @arg02:= c2, @arg03:= c3, @arg04:= c4,
|
select @arg01:= c1, @arg02:= c2, @arg03:= c3, @arg04:= c4,
|
||||||
@ -1948,38 +1948,38 @@ from t9 where c1= 0 ;
|
|||||||
0 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 1991-01-01 01:01:01 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
|
0 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 1991-01-01 01:01:01 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
|
||||||
execute full_info ;
|
execute full_info ;
|
||||||
Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
|
Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
|
||||||
def @arg01 253 20 1 Y 128 0 63
|
def @arg01 8 20 1 Y 32896 0 63
|
||||||
def @arg02 253 20 0 Y 128 0 63
|
def @arg02 8 20 0 Y 32896 0 63
|
||||||
def @arg03 253 20 0 Y 128 0 63
|
def @arg03 8 20 0 Y 32896 0 63
|
||||||
def @arg04 253 20 0 Y 128 0 63
|
def @arg04 8 20 0 Y 32896 0 63
|
||||||
def @arg05 253 20 0 Y 128 0 63
|
def @arg05 8 20 0 Y 32896 0 63
|
||||||
def @arg06 253 20 0 Y 128 0 63
|
def @arg06 8 20 0 Y 32896 0 63
|
||||||
def @arg07 253 23 0 Y 128 31 63
|
def @arg07 5 23 0 Y 32896 31 63
|
||||||
def @arg08 253 23 0 Y 128 31 63
|
def @arg08 5 23 0 Y 32896 31 63
|
||||||
def @arg09 253 23 0 Y 128 31 63
|
def @arg09 5 23 0 Y 32896 31 63
|
||||||
def @arg10 253 23 0 Y 128 31 63
|
def @arg10 5 23 0 Y 32896 31 63
|
||||||
def @arg11 253 67 0 Y 128 30 63
|
def @arg11 246 67 0 Y 128 30 63
|
||||||
def @arg12 253 67 0 Y 128 30 63
|
def @arg12 246 67 0 Y 128 30 63
|
||||||
def @arg13 253 16777216 0 Y 128 31 63
|
def @arg13 251 16777216 0 Y 128 31 63
|
||||||
def @arg14 253 16777216 0 Y 128 31 63
|
def @arg14 251 16777216 0 Y 128 31 63
|
||||||
def @arg15 253 16777216 19 Y 128 31 63
|
def @arg15 251 16777216 19 Y 128 31 63
|
||||||
def @arg16 253 16777216 0 Y 128 31 63
|
def @arg16 251 16777216 0 Y 128 31 63
|
||||||
def @arg17 253 20 0 Y 128 0 63
|
def @arg17 8 20 0 Y 32928 0 63
|
||||||
def @arg18 253 20 0 Y 128 0 63
|
def @arg18 8 20 0 Y 32896 0 63
|
||||||
def @arg19 253 20 0 Y 128 0 63
|
def @arg19 8 20 0 Y 32896 0 63
|
||||||
def @arg20 253 16777216 0 Y 0 31 8
|
def @arg20 251 16777216 0 Y 0 31 8
|
||||||
def @arg21 253 16777216 0 Y 0 31 8
|
def @arg21 251 16777216 0 Y 0 31 8
|
||||||
def @arg22 253 16777216 0 Y 0 31 8
|
def @arg22 251 16777216 0 Y 0 31 8
|
||||||
def @arg23 253 16777216 0 Y 0 31 8
|
def @arg23 251 16777216 0 Y 0 31 8
|
||||||
def @arg24 253 16777216 0 Y 0 31 8
|
def @arg24 251 16777216 0 Y 0 31 8
|
||||||
def @arg25 253 16777216 0 Y 0 31 8
|
def @arg25 251 16777216 0 Y 0 31 8
|
||||||
def @arg26 253 16777216 0 Y 0 31 8
|
def @arg26 251 16777216 0 Y 0 31 8
|
||||||
def @arg27 253 16777216 0 Y 0 31 8
|
def @arg27 251 16777216 0 Y 0 31 8
|
||||||
def @arg28 253 16777216 0 Y 0 31 8
|
def @arg28 251 16777216 0 Y 0 31 8
|
||||||
def @arg29 253 16777216 0 Y 0 31 8
|
def @arg29 251 16777216 0 Y 0 31 8
|
||||||
def @arg30 253 16777216 0 Y 0 31 8
|
def @arg30 251 16777216 0 Y 0 31 8
|
||||||
def @arg31 253 16777216 0 Y 0 31 8
|
def @arg31 251 16777216 0 Y 0 31 8
|
||||||
def @arg32 253 16777216 0 Y 0 31 8
|
def @arg32 251 16777216 0 Y 0 31 8
|
||||||
@arg01 @arg02 @arg03 @arg04 @arg05 @arg06 @arg07 @arg08 @arg09 @arg10 @arg11 @arg12 @arg13 @arg14 @arg15 @arg16 @arg17 @arg18 @arg19 @arg20 @arg21 @arg22 @arg23 @arg24 @arg25 @arg26 @arg27 @arg28 @arg29 @arg30 @arg31 @arg32
|
@arg01 @arg02 @arg03 @arg04 @arg05 @arg06 @arg07 @arg08 @arg09 @arg10 @arg11 @arg12 @arg13 @arg14 @arg15 @arg16 @arg17 @arg18 @arg19 @arg20 @arg21 @arg22 @arg23 @arg24 @arg25 @arg26 @arg27 @arg28 @arg29 @arg30 @arg31 @arg32
|
||||||
0 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 1991-01-01 01:01:01 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
|
0 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 1991-01-01 01:01:01 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
|
||||||
prepare stmt1 from "select
|
prepare stmt1 from "select
|
||||||
@ -1998,38 +1998,38 @@ execute stmt1 using @my_key ;
|
|||||||
1 1 1 1 1 1 1 1 1 1 1.0000 1.0000 2004-02-29 2004-02-29 11:11:11 2004-02-29 11:11:11 11:11:11 2004 1 1 a 123456789a 123456789a123456789b123456789c tinyblob tinytext blob text mediumblob mediumtext longblob longtext one monday
|
1 1 1 1 1 1 1 1 1 1 1.0000 1.0000 2004-02-29 2004-02-29 11:11:11 2004-02-29 11:11:11 11:11:11 2004 1 1 a 123456789a 123456789a123456789b123456789c tinyblob tinytext blob text mediumblob mediumtext longblob longtext one monday
|
||||||
execute full_info ;
|
execute full_info ;
|
||||||
Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
|
Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
|
||||||
def @arg01 253 20 1 Y 128 0 63
|
def @arg01 8 20 1 Y 32896 0 63
|
||||||
def @arg02 253 20 1 Y 128 0 63
|
def @arg02 8 20 1 Y 32896 0 63
|
||||||
def @arg03 253 20 1 Y 128 0 63
|
def @arg03 8 20 1 Y 32896 0 63
|
||||||
def @arg04 253 20 1 Y 128 0 63
|
def @arg04 8 20 1 Y 32896 0 63
|
||||||
def @arg05 253 20 1 Y 128 0 63
|
def @arg05 8 20 1 Y 32896 0 63
|
||||||
def @arg06 253 20 1 Y 128 0 63
|
def @arg06 8 20 1 Y 32896 0 63
|
||||||
def @arg07 253 23 1 Y 128 31 63
|
def @arg07 5 23 1 Y 32896 31 63
|
||||||
def @arg08 253 23 1 Y 128 31 63
|
def @arg08 5 23 1 Y 32896 31 63
|
||||||
def @arg09 253 23 1 Y 128 31 63
|
def @arg09 5 23 1 Y 32896 31 63
|
||||||
def @arg10 253 23 1 Y 128 31 63
|
def @arg10 5 23 1 Y 32896 31 63
|
||||||
def @arg11 253 67 6 Y 128 30 63
|
def @arg11 246 67 6 Y 128 30 63
|
||||||
def @arg12 253 67 6 Y 128 30 63
|
def @arg12 246 67 6 Y 128 30 63
|
||||||
def @arg13 253 16777216 10 Y 128 31 63
|
def @arg13 251 16777216 10 Y 128 31 63
|
||||||
def @arg14 253 16777216 19 Y 128 31 63
|
def @arg14 251 16777216 19 Y 128 31 63
|
||||||
def @arg15 253 16777216 19 Y 128 31 63
|
def @arg15 251 16777216 19 Y 128 31 63
|
||||||
def @arg16 253 16777216 8 Y 128 31 63
|
def @arg16 251 16777216 8 Y 128 31 63
|
||||||
def @arg17 253 20 4 Y 128 0 63
|
def @arg17 8 20 4 Y 32928 0 63
|
||||||
def @arg18 253 20 1 Y 128 0 63
|
def @arg18 8 20 1 Y 32896 0 63
|
||||||
def @arg19 253 20 1 Y 128 0 63
|
def @arg19 8 20 1 Y 32896 0 63
|
||||||
def @arg20 253 16777216 1 Y 0 31 8
|
def @arg20 251 16777216 1 Y 0 31 8
|
||||||
def @arg21 253 16777216 10 Y 0 31 8
|
def @arg21 251 16777216 10 Y 0 31 8
|
||||||
def @arg22 253 16777216 30 Y 0 31 8
|
def @arg22 251 16777216 30 Y 0 31 8
|
||||||
def @arg23 253 16777216 8 Y 0 31 8
|
def @arg23 251 16777216 8 Y 0 31 8
|
||||||
def @arg24 253 16777216 8 Y 0 31 8
|
def @arg24 251 16777216 8 Y 0 31 8
|
||||||
def @arg25 253 16777216 4 Y 0 31 8
|
def @arg25 251 16777216 4 Y 0 31 8
|
||||||
def @arg26 253 16777216 4 Y 0 31 8
|
def @arg26 251 16777216 4 Y 0 31 8
|
||||||
def @arg27 253 16777216 10 Y 0 31 8
|
def @arg27 251 16777216 10 Y 0 31 8
|
||||||
def @arg28 253 16777216 10 Y 0 31 8
|
def @arg28 251 16777216 10 Y 0 31 8
|
||||||
def @arg29 253 16777216 8 Y 0 31 8
|
def @arg29 251 16777216 8 Y 0 31 8
|
||||||
def @arg30 253 16777216 8 Y 0 31 8
|
def @arg30 251 16777216 8 Y 0 31 8
|
||||||
def @arg31 253 16777216 3 Y 0 31 8
|
def @arg31 251 16777216 3 Y 0 31 8
|
||||||
def @arg32 253 16777216 6 Y 0 31 8
|
def @arg32 251 16777216 6 Y 0 31 8
|
||||||
@arg01 @arg02 @arg03 @arg04 @arg05 @arg06 @arg07 @arg08 @arg09 @arg10 @arg11 @arg12 @arg13 @arg14 @arg15 @arg16 @arg17 @arg18 @arg19 @arg20 @arg21 @arg22 @arg23 @arg24 @arg25 @arg26 @arg27 @arg28 @arg29 @arg30 @arg31 @arg32
|
@arg01 @arg02 @arg03 @arg04 @arg05 @arg06 @arg07 @arg08 @arg09 @arg10 @arg11 @arg12 @arg13 @arg14 @arg15 @arg16 @arg17 @arg18 @arg19 @arg20 @arg21 @arg22 @arg23 @arg24 @arg25 @arg26 @arg27 @arg28 @arg29 @arg30 @arg31 @arg32
|
||||||
1 1 1 1 1 1 1 1 1 1 1.0000 1.0000 2004-02-29 2004-02-29 11:11:11 2004-02-29 11:11:11 11:11:11 2004 1 1 a 123456789a 123456789a123456789b123456789c tinyblob tinytext blob text mediumblob mediumtext longblob longtext one monday
|
1 1 1 1 1 1 1 1 1 1 1.0000 1.0000 2004-02-29 2004-02-29 11:11:11 2004-02-29 11:11:11 11:11:11 2004 1 1 a 123456789a 123456789a123456789b123456789c tinyblob tinytext blob text mediumblob mediumtext longblob longtext one monday
|
||||||
set @my_key= 0 ;
|
set @my_key= 0 ;
|
||||||
@ -2038,38 +2038,38 @@ execute stmt1 using @my_key ;
|
|||||||
0 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 1991-01-01 01:01:01 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
|
0 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 1991-01-01 01:01:01 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
|
||||||
execute full_info ;
|
execute full_info ;
|
||||||
Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
|
Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
|
||||||
def @arg01 253 20 1 Y 128 0 63
|
def @arg01 8 20 1 Y 32896 0 63
|
||||||
def @arg02 253 20 0 Y 128 0 63
|
def @arg02 8 20 0 Y 32896 0 63
|
||||||
def @arg03 253 20 0 Y 128 0 63
|
def @arg03 8 20 0 Y 32896 0 63
|
||||||
def @arg04 253 20 0 Y 128 0 63
|
def @arg04 8 20 0 Y 32896 0 63
|
||||||
def @arg05 253 20 0 Y 128 0 63
|
def @arg05 8 20 0 Y 32896 0 63
|
||||||
def @arg06 253 20 0 Y 128 0 63
|
def @arg06 8 20 0 Y 32896 0 63
|
||||||
def @arg07 253 23 0 Y 128 31 63
|
def @arg07 5 23 0 Y 32896 31 63
|
||||||
def @arg08 253 23 0 Y 128 31 63
|
def @arg08 5 23 0 Y 32896 31 63
|
||||||
def @arg09 253 23 0 Y 128 31 63
|
def @arg09 5 23 0 Y 32896 31 63
|
||||||
def @arg10 253 23 0 Y 128 31 63
|
def @arg10 5 23 0 Y 32896 31 63
|
||||||
def @arg11 253 67 0 Y 128 30 63
|
def @arg11 246 67 0 Y 128 30 63
|
||||||
def @arg12 253 67 0 Y 128 30 63
|
def @arg12 246 67 0 Y 128 30 63
|
||||||
def @arg13 253 16777216 0 Y 128 31 63
|
def @arg13 251 16777216 0 Y 128 31 63
|
||||||
def @arg14 253 16777216 0 Y 128 31 63
|
def @arg14 251 16777216 0 Y 128 31 63
|
||||||
def @arg15 253 16777216 19 Y 128 31 63
|
def @arg15 251 16777216 19 Y 128 31 63
|
||||||
def @arg16 253 16777216 0 Y 128 31 63
|
def @arg16 251 16777216 0 Y 128 31 63
|
||||||
def @arg17 253 20 0 Y 128 0 63
|
def @arg17 8 20 0 Y 32928 0 63
|
||||||
def @arg18 253 20 0 Y 128 0 63
|
def @arg18 8 20 0 Y 32896 0 63
|
||||||
def @arg19 253 20 0 Y 128 0 63
|
def @arg19 8 20 0 Y 32896 0 63
|
||||||
def @arg20 253 16777216 0 Y 0 31 8
|
def @arg20 251 16777216 0 Y 0 31 8
|
||||||
def @arg21 253 16777216 0 Y 0 31 8
|
def @arg21 251 16777216 0 Y 0 31 8
|
||||||
def @arg22 253 16777216 0 Y 0 31 8
|
def @arg22 251 16777216 0 Y 0 31 8
|
||||||
def @arg23 253 16777216 0 Y 0 31 8
|
def @arg23 251 16777216 0 Y 0 31 8
|
||||||
def @arg24 253 16777216 0 Y 0 31 8
|
def @arg24 251 16777216 0 Y 0 31 8
|
||||||
def @arg25 253 16777216 0 Y 0 31 8
|
def @arg25 251 16777216 0 Y 0 31 8
|
||||||
def @arg26 253 16777216 0 Y 0 31 8
|
def @arg26 251 16777216 0 Y 0 31 8
|
||||||
def @arg27 253 16777216 0 Y 0 31 8
|
def @arg27 251 16777216 0 Y 0 31 8
|
||||||
def @arg28 253 16777216 0 Y 0 31 8
|
def @arg28 251 16777216 0 Y 0 31 8
|
||||||
def @arg29 253 16777216 0 Y 0 31 8
|
def @arg29 251 16777216 0 Y 0 31 8
|
||||||
def @arg30 253 16777216 0 Y 0 31 8
|
def @arg30 251 16777216 0 Y 0 31 8
|
||||||
def @arg31 253 16777216 0 Y 0 31 8
|
def @arg31 251 16777216 0 Y 0 31 8
|
||||||
def @arg32 253 16777216 0 Y 0 31 8
|
def @arg32 251 16777216 0 Y 0 31 8
|
||||||
@arg01 @arg02 @arg03 @arg04 @arg05 @arg06 @arg07 @arg08 @arg09 @arg10 @arg11 @arg12 @arg13 @arg14 @arg15 @arg16 @arg17 @arg18 @arg19 @arg20 @arg21 @arg22 @arg23 @arg24 @arg25 @arg26 @arg27 @arg28 @arg29 @arg30 @arg31 @arg32
|
@arg01 @arg02 @arg03 @arg04 @arg05 @arg06 @arg07 @arg08 @arg09 @arg10 @arg11 @arg12 @arg13 @arg14 @arg15 @arg16 @arg17 @arg18 @arg19 @arg20 @arg21 @arg22 @arg23 @arg24 @arg25 @arg26 @arg27 @arg28 @arg29 @arg30 @arg31 @arg32
|
||||||
0 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 1991-01-01 01:01:01 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
|
0 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 1991-01-01 01:01:01 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
|
||||||
prepare stmt1 from "select ? := c1 from t9 where c1= 1" ;
|
prepare stmt1 from "select ? := c1 from t9 where c1= 1" ;
|
||||||
@ -2086,38 +2086,38 @@ into @arg01, @arg02, @arg03, @arg04, @arg05, @arg06, @arg07, @arg08,
|
|||||||
from t9 where c1= 1 ;
|
from t9 where c1= 1 ;
|
||||||
execute full_info ;
|
execute full_info ;
|
||||||
Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
|
Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
|
||||||
def @arg01 253 20 1 Y 128 0 63
|
def @arg01 8 20 1 Y 32896 0 63
|
||||||
def @arg02 253 20 1 Y 128 0 63
|
def @arg02 8 20 1 Y 32896 0 63
|
||||||
def @arg03 253 20 1 Y 128 0 63
|
def @arg03 8 20 1 Y 32896 0 63
|
||||||
def @arg04 253 20 1 Y 128 0 63
|
def @arg04 8 20 1 Y 32896 0 63
|
||||||
def @arg05 253 20 1 Y 128 0 63
|
def @arg05 8 20 1 Y 32896 0 63
|
||||||
def @arg06 253 20 1 Y 128 0 63
|
def @arg06 8 20 1 Y 32896 0 63
|
||||||
def @arg07 253 23 1 Y 128 31 63
|
def @arg07 5 23 1 Y 32896 31 63
|
||||||
def @arg08 253 23 1 Y 128 31 63
|
def @arg08 5 23 1 Y 32896 31 63
|
||||||
def @arg09 253 23 1 Y 128 31 63
|
def @arg09 5 23 1 Y 32896 31 63
|
||||||
def @arg10 253 23 1 Y 128 31 63
|
def @arg10 5 23 1 Y 32896 31 63
|
||||||
def @arg11 253 67 6 Y 128 30 63
|
def @arg11 246 67 6 Y 128 30 63
|
||||||
def @arg12 253 67 6 Y 128 30 63
|
def @arg12 246 67 6 Y 128 30 63
|
||||||
def @arg13 253 16777216 10 Y 128 31 63
|
def @arg13 251 16777216 10 Y 128 31 63
|
||||||
def @arg14 253 16777216 19 Y 128 31 63
|
def @arg14 251 16777216 19 Y 128 31 63
|
||||||
def @arg15 253 16777216 19 Y 128 31 63
|
def @arg15 251 16777216 19 Y 128 31 63
|
||||||
def @arg16 253 16777216 8 Y 128 31 63
|
def @arg16 251 16777216 8 Y 128 31 63
|
||||||
def @arg17 253 20 4 Y 128 0 63
|
def @arg17 8 20 4 Y 32928 0 63
|
||||||
def @arg18 253 20 1 Y 128 0 63
|
def @arg18 8 20 1 Y 32896 0 63
|
||||||
def @arg19 253 20 1 Y 128 0 63
|
def @arg19 8 20 1 Y 32896 0 63
|
||||||
def @arg20 253 16777216 1 Y 0 31 8
|
def @arg20 251 16777216 1 Y 0 31 8
|
||||||
def @arg21 253 16777216 10 Y 0 31 8
|
def @arg21 251 16777216 10 Y 0 31 8
|
||||||
def @arg22 253 16777216 30 Y 0 31 8
|
def @arg22 251 16777216 30 Y 0 31 8
|
||||||
def @arg23 253 16777216 8 Y 0 31 8
|
def @arg23 251 16777216 8 Y 0 31 8
|
||||||
def @arg24 253 16777216 8 Y 0 31 8
|
def @arg24 251 16777216 8 Y 0 31 8
|
||||||
def @arg25 253 16777216 4 Y 0 31 8
|
def @arg25 251 16777216 4 Y 0 31 8
|
||||||
def @arg26 253 16777216 4 Y 0 31 8
|
def @arg26 251 16777216 4 Y 0 31 8
|
||||||
def @arg27 253 16777216 10 Y 0 31 8
|
def @arg27 251 16777216 10 Y 0 31 8
|
||||||
def @arg28 253 16777216 10 Y 0 31 8
|
def @arg28 251 16777216 10 Y 0 31 8
|
||||||
def @arg29 253 16777216 8 Y 0 31 8
|
def @arg29 251 16777216 8 Y 0 31 8
|
||||||
def @arg30 253 16777216 8 Y 0 31 8
|
def @arg30 251 16777216 8 Y 0 31 8
|
||||||
def @arg31 253 16777216 3 Y 0 31 8
|
def @arg31 251 16777216 3 Y 0 31 8
|
||||||
def @arg32 253 16777216 6 Y 0 31 8
|
def @arg32 251 16777216 6 Y 0 31 8
|
||||||
@arg01 @arg02 @arg03 @arg04 @arg05 @arg06 @arg07 @arg08 @arg09 @arg10 @arg11 @arg12 @arg13 @arg14 @arg15 @arg16 @arg17 @arg18 @arg19 @arg20 @arg21 @arg22 @arg23 @arg24 @arg25 @arg26 @arg27 @arg28 @arg29 @arg30 @arg31 @arg32
|
@arg01 @arg02 @arg03 @arg04 @arg05 @arg06 @arg07 @arg08 @arg09 @arg10 @arg11 @arg12 @arg13 @arg14 @arg15 @arg16 @arg17 @arg18 @arg19 @arg20 @arg21 @arg22 @arg23 @arg24 @arg25 @arg26 @arg27 @arg28 @arg29 @arg30 @arg31 @arg32
|
||||||
1 1 1 1 1 1 1 1 1 1 1.0000 1.0000 2004-02-29 2004-02-29 11:11:11 2004-02-29 11:11:11 11:11:11 2004 1 1 a 123456789a 123456789a123456789b123456789c tinyblob tinytext blob text mediumblob mediumtext longblob longtext one monday
|
1 1 1 1 1 1 1 1 1 1 1.0000 1.0000 2004-02-29 2004-02-29 11:11:11 2004-02-29 11:11:11 11:11:11 2004 1 1 a 123456789a 123456789a123456789b123456789c tinyblob tinytext blob text mediumblob mediumtext longblob longtext one monday
|
||||||
select c1, c2, c3, c4, c5, c6, c7, c8, c9, c10, c11, c12,
|
select c1, c2, c3, c4, c5, c6, c7, c8, c9, c10, c11, c12,
|
||||||
@ -2130,38 +2130,38 @@ into @arg01, @arg02, @arg03, @arg04, @arg05, @arg06, @arg07, @arg08,
|
|||||||
from t9 where c1= 0 ;
|
from t9 where c1= 0 ;
|
||||||
execute full_info ;
|
execute full_info ;
|
||||||
Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
|
Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
|
||||||
def @arg01 253 20 1 Y 128 0 63
|
def @arg01 8 20 1 Y 32896 0 63
|
||||||
def @arg02 253 20 0 Y 128 0 63
|
def @arg02 8 20 0 Y 32896 0 63
|
||||||
def @arg03 253 20 0 Y 128 0 63
|
def @arg03 8 20 0 Y 32896 0 63
|
||||||
def @arg04 253 20 0 Y 128 0 63
|
def @arg04 8 20 0 Y 32896 0 63
|
||||||
def @arg05 253 20 0 Y 128 0 63
|
def @arg05 8 20 0 Y 32896 0 63
|
||||||
def @arg06 253 20 0 Y 128 0 63
|
def @arg06 8 20 0 Y 32896 0 63
|
||||||
def @arg07 253 23 0 Y 128 31 63
|
def @arg07 5 23 0 Y 32896 31 63
|
||||||
def @arg08 253 23 0 Y 128 31 63
|
def @arg08 5 23 0 Y 32896 31 63
|
||||||
def @arg09 253 23 0 Y 128 31 63
|
def @arg09 5 23 0 Y 32896 31 63
|
||||||
def @arg10 253 23 0 Y 128 31 63
|
def @arg10 5 23 0 Y 32896 31 63
|
||||||
def @arg11 253 67 0 Y 128 30 63
|
def @arg11 246 67 0 Y 128 30 63
|
||||||
def @arg12 253 67 0 Y 128 30 63
|
def @arg12 246 67 0 Y 128 30 63
|
||||||
def @arg13 253 16777216 0 Y 128 31 63
|
def @arg13 251 16777216 0 Y 128 31 63
|
||||||
def @arg14 253 16777216 0 Y 128 31 63
|
def @arg14 251 16777216 0 Y 128 31 63
|
||||||
def @arg15 253 16777216 19 Y 128 31 63
|
def @arg15 251 16777216 19 Y 128 31 63
|
||||||
def @arg16 253 16777216 0 Y 128 31 63
|
def @arg16 251 16777216 0 Y 128 31 63
|
||||||
def @arg17 253 20 0 Y 128 0 63
|
def @arg17 8 20 0 Y 32928 0 63
|
||||||
def @arg18 253 20 0 Y 128 0 63
|
def @arg18 8 20 0 Y 32896 0 63
|
||||||
def @arg19 253 20 0 Y 128 0 63
|
def @arg19 8 20 0 Y 32896 0 63
|
||||||
def @arg20 253 16777216 0 Y 0 31 8
|
def @arg20 251 16777216 0 Y 0 31 8
|
||||||
def @arg21 253 16777216 0 Y 0 31 8
|
def @arg21 251 16777216 0 Y 0 31 8
|
||||||
def @arg22 253 16777216 0 Y 0 31 8
|
def @arg22 251 16777216 0 Y 0 31 8
|
||||||
def @arg23 253 16777216 0 Y 0 31 8
|
def @arg23 251 16777216 0 Y 0 31 8
|
||||||
def @arg24 253 16777216 0 Y 0 31 8
|
def @arg24 251 16777216 0 Y 0 31 8
|
||||||
def @arg25 253 16777216 0 Y 0 31 8
|
def @arg25 251 16777216 0 Y 0 31 8
|
||||||
def @arg26 253 16777216 0 Y 0 31 8
|
def @arg26 251 16777216 0 Y 0 31 8
|
||||||
def @arg27 253 16777216 0 Y 0 31 8
|
def @arg27 251 16777216 0 Y 0 31 8
|
||||||
def @arg28 253 16777216 0 Y 0 31 8
|
def @arg28 251 16777216 0 Y 0 31 8
|
||||||
def @arg29 253 16777216 0 Y 0 31 8
|
def @arg29 251 16777216 0 Y 0 31 8
|
||||||
def @arg30 253 16777216 0 Y 0 31 8
|
def @arg30 251 16777216 0 Y 0 31 8
|
||||||
def @arg31 253 16777216 0 Y 0 31 8
|
def @arg31 251 16777216 0 Y 0 31 8
|
||||||
def @arg32 253 16777216 0 Y 0 31 8
|
def @arg32 251 16777216 0 Y 0 31 8
|
||||||
@arg01 @arg02 @arg03 @arg04 @arg05 @arg06 @arg07 @arg08 @arg09 @arg10 @arg11 @arg12 @arg13 @arg14 @arg15 @arg16 @arg17 @arg18 @arg19 @arg20 @arg21 @arg22 @arg23 @arg24 @arg25 @arg26 @arg27 @arg28 @arg29 @arg30 @arg31 @arg32
|
@arg01 @arg02 @arg03 @arg04 @arg05 @arg06 @arg07 @arg08 @arg09 @arg10 @arg11 @arg12 @arg13 @arg14 @arg15 @arg16 @arg17 @arg18 @arg19 @arg20 @arg21 @arg22 @arg23 @arg24 @arg25 @arg26 @arg27 @arg28 @arg29 @arg30 @arg31 @arg32
|
||||||
0 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 1991-01-01 01:01:01 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
|
0 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 1991-01-01 01:01:01 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
|
||||||
prepare stmt1 from "select c1, c2, c3, c4, c5, c6, c7, c8, c9, c10, c11, c12,
|
prepare stmt1 from "select c1, c2, c3, c4, c5, c6, c7, c8, c9, c10, c11, c12,
|
||||||
@ -2176,76 +2176,76 @@ set @my_key= 1 ;
|
|||||||
execute stmt1 using @my_key ;
|
execute stmt1 using @my_key ;
|
||||||
execute full_info ;
|
execute full_info ;
|
||||||
Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
|
Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
|
||||||
def @arg01 253 20 1 Y 128 0 63
|
def @arg01 8 20 1 Y 32896 0 63
|
||||||
def @arg02 253 20 1 Y 128 0 63
|
def @arg02 8 20 1 Y 32896 0 63
|
||||||
def @arg03 253 20 1 Y 128 0 63
|
def @arg03 8 20 1 Y 32896 0 63
|
||||||
def @arg04 253 20 1 Y 128 0 63
|
def @arg04 8 20 1 Y 32896 0 63
|
||||||
def @arg05 253 20 1 Y 128 0 63
|
def @arg05 8 20 1 Y 32896 0 63
|
||||||
def @arg06 253 20 1 Y 128 0 63
|
def @arg06 8 20 1 Y 32896 0 63
|
||||||
def @arg07 253 23 1 Y 128 31 63
|
def @arg07 5 23 1 Y 32896 31 63
|
||||||
def @arg08 253 23 1 Y 128 31 63
|
def @arg08 5 23 1 Y 32896 31 63
|
||||||
def @arg09 253 23 1 Y 128 31 63
|
def @arg09 5 23 1 Y 32896 31 63
|
||||||
def @arg10 253 23 1 Y 128 31 63
|
def @arg10 5 23 1 Y 32896 31 63
|
||||||
def @arg11 253 67 6 Y 128 30 63
|
def @arg11 246 67 6 Y 128 30 63
|
||||||
def @arg12 253 67 6 Y 128 30 63
|
def @arg12 246 67 6 Y 128 30 63
|
||||||
def @arg13 253 16777216 10 Y 128 31 63
|
def @arg13 251 16777216 10 Y 128 31 63
|
||||||
def @arg14 253 16777216 19 Y 128 31 63
|
def @arg14 251 16777216 19 Y 128 31 63
|
||||||
def @arg15 253 16777216 19 Y 128 31 63
|
def @arg15 251 16777216 19 Y 128 31 63
|
||||||
def @arg16 253 16777216 8 Y 128 31 63
|
def @arg16 251 16777216 8 Y 128 31 63
|
||||||
def @arg17 253 20 4 Y 128 0 63
|
def @arg17 8 20 4 Y 32928 0 63
|
||||||
def @arg18 253 20 1 Y 128 0 63
|
def @arg18 8 20 1 Y 32896 0 63
|
||||||
def @arg19 253 20 1 Y 128 0 63
|
def @arg19 8 20 1 Y 32896 0 63
|
||||||
def @arg20 253 16777216 1 Y 0 31 8
|
def @arg20 251 16777216 1 Y 0 31 8
|
||||||
def @arg21 253 16777216 10 Y 0 31 8
|
def @arg21 251 16777216 10 Y 0 31 8
|
||||||
def @arg22 253 16777216 30 Y 0 31 8
|
def @arg22 251 16777216 30 Y 0 31 8
|
||||||
def @arg23 253 16777216 8 Y 0 31 8
|
def @arg23 251 16777216 8 Y 0 31 8
|
||||||
def @arg24 253 16777216 8 Y 0 31 8
|
def @arg24 251 16777216 8 Y 0 31 8
|
||||||
def @arg25 253 16777216 4 Y 0 31 8
|
def @arg25 251 16777216 4 Y 0 31 8
|
||||||
def @arg26 253 16777216 4 Y 0 31 8
|
def @arg26 251 16777216 4 Y 0 31 8
|
||||||
def @arg27 253 16777216 10 Y 0 31 8
|
def @arg27 251 16777216 10 Y 0 31 8
|
||||||
def @arg28 253 16777216 10 Y 0 31 8
|
def @arg28 251 16777216 10 Y 0 31 8
|
||||||
def @arg29 253 16777216 8 Y 0 31 8
|
def @arg29 251 16777216 8 Y 0 31 8
|
||||||
def @arg30 253 16777216 8 Y 0 31 8
|
def @arg30 251 16777216 8 Y 0 31 8
|
||||||
def @arg31 253 16777216 3 Y 0 31 8
|
def @arg31 251 16777216 3 Y 0 31 8
|
||||||
def @arg32 253 16777216 6 Y 0 31 8
|
def @arg32 251 16777216 6 Y 0 31 8
|
||||||
@arg01 @arg02 @arg03 @arg04 @arg05 @arg06 @arg07 @arg08 @arg09 @arg10 @arg11 @arg12 @arg13 @arg14 @arg15 @arg16 @arg17 @arg18 @arg19 @arg20 @arg21 @arg22 @arg23 @arg24 @arg25 @arg26 @arg27 @arg28 @arg29 @arg30 @arg31 @arg32
|
@arg01 @arg02 @arg03 @arg04 @arg05 @arg06 @arg07 @arg08 @arg09 @arg10 @arg11 @arg12 @arg13 @arg14 @arg15 @arg16 @arg17 @arg18 @arg19 @arg20 @arg21 @arg22 @arg23 @arg24 @arg25 @arg26 @arg27 @arg28 @arg29 @arg30 @arg31 @arg32
|
||||||
1 1 1 1 1 1 1 1 1 1 1.0000 1.0000 2004-02-29 2004-02-29 11:11:11 2004-02-29 11:11:11 11:11:11 2004 1 1 a 123456789a 123456789a123456789b123456789c tinyblob tinytext blob text mediumblob mediumtext longblob longtext one monday
|
1 1 1 1 1 1 1 1 1 1 1.0000 1.0000 2004-02-29 2004-02-29 11:11:11 2004-02-29 11:11:11 11:11:11 2004 1 1 a 123456789a 123456789a123456789b123456789c tinyblob tinytext blob text mediumblob mediumtext longblob longtext one monday
|
||||||
set @my_key= 0 ;
|
set @my_key= 0 ;
|
||||||
execute stmt1 using @my_key ;
|
execute stmt1 using @my_key ;
|
||||||
execute full_info ;
|
execute full_info ;
|
||||||
Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
|
Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
|
||||||
def @arg01 253 20 1 Y 128 0 63
|
def @arg01 8 20 1 Y 32896 0 63
|
||||||
def @arg02 253 20 0 Y 128 0 63
|
def @arg02 8 20 0 Y 32896 0 63
|
||||||
def @arg03 253 20 0 Y 128 0 63
|
def @arg03 8 20 0 Y 32896 0 63
|
||||||
def @arg04 253 20 0 Y 128 0 63
|
def @arg04 8 20 0 Y 32896 0 63
|
||||||
def @arg05 253 20 0 Y 128 0 63
|
def @arg05 8 20 0 Y 32896 0 63
|
||||||
def @arg06 253 20 0 Y 128 0 63
|
def @arg06 8 20 0 Y 32896 0 63
|
||||||
def @arg07 253 23 0 Y 128 31 63
|
def @arg07 5 23 0 Y 32896 31 63
|
||||||
def @arg08 253 23 0 Y 128 31 63
|
def @arg08 5 23 0 Y 32896 31 63
|
||||||
def @arg09 253 23 0 Y 128 31 63
|
def @arg09 5 23 0 Y 32896 31 63
|
||||||
def @arg10 253 23 0 Y 128 31 63
|
def @arg10 5 23 0 Y 32896 31 63
|
||||||
def @arg11 253 67 0 Y 128 30 63
|
def @arg11 246 67 0 Y 128 30 63
|
||||||
def @arg12 253 67 0 Y 128 30 63
|
def @arg12 246 67 0 Y 128 30 63
|
||||||
def @arg13 253 16777216 0 Y 128 31 63
|
def @arg13 251 16777216 0 Y 128 31 63
|
||||||
def @arg14 253 16777216 0 Y 128 31 63
|
def @arg14 251 16777216 0 Y 128 31 63
|
||||||
def @arg15 253 16777216 19 Y 128 31 63
|
def @arg15 251 16777216 19 Y 128 31 63
|
||||||
def @arg16 253 16777216 0 Y 128 31 63
|
def @arg16 251 16777216 0 Y 128 31 63
|
||||||
def @arg17 253 20 0 Y 128 0 63
|
def @arg17 8 20 0 Y 32928 0 63
|
||||||
def @arg18 253 20 0 Y 128 0 63
|
def @arg18 8 20 0 Y 32896 0 63
|
||||||
def @arg19 253 20 0 Y 128 0 63
|
def @arg19 8 20 0 Y 32896 0 63
|
||||||
def @arg20 253 16777216 0 Y 0 31 8
|
def @arg20 251 16777216 0 Y 0 31 8
|
||||||
def @arg21 253 16777216 0 Y 0 31 8
|
def @arg21 251 16777216 0 Y 0 31 8
|
||||||
def @arg22 253 16777216 0 Y 0 31 8
|
def @arg22 251 16777216 0 Y 0 31 8
|
||||||
def @arg23 253 16777216 0 Y 0 31 8
|
def @arg23 251 16777216 0 Y 0 31 8
|
||||||
def @arg24 253 16777216 0 Y 0 31 8
|
def @arg24 251 16777216 0 Y 0 31 8
|
||||||
def @arg25 253 16777216 0 Y 0 31 8
|
def @arg25 251 16777216 0 Y 0 31 8
|
||||||
def @arg26 253 16777216 0 Y 0 31 8
|
def @arg26 251 16777216 0 Y 0 31 8
|
||||||
def @arg27 253 16777216 0 Y 0 31 8
|
def @arg27 251 16777216 0 Y 0 31 8
|
||||||
def @arg28 253 16777216 0 Y 0 31 8
|
def @arg28 251 16777216 0 Y 0 31 8
|
||||||
def @arg29 253 16777216 0 Y 0 31 8
|
def @arg29 251 16777216 0 Y 0 31 8
|
||||||
def @arg30 253 16777216 0 Y 0 31 8
|
def @arg30 251 16777216 0 Y 0 31 8
|
||||||
def @arg31 253 16777216 0 Y 0 31 8
|
def @arg31 251 16777216 0 Y 0 31 8
|
||||||
def @arg32 253 16777216 0 Y 0 31 8
|
def @arg32 251 16777216 0 Y 0 31 8
|
||||||
@arg01 @arg02 @arg03 @arg04 @arg05 @arg06 @arg07 @arg08 @arg09 @arg10 @arg11 @arg12 @arg13 @arg14 @arg15 @arg16 @arg17 @arg18 @arg19 @arg20 @arg21 @arg22 @arg23 @arg24 @arg25 @arg26 @arg27 @arg28 @arg29 @arg30 @arg31 @arg32
|
@arg01 @arg02 @arg03 @arg04 @arg05 @arg06 @arg07 @arg08 @arg09 @arg10 @arg11 @arg12 @arg13 @arg14 @arg15 @arg16 @arg17 @arg18 @arg19 @arg20 @arg21 @arg22 @arg23 @arg24 @arg25 @arg26 @arg27 @arg28 @arg29 @arg30 @arg31 @arg32
|
||||||
0 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 1991-01-01 01:01:01 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
|
0 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 1991-01-01 01:01:01 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
|
||||||
prepare stmt1 from "select c1 into ? from t9 where c1= 1" ;
|
prepare stmt1 from "select c1 into ? from t9 where c1= 1" ;
|
||||||
|
File diff suppressed because it is too large
Load Diff
@ -1900,38 +1900,38 @@ from t9 where c1= 1 ;
|
|||||||
1 1 1 1 1 1 1 1 1 1 1.0000 1.0000 2004-02-29 2004-02-29 11:11:11 2004-02-29 11:11:11 11:11:11 2004 1 1 a 123456789a 123456789a123456789b123456789c tinyblob tinytext blob text mediumblob mediumtext longblob longtext one monday
|
1 1 1 1 1 1 1 1 1 1 1.0000 1.0000 2004-02-29 2004-02-29 11:11:11 2004-02-29 11:11:11 11:11:11 2004 1 1 a 123456789a 123456789a123456789b123456789c tinyblob tinytext blob text mediumblob mediumtext longblob longtext one monday
|
||||||
execute full_info ;
|
execute full_info ;
|
||||||
Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
|
Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
|
||||||
def @arg01 253 20 1 Y 128 0 63
|
def @arg01 8 20 1 Y 32896 0 63
|
||||||
def @arg02 253 20 1 Y 128 0 63
|
def @arg02 8 20 1 Y 32896 0 63
|
||||||
def @arg03 253 20 1 Y 128 0 63
|
def @arg03 8 20 1 Y 32896 0 63
|
||||||
def @arg04 253 20 1 Y 128 0 63
|
def @arg04 8 20 1 Y 32896 0 63
|
||||||
def @arg05 253 20 1 Y 128 0 63
|
def @arg05 8 20 1 Y 32896 0 63
|
||||||
def @arg06 253 20 1 Y 128 0 63
|
def @arg06 8 20 1 Y 32896 0 63
|
||||||
def @arg07 253 23 1 Y 128 31 63
|
def @arg07 5 23 1 Y 32896 31 63
|
||||||
def @arg08 253 23 1 Y 128 31 63
|
def @arg08 5 23 1 Y 32896 31 63
|
||||||
def @arg09 253 23 1 Y 128 31 63
|
def @arg09 5 23 1 Y 32896 31 63
|
||||||
def @arg10 253 23 1 Y 128 31 63
|
def @arg10 5 23 1 Y 32896 31 63
|
||||||
def @arg11 253 67 6 Y 128 30 63
|
def @arg11 246 67 6 Y 128 30 63
|
||||||
def @arg12 253 67 6 Y 128 30 63
|
def @arg12 246 67 6 Y 128 30 63
|
||||||
def @arg13 253 16777216 10 Y 128 31 63
|
def @arg13 251 16777216 10 Y 128 31 63
|
||||||
def @arg14 253 16777216 19 Y 128 31 63
|
def @arg14 251 16777216 19 Y 128 31 63
|
||||||
def @arg15 253 16777216 19 Y 128 31 63
|
def @arg15 251 16777216 19 Y 128 31 63
|
||||||
def @arg16 253 16777216 8 Y 128 31 63
|
def @arg16 251 16777216 8 Y 128 31 63
|
||||||
def @arg17 253 20 4 Y 128 0 63
|
def @arg17 8 20 4 Y 32928 0 63
|
||||||
def @arg18 253 20 1 Y 128 0 63
|
def @arg18 8 20 1 Y 32896 0 63
|
||||||
def @arg19 253 20 1 Y 128 0 63
|
def @arg19 8 20 1 Y 32896 0 63
|
||||||
def @arg20 253 16777216 1 Y 0 31 8
|
def @arg20 251 16777216 1 Y 0 31 8
|
||||||
def @arg21 253 16777216 10 Y 0 31 8
|
def @arg21 251 16777216 10 Y 0 31 8
|
||||||
def @arg22 253 16777216 30 Y 0 31 8
|
def @arg22 251 16777216 30 Y 0 31 8
|
||||||
def @arg23 253 16777216 8 Y 128 31 63
|
def @arg23 251 16777216 8 Y 128 31 63
|
||||||
def @arg24 253 16777216 8 Y 0 31 8
|
def @arg24 251 16777216 8 Y 0 31 8
|
||||||
def @arg25 253 16777216 4 Y 128 31 63
|
def @arg25 251 16777216 4 Y 128 31 63
|
||||||
def @arg26 253 16777216 4 Y 0 31 8
|
def @arg26 251 16777216 4 Y 0 31 8
|
||||||
def @arg27 253 16777216 10 Y 128 31 63
|
def @arg27 251 16777216 10 Y 128 31 63
|
||||||
def @arg28 253 16777216 10 Y 0 31 8
|
def @arg28 251 16777216 10 Y 0 31 8
|
||||||
def @arg29 253 16777216 8 Y 128 31 63
|
def @arg29 251 16777216 8 Y 128 31 63
|
||||||
def @arg30 253 16777216 8 Y 0 31 8
|
def @arg30 251 16777216 8 Y 0 31 8
|
||||||
def @arg31 253 16777216 3 Y 0 31 8
|
def @arg31 251 16777216 3 Y 0 31 8
|
||||||
def @arg32 253 16777216 6 Y 0 31 8
|
def @arg32 251 16777216 6 Y 0 31 8
|
||||||
@arg01 @arg02 @arg03 @arg04 @arg05 @arg06 @arg07 @arg08 @arg09 @arg10 @arg11 @arg12 @arg13 @arg14 @arg15 @arg16 @arg17 @arg18 @arg19 @arg20 @arg21 @arg22 @arg23 @arg24 @arg25 @arg26 @arg27 @arg28 @arg29 @arg30 @arg31 @arg32
|
@arg01 @arg02 @arg03 @arg04 @arg05 @arg06 @arg07 @arg08 @arg09 @arg10 @arg11 @arg12 @arg13 @arg14 @arg15 @arg16 @arg17 @arg18 @arg19 @arg20 @arg21 @arg22 @arg23 @arg24 @arg25 @arg26 @arg27 @arg28 @arg29 @arg30 @arg31 @arg32
|
||||||
1 1 1 1 1 1 1 1 1 1 1.0000 1.0000 2004-02-29 2004-02-29 11:11:11 2004-02-29 11:11:11 11:11:11 2004 1 1 a 123456789a 123456789a123456789b123456789c tinyblob tinytext blob text mediumblob mediumtext longblob longtext one monday
|
1 1 1 1 1 1 1 1 1 1 1.0000 1.0000 2004-02-29 2004-02-29 11:11:11 2004-02-29 11:11:11 11:11:11 2004 1 1 a 123456789a 123456789a123456789b123456789c tinyblob tinytext blob text mediumblob mediumtext longblob longtext one monday
|
||||||
select @arg01:= c1, @arg02:= c2, @arg03:= c3, @arg04:= c4,
|
select @arg01:= c1, @arg02:= c2, @arg03:= c3, @arg04:= c4,
|
||||||
@ -1947,38 +1947,38 @@ from t9 where c1= 0 ;
|
|||||||
0 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 1991-01-01 01:01:01 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
|
0 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 1991-01-01 01:01:01 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
|
||||||
execute full_info ;
|
execute full_info ;
|
||||||
Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
|
Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
|
||||||
def @arg01 253 20 1 Y 128 0 63
|
def @arg01 8 20 1 Y 32896 0 63
|
||||||
def @arg02 253 20 0 Y 128 0 63
|
def @arg02 8 20 0 Y 32896 0 63
|
||||||
def @arg03 253 20 0 Y 128 0 63
|
def @arg03 8 20 0 Y 32896 0 63
|
||||||
def @arg04 253 20 0 Y 128 0 63
|
def @arg04 8 20 0 Y 32896 0 63
|
||||||
def @arg05 253 20 0 Y 128 0 63
|
def @arg05 8 20 0 Y 32896 0 63
|
||||||
def @arg06 253 20 0 Y 128 0 63
|
def @arg06 8 20 0 Y 32896 0 63
|
||||||
def @arg07 253 23 0 Y 128 31 63
|
def @arg07 5 23 0 Y 32896 31 63
|
||||||
def @arg08 253 23 0 Y 128 31 63
|
def @arg08 5 23 0 Y 32896 31 63
|
||||||
def @arg09 253 23 0 Y 128 31 63
|
def @arg09 5 23 0 Y 32896 31 63
|
||||||
def @arg10 253 23 0 Y 128 31 63
|
def @arg10 5 23 0 Y 32896 31 63
|
||||||
def @arg11 253 67 0 Y 128 30 63
|
def @arg11 246 67 0 Y 128 30 63
|
||||||
def @arg12 253 67 0 Y 128 30 63
|
def @arg12 246 67 0 Y 128 30 63
|
||||||
def @arg13 253 16777216 0 Y 128 31 63
|
def @arg13 251 16777216 0 Y 128 31 63
|
||||||
def @arg14 253 16777216 0 Y 128 31 63
|
def @arg14 251 16777216 0 Y 128 31 63
|
||||||
def @arg15 253 16777216 19 Y 128 31 63
|
def @arg15 251 16777216 19 Y 128 31 63
|
||||||
def @arg16 253 16777216 0 Y 128 31 63
|
def @arg16 251 16777216 0 Y 128 31 63
|
||||||
def @arg17 253 20 0 Y 128 0 63
|
def @arg17 8 20 0 Y 32928 0 63
|
||||||
def @arg18 253 20 0 Y 128 0 63
|
def @arg18 8 20 0 Y 32896 0 63
|
||||||
def @arg19 253 20 0 Y 128 0 63
|
def @arg19 8 20 0 Y 32896 0 63
|
||||||
def @arg20 253 16777216 0 Y 0 31 8
|
def @arg20 251 16777216 0 Y 0 31 8
|
||||||
def @arg21 253 16777216 0 Y 0 31 8
|
def @arg21 251 16777216 0 Y 0 31 8
|
||||||
def @arg22 253 16777216 0 Y 0 31 8
|
def @arg22 251 16777216 0 Y 0 31 8
|
||||||
def @arg23 253 16777216 0 Y 128 31 63
|
def @arg23 251 16777216 0 Y 128 31 63
|
||||||
def @arg24 253 16777216 0 Y 0 31 8
|
def @arg24 251 16777216 0 Y 0 31 8
|
||||||
def @arg25 253 16777216 0 Y 128 31 63
|
def @arg25 251 16777216 0 Y 128 31 63
|
||||||
def @arg26 253 16777216 0 Y 0 31 8
|
def @arg26 251 16777216 0 Y 0 31 8
|
||||||
def @arg27 253 16777216 0 Y 128 31 63
|
def @arg27 251 16777216 0 Y 128 31 63
|
||||||
def @arg28 253 16777216 0 Y 0 31 8
|
def @arg28 251 16777216 0 Y 0 31 8
|
||||||
def @arg29 253 16777216 0 Y 128 31 63
|
def @arg29 251 16777216 0 Y 128 31 63
|
||||||
def @arg30 253 16777216 0 Y 0 31 8
|
def @arg30 251 16777216 0 Y 0 31 8
|
||||||
def @arg31 253 16777216 0 Y 0 31 8
|
def @arg31 251 16777216 0 Y 0 31 8
|
||||||
def @arg32 253 16777216 0 Y 0 31 8
|
def @arg32 251 16777216 0 Y 0 31 8
|
||||||
@arg01 @arg02 @arg03 @arg04 @arg05 @arg06 @arg07 @arg08 @arg09 @arg10 @arg11 @arg12 @arg13 @arg14 @arg15 @arg16 @arg17 @arg18 @arg19 @arg20 @arg21 @arg22 @arg23 @arg24 @arg25 @arg26 @arg27 @arg28 @arg29 @arg30 @arg31 @arg32
|
@arg01 @arg02 @arg03 @arg04 @arg05 @arg06 @arg07 @arg08 @arg09 @arg10 @arg11 @arg12 @arg13 @arg14 @arg15 @arg16 @arg17 @arg18 @arg19 @arg20 @arg21 @arg22 @arg23 @arg24 @arg25 @arg26 @arg27 @arg28 @arg29 @arg30 @arg31 @arg32
|
||||||
0 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 1991-01-01 01:01:01 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
|
0 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 1991-01-01 01:01:01 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
|
||||||
prepare stmt1 from "select
|
prepare stmt1 from "select
|
||||||
@ -1997,38 +1997,38 @@ execute stmt1 using @my_key ;
|
|||||||
1 1 1 1 1 1 1 1 1 1 1.0000 1.0000 2004-02-29 2004-02-29 11:11:11 2004-02-29 11:11:11 11:11:11 2004 1 1 a 123456789a 123456789a123456789b123456789c tinyblob tinytext blob text mediumblob mediumtext longblob longtext one monday
|
1 1 1 1 1 1 1 1 1 1 1.0000 1.0000 2004-02-29 2004-02-29 11:11:11 2004-02-29 11:11:11 11:11:11 2004 1 1 a 123456789a 123456789a123456789b123456789c tinyblob tinytext blob text mediumblob mediumtext longblob longtext one monday
|
||||||
execute full_info ;
|
execute full_info ;
|
||||||
Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
|
Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
|
||||||
def @arg01 253 20 1 Y 128 0 63
|
def @arg01 8 20 1 Y 32896 0 63
|
||||||
def @arg02 253 20 1 Y 128 0 63
|
def @arg02 8 20 1 Y 32896 0 63
|
||||||
def @arg03 253 20 1 Y 128 0 63
|
def @arg03 8 20 1 Y 32896 0 63
|
||||||
def @arg04 253 20 1 Y 128 0 63
|
def @arg04 8 20 1 Y 32896 0 63
|
||||||
def @arg05 253 20 1 Y 128 0 63
|
def @arg05 8 20 1 Y 32896 0 63
|
||||||
def @arg06 253 20 1 Y 128 0 63
|
def @arg06 8 20 1 Y 32896 0 63
|
||||||
def @arg07 253 23 1 Y 128 31 63
|
def @arg07 5 23 1 Y 32896 31 63
|
||||||
def @arg08 253 23 1 Y 128 31 63
|
def @arg08 5 23 1 Y 32896 31 63
|
||||||
def @arg09 253 23 1 Y 128 31 63
|
def @arg09 5 23 1 Y 32896 31 63
|
||||||
def @arg10 253 23 1 Y 128 31 63
|
def @arg10 5 23 1 Y 32896 31 63
|
||||||
def @arg11 253 67 6 Y 128 30 63
|
def @arg11 246 67 6 Y 128 30 63
|
||||||
def @arg12 253 67 6 Y 128 30 63
|
def @arg12 246 67 6 Y 128 30 63
|
||||||
def @arg13 253 16777216 10 Y 128 31 63
|
def @arg13 251 16777216 10 Y 128 31 63
|
||||||
def @arg14 253 16777216 19 Y 128 31 63
|
def @arg14 251 16777216 19 Y 128 31 63
|
||||||
def @arg15 253 16777216 19 Y 128 31 63
|
def @arg15 251 16777216 19 Y 128 31 63
|
||||||
def @arg16 253 16777216 8 Y 128 31 63
|
def @arg16 251 16777216 8 Y 128 31 63
|
||||||
def @arg17 253 20 4 Y 128 0 63
|
def @arg17 8 20 4 Y 32928 0 63
|
||||||
def @arg18 253 20 1 Y 128 0 63
|
def @arg18 8 20 1 Y 32896 0 63
|
||||||
def @arg19 253 20 1 Y 128 0 63
|
def @arg19 8 20 1 Y 32896 0 63
|
||||||
def @arg20 253 16777216 1 Y 0 31 8
|
def @arg20 251 16777216 1 Y 0 31 8
|
||||||
def @arg21 253 16777216 10 Y 0 31 8
|
def @arg21 251 16777216 10 Y 0 31 8
|
||||||
def @arg22 253 16777216 30 Y 0 31 8
|
def @arg22 251 16777216 30 Y 0 31 8
|
||||||
def @arg23 253 16777216 8 Y 128 31 63
|
def @arg23 251 16777216 8 Y 128 31 63
|
||||||
def @arg24 253 16777216 8 Y 0 31 8
|
def @arg24 251 16777216 8 Y 0 31 8
|
||||||
def @arg25 253 16777216 4 Y 128 31 63
|
def @arg25 251 16777216 4 Y 128 31 63
|
||||||
def @arg26 253 16777216 4 Y 0 31 8
|
def @arg26 251 16777216 4 Y 0 31 8
|
||||||
def @arg27 253 16777216 10 Y 128 31 63
|
def @arg27 251 16777216 10 Y 128 31 63
|
||||||
def @arg28 253 16777216 10 Y 0 31 8
|
def @arg28 251 16777216 10 Y 0 31 8
|
||||||
def @arg29 253 16777216 8 Y 128 31 63
|
def @arg29 251 16777216 8 Y 128 31 63
|
||||||
def @arg30 253 16777216 8 Y 0 31 8
|
def @arg30 251 16777216 8 Y 0 31 8
|
||||||
def @arg31 253 16777216 3 Y 0 31 8
|
def @arg31 251 16777216 3 Y 0 31 8
|
||||||
def @arg32 253 16777216 6 Y 0 31 8
|
def @arg32 251 16777216 6 Y 0 31 8
|
||||||
@arg01 @arg02 @arg03 @arg04 @arg05 @arg06 @arg07 @arg08 @arg09 @arg10 @arg11 @arg12 @arg13 @arg14 @arg15 @arg16 @arg17 @arg18 @arg19 @arg20 @arg21 @arg22 @arg23 @arg24 @arg25 @arg26 @arg27 @arg28 @arg29 @arg30 @arg31 @arg32
|
@arg01 @arg02 @arg03 @arg04 @arg05 @arg06 @arg07 @arg08 @arg09 @arg10 @arg11 @arg12 @arg13 @arg14 @arg15 @arg16 @arg17 @arg18 @arg19 @arg20 @arg21 @arg22 @arg23 @arg24 @arg25 @arg26 @arg27 @arg28 @arg29 @arg30 @arg31 @arg32
|
||||||
1 1 1 1 1 1 1 1 1 1 1.0000 1.0000 2004-02-29 2004-02-29 11:11:11 2004-02-29 11:11:11 11:11:11 2004 1 1 a 123456789a 123456789a123456789b123456789c tinyblob tinytext blob text mediumblob mediumtext longblob longtext one monday
|
1 1 1 1 1 1 1 1 1 1 1.0000 1.0000 2004-02-29 2004-02-29 11:11:11 2004-02-29 11:11:11 11:11:11 2004 1 1 a 123456789a 123456789a123456789b123456789c tinyblob tinytext blob text mediumblob mediumtext longblob longtext one monday
|
||||||
set @my_key= 0 ;
|
set @my_key= 0 ;
|
||||||
@ -2037,38 +2037,38 @@ execute stmt1 using @my_key ;
|
|||||||
0 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 1991-01-01 01:01:01 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
|
0 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 1991-01-01 01:01:01 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
|
||||||
execute full_info ;
|
execute full_info ;
|
||||||
Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
|
Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
|
||||||
def @arg01 253 20 1 Y 128 0 63
|
def @arg01 8 20 1 Y 32896 0 63
|
||||||
def @arg02 253 20 0 Y 128 0 63
|
def @arg02 8 20 0 Y 32896 0 63
|
||||||
def @arg03 253 20 0 Y 128 0 63
|
def @arg03 8 20 0 Y 32896 0 63
|
||||||
def @arg04 253 20 0 Y 128 0 63
|
def @arg04 8 20 0 Y 32896 0 63
|
||||||
def @arg05 253 20 0 Y 128 0 63
|
def @arg05 8 20 0 Y 32896 0 63
|
||||||
def @arg06 253 20 0 Y 128 0 63
|
def @arg06 8 20 0 Y 32896 0 63
|
||||||
def @arg07 253 23 0 Y 128 31 63
|
def @arg07 5 23 0 Y 32896 31 63
|
||||||
def @arg08 253 23 0 Y 128 31 63
|
def @arg08 5 23 0 Y 32896 31 63
|
||||||
def @arg09 253 23 0 Y 128 31 63
|
def @arg09 5 23 0 Y 32896 31 63
|
||||||
def @arg10 253 23 0 Y 128 31 63
|
def @arg10 5 23 0 Y 32896 31 63
|
||||||
def @arg11 253 67 0 Y 128 30 63
|
def @arg11 246 67 0 Y 128 30 63
|
||||||
def @arg12 253 67 0 Y 128 30 63
|
def @arg12 246 67 0 Y 128 30 63
|
||||||
def @arg13 253 16777216 0 Y 128 31 63
|
def @arg13 251 16777216 0 Y 128 31 63
|
||||||
def @arg14 253 16777216 0 Y 128 31 63
|
def @arg14 251 16777216 0 Y 128 31 63
|
||||||
def @arg15 253 16777216 19 Y 128 31 63
|
def @arg15 251 16777216 19 Y 128 31 63
|
||||||
def @arg16 253 16777216 0 Y 128 31 63
|
def @arg16 251 16777216 0 Y 128 31 63
|
||||||
def @arg17 253 20 0 Y 128 0 63
|
def @arg17 8 20 0 Y 32928 0 63
|
||||||
def @arg18 253 20 0 Y 128 0 63
|
def @arg18 8 20 0 Y 32896 0 63
|
||||||
def @arg19 253 20 0 Y 128 0 63
|
def @arg19 8 20 0 Y 32896 0 63
|
||||||
def @arg20 253 16777216 0 Y 0 31 8
|
def @arg20 251 16777216 0 Y 0 31 8
|
||||||
def @arg21 253 16777216 0 Y 0 31 8
|
def @arg21 251 16777216 0 Y 0 31 8
|
||||||
def @arg22 253 16777216 0 Y 0 31 8
|
def @arg22 251 16777216 0 Y 0 31 8
|
||||||
def @arg23 253 16777216 0 Y 128 31 63
|
def @arg23 251 16777216 0 Y 128 31 63
|
||||||
def @arg24 253 16777216 0 Y 0 31 8
|
def @arg24 251 16777216 0 Y 0 31 8
|
||||||
def @arg25 253 16777216 0 Y 128 31 63
|
def @arg25 251 16777216 0 Y 128 31 63
|
||||||
def @arg26 253 16777216 0 Y 0 31 8
|
def @arg26 251 16777216 0 Y 0 31 8
|
||||||
def @arg27 253 16777216 0 Y 128 31 63
|
def @arg27 251 16777216 0 Y 128 31 63
|
||||||
def @arg28 253 16777216 0 Y 0 31 8
|
def @arg28 251 16777216 0 Y 0 31 8
|
||||||
def @arg29 253 16777216 0 Y 128 31 63
|
def @arg29 251 16777216 0 Y 128 31 63
|
||||||
def @arg30 253 16777216 0 Y 0 31 8
|
def @arg30 251 16777216 0 Y 0 31 8
|
||||||
def @arg31 253 16777216 0 Y 0 31 8
|
def @arg31 251 16777216 0 Y 0 31 8
|
||||||
def @arg32 253 16777216 0 Y 0 31 8
|
def @arg32 251 16777216 0 Y 0 31 8
|
||||||
@arg01 @arg02 @arg03 @arg04 @arg05 @arg06 @arg07 @arg08 @arg09 @arg10 @arg11 @arg12 @arg13 @arg14 @arg15 @arg16 @arg17 @arg18 @arg19 @arg20 @arg21 @arg22 @arg23 @arg24 @arg25 @arg26 @arg27 @arg28 @arg29 @arg30 @arg31 @arg32
|
@arg01 @arg02 @arg03 @arg04 @arg05 @arg06 @arg07 @arg08 @arg09 @arg10 @arg11 @arg12 @arg13 @arg14 @arg15 @arg16 @arg17 @arg18 @arg19 @arg20 @arg21 @arg22 @arg23 @arg24 @arg25 @arg26 @arg27 @arg28 @arg29 @arg30 @arg31 @arg32
|
||||||
0 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 1991-01-01 01:01:01 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
|
0 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 1991-01-01 01:01:01 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
|
||||||
prepare stmt1 from "select ? := c1 from t9 where c1= 1" ;
|
prepare stmt1 from "select ? := c1 from t9 where c1= 1" ;
|
||||||
@ -2085,38 +2085,38 @@ into @arg01, @arg02, @arg03, @arg04, @arg05, @arg06, @arg07, @arg08,
|
|||||||
from t9 where c1= 1 ;
|
from t9 where c1= 1 ;
|
||||||
execute full_info ;
|
execute full_info ;
|
||||||
Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
|
Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
|
||||||
def @arg01 253 20 1 Y 128 0 63
|
def @arg01 8 20 1 Y 32896 0 63
|
||||||
def @arg02 253 20 1 Y 128 0 63
|
def @arg02 8 20 1 Y 32896 0 63
|
||||||
def @arg03 253 20 1 Y 128 0 63
|
def @arg03 8 20 1 Y 32896 0 63
|
||||||
def @arg04 253 20 1 Y 128 0 63
|
def @arg04 8 20 1 Y 32896 0 63
|
||||||
def @arg05 253 20 1 Y 128 0 63
|
def @arg05 8 20 1 Y 32896 0 63
|
||||||
def @arg06 253 20 1 Y 128 0 63
|
def @arg06 8 20 1 Y 32896 0 63
|
||||||
def @arg07 253 23 1 Y 128 31 63
|
def @arg07 5 23 1 Y 32896 31 63
|
||||||
def @arg08 253 23 1 Y 128 31 63
|
def @arg08 5 23 1 Y 32896 31 63
|
||||||
def @arg09 253 23 1 Y 128 31 63
|
def @arg09 5 23 1 Y 32896 31 63
|
||||||
def @arg10 253 23 1 Y 128 31 63
|
def @arg10 5 23 1 Y 32896 31 63
|
||||||
def @arg11 253 67 6 Y 128 30 63
|
def @arg11 246 67 6 Y 128 30 63
|
||||||
def @arg12 253 67 6 Y 128 30 63
|
def @arg12 246 67 6 Y 128 30 63
|
||||||
def @arg13 253 16777216 10 Y 128 31 63
|
def @arg13 251 16777216 10 Y 128 31 63
|
||||||
def @arg14 253 16777216 19 Y 128 31 63
|
def @arg14 251 16777216 19 Y 128 31 63
|
||||||
def @arg15 253 16777216 19 Y 128 31 63
|
def @arg15 251 16777216 19 Y 128 31 63
|
||||||
def @arg16 253 16777216 8 Y 128 31 63
|
def @arg16 251 16777216 8 Y 128 31 63
|
||||||
def @arg17 253 20 4 Y 128 0 63
|
def @arg17 8 20 4 Y 32928 0 63
|
||||||
def @arg18 253 20 1 Y 128 0 63
|
def @arg18 8 20 1 Y 32896 0 63
|
||||||
def @arg19 253 20 1 Y 128 0 63
|
def @arg19 8 20 1 Y 32896 0 63
|
||||||
def @arg20 253 16777216 1 Y 0 31 8
|
def @arg20 251 16777216 1 Y 0 31 8
|
||||||
def @arg21 253 16777216 10 Y 0 31 8
|
def @arg21 251 16777216 10 Y 0 31 8
|
||||||
def @arg22 253 16777216 30 Y 0 31 8
|
def @arg22 251 16777216 30 Y 0 31 8
|
||||||
def @arg23 253 16777216 8 Y 128 31 63
|
def @arg23 251 16777216 8 Y 128 31 63
|
||||||
def @arg24 253 16777216 8 Y 0 31 8
|
def @arg24 251 16777216 8 Y 0 31 8
|
||||||
def @arg25 253 16777216 4 Y 128 31 63
|
def @arg25 251 16777216 4 Y 128 31 63
|
||||||
def @arg26 253 16777216 4 Y 0 31 8
|
def @arg26 251 16777216 4 Y 0 31 8
|
||||||
def @arg27 253 16777216 10 Y 128 31 63
|
def @arg27 251 16777216 10 Y 128 31 63
|
||||||
def @arg28 253 16777216 10 Y 0 31 8
|
def @arg28 251 16777216 10 Y 0 31 8
|
||||||
def @arg29 253 16777216 8 Y 128 31 63
|
def @arg29 251 16777216 8 Y 128 31 63
|
||||||
def @arg30 253 16777216 8 Y 0 31 8
|
def @arg30 251 16777216 8 Y 0 31 8
|
||||||
def @arg31 253 16777216 3 Y 0 31 8
|
def @arg31 251 16777216 3 Y 0 31 8
|
||||||
def @arg32 253 16777216 6 Y 0 31 8
|
def @arg32 251 16777216 6 Y 0 31 8
|
||||||
@arg01 @arg02 @arg03 @arg04 @arg05 @arg06 @arg07 @arg08 @arg09 @arg10 @arg11 @arg12 @arg13 @arg14 @arg15 @arg16 @arg17 @arg18 @arg19 @arg20 @arg21 @arg22 @arg23 @arg24 @arg25 @arg26 @arg27 @arg28 @arg29 @arg30 @arg31 @arg32
|
@arg01 @arg02 @arg03 @arg04 @arg05 @arg06 @arg07 @arg08 @arg09 @arg10 @arg11 @arg12 @arg13 @arg14 @arg15 @arg16 @arg17 @arg18 @arg19 @arg20 @arg21 @arg22 @arg23 @arg24 @arg25 @arg26 @arg27 @arg28 @arg29 @arg30 @arg31 @arg32
|
||||||
1 1 1 1 1 1 1 1 1 1 1.0000 1.0000 2004-02-29 2004-02-29 11:11:11 2004-02-29 11:11:11 11:11:11 2004 1 1 a 123456789a 123456789a123456789b123456789c tinyblob tinytext blob text mediumblob mediumtext longblob longtext one monday
|
1 1 1 1 1 1 1 1 1 1 1.0000 1.0000 2004-02-29 2004-02-29 11:11:11 2004-02-29 11:11:11 11:11:11 2004 1 1 a 123456789a 123456789a123456789b123456789c tinyblob tinytext blob text mediumblob mediumtext longblob longtext one monday
|
||||||
select c1, c2, c3, c4, c5, c6, c7, c8, c9, c10, c11, c12,
|
select c1, c2, c3, c4, c5, c6, c7, c8, c9, c10, c11, c12,
|
||||||
@ -2129,38 +2129,38 @@ into @arg01, @arg02, @arg03, @arg04, @arg05, @arg06, @arg07, @arg08,
|
|||||||
from t9 where c1= 0 ;
|
from t9 where c1= 0 ;
|
||||||
execute full_info ;
|
execute full_info ;
|
||||||
Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
|
Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
|
||||||
def @arg01 253 20 1 Y 128 0 63
|
def @arg01 8 20 1 Y 32896 0 63
|
||||||
def @arg02 253 20 0 Y 128 0 63
|
def @arg02 8 20 0 Y 32896 0 63
|
||||||
def @arg03 253 20 0 Y 128 0 63
|
def @arg03 8 20 0 Y 32896 0 63
|
||||||
def @arg04 253 20 0 Y 128 0 63
|
def @arg04 8 20 0 Y 32896 0 63
|
||||||
def @arg05 253 20 0 Y 128 0 63
|
def @arg05 8 20 0 Y 32896 0 63
|
||||||
def @arg06 253 20 0 Y 128 0 63
|
def @arg06 8 20 0 Y 32896 0 63
|
||||||
def @arg07 253 23 0 Y 128 31 63
|
def @arg07 5 23 0 Y 32896 31 63
|
||||||
def @arg08 253 23 0 Y 128 31 63
|
def @arg08 5 23 0 Y 32896 31 63
|
||||||
def @arg09 253 23 0 Y 128 31 63
|
def @arg09 5 23 0 Y 32896 31 63
|
||||||
def @arg10 253 23 0 Y 128 31 63
|
def @arg10 5 23 0 Y 32896 31 63
|
||||||
def @arg11 253 67 0 Y 128 30 63
|
def @arg11 246 67 0 Y 128 30 63
|
||||||
def @arg12 253 67 0 Y 128 30 63
|
def @arg12 246 67 0 Y 128 30 63
|
||||||
def @arg13 253 16777216 0 Y 128 31 63
|
def @arg13 251 16777216 0 Y 128 31 63
|
||||||
def @arg14 253 16777216 0 Y 128 31 63
|
def @arg14 251 16777216 0 Y 128 31 63
|
||||||
def @arg15 253 16777216 19 Y 128 31 63
|
def @arg15 251 16777216 19 Y 128 31 63
|
||||||
def @arg16 253 16777216 0 Y 128 31 63
|
def @arg16 251 16777216 0 Y 128 31 63
|
||||||
def @arg17 253 20 0 Y 128 0 63
|
def @arg17 8 20 0 Y 32928 0 63
|
||||||
def @arg18 253 20 0 Y 128 0 63
|
def @arg18 8 20 0 Y 32896 0 63
|
||||||
def @arg19 253 20 0 Y 128 0 63
|
def @arg19 8 20 0 Y 32896 0 63
|
||||||
def @arg20 253 16777216 0 Y 0 31 8
|
def @arg20 251 16777216 0 Y 0 31 8
|
||||||
def @arg21 253 16777216 0 Y 0 31 8
|
def @arg21 251 16777216 0 Y 0 31 8
|
||||||
def @arg22 253 16777216 0 Y 0 31 8
|
def @arg22 251 16777216 0 Y 0 31 8
|
||||||
def @arg23 253 16777216 0 Y 128 31 63
|
def @arg23 251 16777216 0 Y 128 31 63
|
||||||
def @arg24 253 16777216 0 Y 0 31 8
|
def @arg24 251 16777216 0 Y 0 31 8
|
||||||
def @arg25 253 16777216 0 Y 128 31 63
|
def @arg25 251 16777216 0 Y 128 31 63
|
||||||
def @arg26 253 16777216 0 Y 0 31 8
|
def @arg26 251 16777216 0 Y 0 31 8
|
||||||
def @arg27 253 16777216 0 Y 128 31 63
|
def @arg27 251 16777216 0 Y 128 31 63
|
||||||
def @arg28 253 16777216 0 Y 0 31 8
|
def @arg28 251 16777216 0 Y 0 31 8
|
||||||
def @arg29 253 16777216 0 Y 128 31 63
|
def @arg29 251 16777216 0 Y 128 31 63
|
||||||
def @arg30 253 16777216 0 Y 0 31 8
|
def @arg30 251 16777216 0 Y 0 31 8
|
||||||
def @arg31 253 16777216 0 Y 0 31 8
|
def @arg31 251 16777216 0 Y 0 31 8
|
||||||
def @arg32 253 16777216 0 Y 0 31 8
|
def @arg32 251 16777216 0 Y 0 31 8
|
||||||
@arg01 @arg02 @arg03 @arg04 @arg05 @arg06 @arg07 @arg08 @arg09 @arg10 @arg11 @arg12 @arg13 @arg14 @arg15 @arg16 @arg17 @arg18 @arg19 @arg20 @arg21 @arg22 @arg23 @arg24 @arg25 @arg26 @arg27 @arg28 @arg29 @arg30 @arg31 @arg32
|
@arg01 @arg02 @arg03 @arg04 @arg05 @arg06 @arg07 @arg08 @arg09 @arg10 @arg11 @arg12 @arg13 @arg14 @arg15 @arg16 @arg17 @arg18 @arg19 @arg20 @arg21 @arg22 @arg23 @arg24 @arg25 @arg26 @arg27 @arg28 @arg29 @arg30 @arg31 @arg32
|
||||||
0 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 1991-01-01 01:01:01 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
|
0 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 1991-01-01 01:01:01 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
|
||||||
prepare stmt1 from "select c1, c2, c3, c4, c5, c6, c7, c8, c9, c10, c11, c12,
|
prepare stmt1 from "select c1, c2, c3, c4, c5, c6, c7, c8, c9, c10, c11, c12,
|
||||||
@ -2175,76 +2175,76 @@ set @my_key= 1 ;
|
|||||||
execute stmt1 using @my_key ;
|
execute stmt1 using @my_key ;
|
||||||
execute full_info ;
|
execute full_info ;
|
||||||
Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
|
Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
|
||||||
def @arg01 253 20 1 Y 128 0 63
|
def @arg01 8 20 1 Y 32896 0 63
|
||||||
def @arg02 253 20 1 Y 128 0 63
|
def @arg02 8 20 1 Y 32896 0 63
|
||||||
def @arg03 253 20 1 Y 128 0 63
|
def @arg03 8 20 1 Y 32896 0 63
|
||||||
def @arg04 253 20 1 Y 128 0 63
|
def @arg04 8 20 1 Y 32896 0 63
|
||||||
def @arg05 253 20 1 Y 128 0 63
|
def @arg05 8 20 1 Y 32896 0 63
|
||||||
def @arg06 253 20 1 Y 128 0 63
|
def @arg06 8 20 1 Y 32896 0 63
|
||||||
def @arg07 253 23 1 Y 128 31 63
|
def @arg07 5 23 1 Y 32896 31 63
|
||||||
def @arg08 253 23 1 Y 128 31 63
|
def @arg08 5 23 1 Y 32896 31 63
|
||||||
def @arg09 253 23 1 Y 128 31 63
|
def @arg09 5 23 1 Y 32896 31 63
|
||||||
def @arg10 253 23 1 Y 128 31 63
|
def @arg10 5 23 1 Y 32896 31 63
|
||||||
def @arg11 253 67 6 Y 128 30 63
|
def @arg11 246 67 6 Y 128 30 63
|
||||||
def @arg12 253 67 6 Y 128 30 63
|
def @arg12 246 67 6 Y 128 30 63
|
||||||
def @arg13 253 16777216 10 Y 128 31 63
|
def @arg13 251 16777216 10 Y 128 31 63
|
||||||
def @arg14 253 16777216 19 Y 128 31 63
|
def @arg14 251 16777216 19 Y 128 31 63
|
||||||
def @arg15 253 16777216 19 Y 128 31 63
|
def @arg15 251 16777216 19 Y 128 31 63
|
||||||
def @arg16 253 16777216 8 Y 128 31 63
|
def @arg16 251 16777216 8 Y 128 31 63
|
||||||
def @arg17 253 20 4 Y 128 0 63
|
def @arg17 8 20 4 Y 32928 0 63
|
||||||
def @arg18 253 20 1 Y 128 0 63
|
def @arg18 8 20 1 Y 32896 0 63
|
||||||
def @arg19 253 20 1 Y 128 0 63
|
def @arg19 8 20 1 Y 32896 0 63
|
||||||
def @arg20 253 16777216 1 Y 0 31 8
|
def @arg20 251 16777216 1 Y 0 31 8
|
||||||
def @arg21 253 16777216 10 Y 0 31 8
|
def @arg21 251 16777216 10 Y 0 31 8
|
||||||
def @arg22 253 16777216 30 Y 0 31 8
|
def @arg22 251 16777216 30 Y 0 31 8
|
||||||
def @arg23 253 16777216 8 Y 128 31 63
|
def @arg23 251 16777216 8 Y 128 31 63
|
||||||
def @arg24 253 16777216 8 Y 0 31 8
|
def @arg24 251 16777216 8 Y 0 31 8
|
||||||
def @arg25 253 16777216 4 Y 128 31 63
|
def @arg25 251 16777216 4 Y 128 31 63
|
||||||
def @arg26 253 16777216 4 Y 0 31 8
|
def @arg26 251 16777216 4 Y 0 31 8
|
||||||
def @arg27 253 16777216 10 Y 128 31 63
|
def @arg27 251 16777216 10 Y 128 31 63
|
||||||
def @arg28 253 16777216 10 Y 0 31 8
|
def @arg28 251 16777216 10 Y 0 31 8
|
||||||
def @arg29 253 16777216 8 Y 128 31 63
|
def @arg29 251 16777216 8 Y 128 31 63
|
||||||
def @arg30 253 16777216 8 Y 0 31 8
|
def @arg30 251 16777216 8 Y 0 31 8
|
||||||
def @arg31 253 16777216 3 Y 0 31 8
|
def @arg31 251 16777216 3 Y 0 31 8
|
||||||
def @arg32 253 16777216 6 Y 0 31 8
|
def @arg32 251 16777216 6 Y 0 31 8
|
||||||
@arg01 @arg02 @arg03 @arg04 @arg05 @arg06 @arg07 @arg08 @arg09 @arg10 @arg11 @arg12 @arg13 @arg14 @arg15 @arg16 @arg17 @arg18 @arg19 @arg20 @arg21 @arg22 @arg23 @arg24 @arg25 @arg26 @arg27 @arg28 @arg29 @arg30 @arg31 @arg32
|
@arg01 @arg02 @arg03 @arg04 @arg05 @arg06 @arg07 @arg08 @arg09 @arg10 @arg11 @arg12 @arg13 @arg14 @arg15 @arg16 @arg17 @arg18 @arg19 @arg20 @arg21 @arg22 @arg23 @arg24 @arg25 @arg26 @arg27 @arg28 @arg29 @arg30 @arg31 @arg32
|
||||||
1 1 1 1 1 1 1 1 1 1 1.0000 1.0000 2004-02-29 2004-02-29 11:11:11 2004-02-29 11:11:11 11:11:11 2004 1 1 a 123456789a 123456789a123456789b123456789c tinyblob tinytext blob text mediumblob mediumtext longblob longtext one monday
|
1 1 1 1 1 1 1 1 1 1 1.0000 1.0000 2004-02-29 2004-02-29 11:11:11 2004-02-29 11:11:11 11:11:11 2004 1 1 a 123456789a 123456789a123456789b123456789c tinyblob tinytext blob text mediumblob mediumtext longblob longtext one monday
|
||||||
set @my_key= 0 ;
|
set @my_key= 0 ;
|
||||||
execute stmt1 using @my_key ;
|
execute stmt1 using @my_key ;
|
||||||
execute full_info ;
|
execute full_info ;
|
||||||
Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
|
Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
|
||||||
def @arg01 253 20 1 Y 128 0 63
|
def @arg01 8 20 1 Y 32896 0 63
|
||||||
def @arg02 253 20 0 Y 128 0 63
|
def @arg02 8 20 0 Y 32896 0 63
|
||||||
def @arg03 253 20 0 Y 128 0 63
|
def @arg03 8 20 0 Y 32896 0 63
|
||||||
def @arg04 253 20 0 Y 128 0 63
|
def @arg04 8 20 0 Y 32896 0 63
|
||||||
def @arg05 253 20 0 Y 128 0 63
|
def @arg05 8 20 0 Y 32896 0 63
|
||||||
def @arg06 253 20 0 Y 128 0 63
|
def @arg06 8 20 0 Y 32896 0 63
|
||||||
def @arg07 253 23 0 Y 128 31 63
|
def @arg07 5 23 0 Y 32896 31 63
|
||||||
def @arg08 253 23 0 Y 128 31 63
|
def @arg08 5 23 0 Y 32896 31 63
|
||||||
def @arg09 253 23 0 Y 128 31 63
|
def @arg09 5 23 0 Y 32896 31 63
|
||||||
def @arg10 253 23 0 Y 128 31 63
|
def @arg10 5 23 0 Y 32896 31 63
|
||||||
def @arg11 253 67 0 Y 128 30 63
|
def @arg11 246 67 0 Y 128 30 63
|
||||||
def @arg12 253 67 0 Y 128 30 63
|
def @arg12 246 67 0 Y 128 30 63
|
||||||
def @arg13 253 16777216 0 Y 128 31 63
|
def @arg13 251 16777216 0 Y 128 31 63
|
||||||
def @arg14 253 16777216 0 Y 128 31 63
|
def @arg14 251 16777216 0 Y 128 31 63
|
||||||
def @arg15 253 16777216 19 Y 128 31 63
|
def @arg15 251 16777216 19 Y 128 31 63
|
||||||
def @arg16 253 16777216 0 Y 128 31 63
|
def @arg16 251 16777216 0 Y 128 31 63
|
||||||
def @arg17 253 20 0 Y 128 0 63
|
def @arg17 8 20 0 Y 32928 0 63
|
||||||
def @arg18 253 20 0 Y 128 0 63
|
def @arg18 8 20 0 Y 32896 0 63
|
||||||
def @arg19 253 20 0 Y 128 0 63
|
def @arg19 8 20 0 Y 32896 0 63
|
||||||
def @arg20 253 16777216 0 Y 0 31 8
|
def @arg20 251 16777216 0 Y 0 31 8
|
||||||
def @arg21 253 16777216 0 Y 0 31 8
|
def @arg21 251 16777216 0 Y 0 31 8
|
||||||
def @arg22 253 16777216 0 Y 0 31 8
|
def @arg22 251 16777216 0 Y 0 31 8
|
||||||
def @arg23 253 16777216 0 Y 128 31 63
|
def @arg23 251 16777216 0 Y 128 31 63
|
||||||
def @arg24 253 16777216 0 Y 0 31 8
|
def @arg24 251 16777216 0 Y 0 31 8
|
||||||
def @arg25 253 16777216 0 Y 128 31 63
|
def @arg25 251 16777216 0 Y 128 31 63
|
||||||
def @arg26 253 16777216 0 Y 0 31 8
|
def @arg26 251 16777216 0 Y 0 31 8
|
||||||
def @arg27 253 16777216 0 Y 128 31 63
|
def @arg27 251 16777216 0 Y 128 31 63
|
||||||
def @arg28 253 16777216 0 Y 0 31 8
|
def @arg28 251 16777216 0 Y 0 31 8
|
||||||
def @arg29 253 16777216 0 Y 128 31 63
|
def @arg29 251 16777216 0 Y 128 31 63
|
||||||
def @arg30 253 16777216 0 Y 0 31 8
|
def @arg30 251 16777216 0 Y 0 31 8
|
||||||
def @arg31 253 16777216 0 Y 0 31 8
|
def @arg31 251 16777216 0 Y 0 31 8
|
||||||
def @arg32 253 16777216 0 Y 0 31 8
|
def @arg32 251 16777216 0 Y 0 31 8
|
||||||
@arg01 @arg02 @arg03 @arg04 @arg05 @arg06 @arg07 @arg08 @arg09 @arg10 @arg11 @arg12 @arg13 @arg14 @arg15 @arg16 @arg17 @arg18 @arg19 @arg20 @arg21 @arg22 @arg23 @arg24 @arg25 @arg26 @arg27 @arg28 @arg29 @arg30 @arg31 @arg32
|
@arg01 @arg02 @arg03 @arg04 @arg05 @arg06 @arg07 @arg08 @arg09 @arg10 @arg11 @arg12 @arg13 @arg14 @arg15 @arg16 @arg17 @arg18 @arg19 @arg20 @arg21 @arg22 @arg23 @arg24 @arg25 @arg26 @arg27 @arg28 @arg29 @arg30 @arg31 @arg32
|
||||||
0 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 1991-01-01 01:01:01 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
|
0 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 1991-01-01 01:01:01 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
|
||||||
prepare stmt1 from "select c1 into ? from t9 where c1= 1" ;
|
prepare stmt1 from "select c1 into ? from t9 where c1= 1" ;
|
||||||
|
@ -1030,7 +1030,7 @@ select bug12329();
|
|||||||
bug12329()
|
bug12329()
|
||||||
101
|
101
|
||||||
execute stmt1;
|
execute stmt1;
|
||||||
ERROR HY000: Table 't2' was not locked with LOCK TABLES
|
ERROR 42S02: Table 'test.t2' doesn't exist
|
||||||
deallocate prepare stmt1;
|
deallocate prepare stmt1;
|
||||||
drop function bug12329;
|
drop function bug12329;
|
||||||
drop table t1, t2;
|
drop table t1, t2;
|
||||||
@ -1152,12 +1152,12 @@ create trigger t1_ai after insert on t1 for each row insert into t2 values (new.
|
|||||||
create view v1 as select * from t1;
|
create view v1 as select * from t1;
|
||||||
drop table t2;
|
drop table t2;
|
||||||
insert into v1 values (1);
|
insert into v1 values (1);
|
||||||
ERROR HY000: Table 't2' was not locked with LOCK TABLES
|
ERROR 42S02: Table 'test.t2' doesn't exist
|
||||||
drop trigger t1_ai;
|
drop trigger t1_ai;
|
||||||
create function bug11555_1() returns int return (select max(i) from t2);
|
create function bug11555_1() returns int return (select max(i) from t2);
|
||||||
create trigger t1_ai after insert on t1 for each row set @a:=bug11555_1();
|
create trigger t1_ai after insert on t1 for each row set @a:=bug11555_1();
|
||||||
insert into v1 values (2);
|
insert into v1 values (2);
|
||||||
ERROR HY000: Table 't2' was not locked with LOCK TABLES
|
ERROR 42S02: Table 'test.t2' doesn't exist
|
||||||
drop function bug11555_1;
|
drop function bug11555_1;
|
||||||
drop table t1;
|
drop table t1;
|
||||||
drop view v1;
|
drop view v1;
|
||||||
|
@ -254,4 +254,17 @@ execute stmt;
|
|||||||
deallocate prepare stmt;
|
deallocate prepare stmt;
|
||||||
drop function bug19634;
|
drop function bug19634;
|
||||||
drop table t1, t2, t3;
|
drop table t1, t2, t3;
|
||||||
|
drop table if exists bug_27907_logs;
|
||||||
|
drop table if exists bug_27907_t1;
|
||||||
|
create table bug_27907_logs (a int);
|
||||||
|
create table bug_27907_t1 (a int);
|
||||||
|
create trigger bug_27907_t1_ai after insert on bug_27907_t1
|
||||||
|
for each row
|
||||||
|
begin
|
||||||
|
insert into bug_27907_logs (a) values (1);
|
||||||
|
end|
|
||||||
|
drop table bug_27907_logs;
|
||||||
|
insert into bug_27907_t1(a) values (1);
|
||||||
|
ERROR 42S02: Table 'test.bug_27907_logs' doesn't exist
|
||||||
|
drop table bug_27907_t1;
|
||||||
End of 5.0 tests
|
End of 5.0 tests
|
||||||
|
@ -1202,3 +1202,29 @@ after substr str_remainder
|
|||||||
after substr b,c
|
after substr b,c
|
||||||
DROP PROCEDURE bug27415_text_test|
|
DROP PROCEDURE bug27415_text_test|
|
||||||
DROP PROCEDURE bug27415_text_test2|
|
DROP PROCEDURE bug27415_text_test2|
|
||||||
|
drop function if exists f1;
|
||||||
|
drop table if exists t1;
|
||||||
|
create function f1() returns int
|
||||||
|
begin
|
||||||
|
if @a=1 then set @b='abc';
|
||||||
|
else set @b=1;
|
||||||
|
end if;
|
||||||
|
set @a=1;
|
||||||
|
return 0;
|
||||||
|
end|
|
||||||
|
create table t1 (a int)|
|
||||||
|
insert into t1 (a) values (1), (2)|
|
||||||
|
set @b=1|
|
||||||
|
set @a=0|
|
||||||
|
select f1(), @b from t1|
|
||||||
|
f1() @b
|
||||||
|
0 1
|
||||||
|
0 0
|
||||||
|
set @b:='test'|
|
||||||
|
set @a=0|
|
||||||
|
select f1(), @b from t1|
|
||||||
|
f1() @b
|
||||||
|
0 1
|
||||||
|
0 abc
|
||||||
|
drop function f1;
|
||||||
|
drop table t1;
|
||||||
|
@ -820,9 +820,9 @@ call p1();
|
|||||||
drop trigger t1_bi;
|
drop trigger t1_bi;
|
||||||
create trigger t1_bi after insert on t1 for each row insert into t3 values (new.id);
|
create trigger t1_bi after insert on t1 for each row insert into t3 values (new.id);
|
||||||
execute stmt1;
|
execute stmt1;
|
||||||
ERROR HY000: Table 't3' was not locked with LOCK TABLES
|
ERROR 42S02: Table 'test.t3' doesn't exist
|
||||||
call p1();
|
call p1();
|
||||||
ERROR HY000: Table 't3' was not locked with LOCK TABLES
|
ERROR 42S02: Table 'test.t3' doesn't exist
|
||||||
deallocate prepare stmt1;
|
deallocate prepare stmt1;
|
||||||
drop procedure p1;
|
drop procedure p1;
|
||||||
drop table t1, t2, t3;
|
drop table t1, t2, t3;
|
||||||
|
@ -110,15 +110,24 @@ select 1 from t1 where cast('2000-01-01 12:01:01' as datetime) between start_dat
|
|||||||
1
|
1
|
||||||
1
|
1
|
||||||
drop table t1;
|
drop table t1;
|
||||||
select @d:=1111, year(@d), month(@d), day(@d), cast(@d as date);
|
select @d:=1111;
|
||||||
@d:=1111 year(@d) month(@d) day(@d) cast(@d as date)
|
@d:=1111
|
||||||
1111 2000 11 11 2000-11-11
|
1111
|
||||||
select @d:=011111, year(@d), month(@d), day(@d), cast(@d as date);
|
select year(@d), month(@d), day(@d), cast(@d as date);
|
||||||
@d:=011111 year(@d) month(@d) day(@d) cast(@d as date)
|
year(@d) month(@d) day(@d) cast(@d as date)
|
||||||
11111 2001 11 11 2001-11-11
|
2000 11 11 2000-11-11
|
||||||
select @d:=1311, year(@d), month(@d), day(@d), cast(@d as date);
|
select @d:=011111;
|
||||||
@d:=1311 year(@d) month(@d) day(@d) cast(@d as date)
|
@d:=011111
|
||||||
1311 NULL NULL NULL NULL
|
11111
|
||||||
|
select year(@d), month(@d), day(@d), cast(@d as date);
|
||||||
|
year(@d) month(@d) day(@d) cast(@d as date)
|
||||||
|
2001 11 11 2001-11-11
|
||||||
|
select @d:=1311;
|
||||||
|
@d:=1311
|
||||||
|
1311
|
||||||
|
select year(@d), month(@d), day(@d), cast(@d as date);
|
||||||
|
year(@d) month(@d) day(@d) cast(@d as date)
|
||||||
|
NULL NULL NULL NULL
|
||||||
Warnings:
|
Warnings:
|
||||||
Warning 1292 Incorrect datetime value: '1311'
|
Warning 1292 Incorrect datetime value: '1311'
|
||||||
Warning 1292 Incorrect datetime value: '1311'
|
Warning 1292 Incorrect datetime value: '1311'
|
||||||
|
@ -91,7 +91,7 @@ NULL test test
|
|||||||
set @g=1;
|
set @g=1;
|
||||||
select @g,(@g:=c),@g from t1;
|
select @g,(@g:=c),@g from t1;
|
||||||
@g (@g:=c) @g
|
@g (@g:=c) @g
|
||||||
1 test test
|
1 test 0
|
||||||
select @c, @d, @e, @f;
|
select @c, @d, @e, @f;
|
||||||
@c @d @e @f
|
@c @d @e @f
|
||||||
1 1 2 test
|
1 1 2 test
|
||||||
|
@ -1,7 +1,12 @@
|
|||||||
# In order to be more or less robust test for bug#25044 has to take
|
#
|
||||||
# significant time (e.g. about 9 seconds on my (Dmitri's) computer)
|
# Tests for various concurrency-related aspects of ALTER TABLE implemetation
|
||||||
# so we probably want execute it only in --big-test mode.
|
#
|
||||||
|
# This test takes rather long time so let us run it only in --big-test mode
|
||||||
--source include/big_test.inc
|
--source include/big_test.inc
|
||||||
|
# We are using some debug-only features in this test
|
||||||
|
--source include/have_debug.inc
|
||||||
|
# Also we are using SBR to check that statements are executed
|
||||||
|
# in proper order.
|
||||||
--source include/have_binlog_format_mixed_or_statement.inc
|
--source include/have_binlog_format_mixed_or_statement.inc
|
||||||
|
|
||||||
|
|
||||||
@ -22,27 +27,20 @@ create table t1 (n1 int, n2 int, n3 int,
|
|||||||
key (n3, n1, n2));
|
key (n3, n1, n2));
|
||||||
create table t2 (i int);
|
create table t2 (i int);
|
||||||
|
|
||||||
# Populating 't1' table with keys disabled, so ALTER TABLE .. ENABLE KEYS
|
# Starting from 5.1 we have runtime settable @@debug variable,
|
||||||
# will run for some time
|
# which can be used for introducing delays at certain points of
|
||||||
|
# statement execution, so we don't need many rows in 't1' to make
|
||||||
|
# this test repeatable.
|
||||||
alter table t1 disable keys;
|
alter table t1 disable keys;
|
||||||
--disable_query_log
|
insert into t1 values (RAND()*1000, RAND()*1000, RAND()*1000);
|
||||||
insert into t1 values (RAND()*1000,RAND()*1000,RAND()*1000);
|
|
||||||
let $1=19;
|
|
||||||
while ($1)
|
|
||||||
{
|
|
||||||
eval insert into t1 select RAND()*1000,RAND()*1000,RAND()*1000 from t1;
|
|
||||||
dec $1;
|
|
||||||
}
|
|
||||||
--enable_query_log
|
|
||||||
|
|
||||||
# Later we use binlog to check the order in which statements are
|
# Later we use binlog to check the order in which statements are
|
||||||
# executed so let us reset it first.
|
# executed so let us reset it first.
|
||||||
reset master;
|
reset master;
|
||||||
|
set session debug="+d,sleep_alter_enable_indexes";
|
||||||
--send alter table t1 enable keys;
|
--send alter table t1 enable keys;
|
||||||
connection addconroot;
|
connection addconroot;
|
||||||
let $show_type= PROCESSLIST;
|
--sleep 2
|
||||||
let $show_pattern= '%Repair by sorting%alter table t1 enable keys%';
|
|
||||||
--source include/wait_show_pattern.inc
|
|
||||||
# This statement should not be blocked by in-flight ALTER and therefore
|
# This statement should not be blocked by in-flight ALTER and therefore
|
||||||
# should be executed and written to binlog before ALTER TABLE ... ENABLE KEYS
|
# should be executed and written to binlog before ALTER TABLE ... ENABLE KEYS
|
||||||
# finishes.
|
# finishes.
|
||||||
@ -51,12 +49,68 @@ insert into t2 values (1);
|
|||||||
insert into t1 values (1, 1, 1);
|
insert into t1 values (1, 1, 1);
|
||||||
connection default;
|
connection default;
|
||||||
--reap
|
--reap
|
||||||
|
set session debug="-d,sleep_alter_enable_indexes";
|
||||||
# Check that statements were executed/binlogged in correct order.
|
# Check that statements were executed/binlogged in correct order.
|
||||||
--replace_column 2 # 5 #
|
--replace_column 2 # 5 #
|
||||||
show binlog events in 'master-bin.000001' from 102;
|
show binlog events in 'master-bin.000001' from 106;
|
||||||
|
|
||||||
# Clean up
|
# Clean up
|
||||||
drop tables t1, t2;
|
drop tables t1, t2;
|
||||||
|
|
||||||
|
|
||||||
--echo End of 5.0 tests
|
--echo End of 5.0 tests
|
||||||
|
|
||||||
|
#
|
||||||
|
# Additional coverage for the main ALTER TABLE case
|
||||||
|
#
|
||||||
|
# We should be sure that table being altered is properly
|
||||||
|
# locked during statement execution and in particular that
|
||||||
|
# no DDL or DML statement can sneak in and get access to
|
||||||
|
# the table when real operation has already taken place
|
||||||
|
# but this fact has not been noted in binary log yet.
|
||||||
|
--disable_warnings
|
||||||
|
drop table if exists t1, t2, t3;
|
||||||
|
--enable_warnings
|
||||||
|
create table t1 (i int);
|
||||||
|
# We are going to check that statements are logged in correct order
|
||||||
|
reset master;
|
||||||
|
set session debug="+d,sleep_alter_before_main_binlog";
|
||||||
|
--send alter table t1 change i c char(10) default 'Test1';
|
||||||
|
connection addconroot;
|
||||||
|
--sleep 2
|
||||||
|
insert into t1 values ();
|
||||||
|
select * from t1;
|
||||||
|
connection default;
|
||||||
|
--reap
|
||||||
|
--send alter table t1 change c vc varchar(100) default 'Test2';
|
||||||
|
connection addconroot;
|
||||||
|
--sleep 2
|
||||||
|
rename table t1 to t2;
|
||||||
|
connection default;
|
||||||
|
--reap
|
||||||
|
drop table t2;
|
||||||
|
# And now tests for ALTER TABLE with RENAME clause. In this
|
||||||
|
# case target table name should be properly locked as well.
|
||||||
|
create table t1 (i int);
|
||||||
|
--send alter table t1 change i c char(10) default 'Test3', rename to t2;
|
||||||
|
connection addconroot;
|
||||||
|
--sleep 2
|
||||||
|
insert into t2 values ();
|
||||||
|
select * from t2;
|
||||||
|
connection default;
|
||||||
|
--reap
|
||||||
|
--send alter table t2 change c vc varchar(100) default 'Test2', rename to t1;
|
||||||
|
connection addconroot;
|
||||||
|
--sleep 2
|
||||||
|
rename table t1 to t3;
|
||||||
|
connection default;
|
||||||
|
--reap
|
||||||
|
drop table t3;
|
||||||
|
set session debug="-d,sleep_alter_before_main_binlog";
|
||||||
|
|
||||||
|
# Check that all statements were logged in correct order
|
||||||
|
--replace_column 2 # 5 #
|
||||||
|
show binlog events in 'master-bin.000001' from 106;
|
||||||
|
|
||||||
|
|
||||||
|
--echo End of 5.1 tests
|
||||||
|
@ -727,7 +727,58 @@ ALTER TABLE t1 MODIFY COLUMN v VARCHAR(4);
|
|||||||
SELECT * FROM t1;
|
SELECT * FROM t1;
|
||||||
DROP TABLE t1;
|
DROP TABLE t1;
|
||||||
|
|
||||||
# End of 5.0 tests
|
--echo End of 5.0 tests
|
||||||
|
|
||||||
|
#
|
||||||
|
# Extended test coverage for ALTER TABLE behaviour under LOCK TABLES
|
||||||
|
# It should be consistent across all platforms and for all engines
|
||||||
|
# (Before 5.1 this was not true as behavior was different between
|
||||||
|
# Unix/Windows and transactional/non-transactional tables).
|
||||||
|
# See also innodb_mysql.test
|
||||||
|
#
|
||||||
|
--disable_warnings
|
||||||
|
drop table if exists t1, t2, t3;
|
||||||
|
--enable_warnings
|
||||||
|
create table t1 (i int);
|
||||||
|
create table t3 (j int);
|
||||||
|
insert into t1 values ();
|
||||||
|
insert into t3 values ();
|
||||||
|
# Table which is altered under LOCK TABLES it should stay in list of locked
|
||||||
|
# tables and be available after alter takes place unless ALTER contains RENAME
|
||||||
|
# clause. We should see the new definition of table, of course.
|
||||||
|
lock table t1 write, t3 read;
|
||||||
|
# Example of so-called 'fast' ALTER TABLE
|
||||||
|
alter table t1 modify i int default 1;
|
||||||
|
insert into t1 values ();
|
||||||
|
select * from t1;
|
||||||
|
# And now full-blown ALTER TABLE
|
||||||
|
alter table t1 change i c char(10) default "Two";
|
||||||
|
insert into t1 values ();
|
||||||
|
select * from t1;
|
||||||
|
# If table is renamed then it should be removed from the list
|
||||||
|
# of locked tables. 'Fast' ALTER TABLE with RENAME clause:
|
||||||
|
alter table t1 modify c char(10) default "Three", rename to t2;
|
||||||
|
--error ER_TABLE_NOT_LOCKED
|
||||||
|
select * from t1;
|
||||||
|
--error ER_TABLE_NOT_LOCKED
|
||||||
|
select * from t2;
|
||||||
|
select * from t3;
|
||||||
|
unlock tables;
|
||||||
|
insert into t2 values ();
|
||||||
|
select * from t2;
|
||||||
|
lock table t2 write, t3 read;
|
||||||
|
# Full ALTER TABLE with RENAME
|
||||||
|
alter table t2 change c vc varchar(100) default "Four", rename to t1;
|
||||||
|
--error ER_TABLE_NOT_LOCKED
|
||||||
|
select * from t1;
|
||||||
|
--error ER_TABLE_NOT_LOCKED
|
||||||
|
select * from t2;
|
||||||
|
select * from t3;
|
||||||
|
unlock tables;
|
||||||
|
insert into t1 values ();
|
||||||
|
select * from t1;
|
||||||
|
drop tables t1, t3;
|
||||||
|
|
||||||
|
|
||||||
#
|
#
|
||||||
# Bug#18775 - Temporary table from alter table visible to other threads
|
# Bug#18775 - Temporary table from alter table visible to other threads
|
||||||
|
@ -1,12 +1,17 @@
|
|||||||
# Tests for various aspects of CREATE TABLE ... SELECT implementation
|
# Tests for various concurrency-related aspects of CREATE TABLE ... SELECT
|
||||||
|
# and CREATE TABLE like implementation.
|
||||||
#
|
#
|
||||||
# Note that we don't test general CREATE TABLE ... SELECT functionality here as
|
# Note that we don't test general CREATE TABLE ... SELECT/LIKE functionality
|
||||||
# it is already covered by create.test. We are more interested in extreme cases.
|
# here as it is already covered by create.test. We are more interested in
|
||||||
|
# extreme cases.
|
||||||
#
|
#
|
||||||
# This test takes rather long time so let us run it only in --big-test mode
|
# This test takes rather long time so let us run it only in --big-test mode
|
||||||
--source include/big_test.inc
|
--source include/big_test.inc
|
||||||
# We are using some debug-only features in this test
|
# We are using some debug-only features in this test
|
||||||
--source include/have_debug.inc
|
--source include/have_debug.inc
|
||||||
|
# Some of tests below also use binlog to check that statements are
|
||||||
|
# executed and logged in correct order
|
||||||
|
--source include/have_binlog_format_mixed_or_statement.inc
|
||||||
|
|
||||||
# Create auxilliary connections
|
# Create auxilliary connections
|
||||||
connect (addconroot1, localhost, root,,);
|
connect (addconroot1, localhost, root,,);
|
||||||
@ -20,7 +25,7 @@ drop table if exists t1,t2,t3,t4,t5;
|
|||||||
|
|
||||||
|
|
||||||
#
|
#
|
||||||
# Tests for concurrency problems.
|
# Tests for concurrency problems in CREATE TABLE ... SELECT
|
||||||
#
|
#
|
||||||
# We introduce delays between various stages of table creation
|
# We introduce delays between various stages of table creation
|
||||||
# and check that other statements dealing with this table cannot
|
# and check that other statements dealing with this table cannot
|
||||||
@ -266,3 +271,122 @@ connection default;
|
|||||||
select * from t1;
|
select * from t1;
|
||||||
show create table t1;
|
show create table t1;
|
||||||
drop table t1, t2, t3;
|
drop table t1, t2, t3;
|
||||||
|
|
||||||
|
|
||||||
|
# Tests for possible concurrency issues with CREATE TABLE ... LIKE
|
||||||
|
#
|
||||||
|
# Bug #18950 "create table like does not obtain LOCK_open"
|
||||||
|
# Bug #23667 "CREATE TABLE LIKE is not isolated from alteration by other
|
||||||
|
# connections"
|
||||||
|
#
|
||||||
|
# Again the idea of this test is that we introduce artificial delays on
|
||||||
|
# various stages of table creation and check that concurrent statements
|
||||||
|
# for tables from CREATE TABLE ... LIKE are not interfering.
|
||||||
|
|
||||||
|
--disable_warnings
|
||||||
|
drop table if exists t1,t2;
|
||||||
|
--enable_warnings
|
||||||
|
|
||||||
|
# What happens if some statements sneak in right after we have
|
||||||
|
# opened source table ?
|
||||||
|
create table t1 (i int);
|
||||||
|
set session debug="+d,sleep_create_like_before_check_if_exists";
|
||||||
|
# Reset binlog to have clear start
|
||||||
|
reset master;
|
||||||
|
--send create table t2 like t1;
|
||||||
|
connection addconroot1;
|
||||||
|
--sleep 2
|
||||||
|
# DML on source table should be allowed to run concurrently
|
||||||
|
insert into t1 values (1);
|
||||||
|
# And DDL should wait
|
||||||
|
drop table t1;
|
||||||
|
connection default;
|
||||||
|
--reap
|
||||||
|
show create table t2;
|
||||||
|
drop table t2;
|
||||||
|
# Let us check that statements were executed/binlogged in correct order
|
||||||
|
--replace_column 2 # 5 #
|
||||||
|
show binlog events in 'master-bin.000001' from 106;
|
||||||
|
|
||||||
|
# Now let us check the gap between check for target table
|
||||||
|
# existance and copying of .frm file.
|
||||||
|
create table t1 (i int);
|
||||||
|
set session debug="-d,sleep_create_like_before_check_if_exists:+d,sleep_create_like_before_copy";
|
||||||
|
# It should be impossible to create target table concurrently
|
||||||
|
--send create table t2 like t1;
|
||||||
|
connection addconroot1;
|
||||||
|
--sleep 2
|
||||||
|
create table if not exists t2 (j int);
|
||||||
|
connection default;
|
||||||
|
--reap
|
||||||
|
show create table t2;
|
||||||
|
drop table t2;
|
||||||
|
# And concurrent DDL on the source table should be still disallowed
|
||||||
|
reset master;
|
||||||
|
--send create table t2 like t1;
|
||||||
|
connection addconroot1;
|
||||||
|
--sleep 2
|
||||||
|
drop table t1;
|
||||||
|
connection default;
|
||||||
|
--reap
|
||||||
|
drop table t2;
|
||||||
|
--replace_column 2 # 5 #
|
||||||
|
show binlog events in 'master-bin.000001' from 106;
|
||||||
|
|
||||||
|
# And now he gap between copying of .frm file and ha_create_table() call.
|
||||||
|
create table t1 (i int);
|
||||||
|
set session debug="-d,sleep_create_like_before_copy:+d,sleep_create_like_before_ha_create";
|
||||||
|
# Both DML and DDL on target table should wait till operation completes
|
||||||
|
reset master;
|
||||||
|
--send create table t2 like t1;
|
||||||
|
connection addconroot1;
|
||||||
|
--sleep 2
|
||||||
|
insert into t2 values (1);
|
||||||
|
connection default;
|
||||||
|
--reap
|
||||||
|
drop table t2;
|
||||||
|
--send create table t2 like t1;
|
||||||
|
connection addconroot1;
|
||||||
|
--sleep 2
|
||||||
|
drop table t2;
|
||||||
|
connection default;
|
||||||
|
--reap
|
||||||
|
# Concurrent DDL on the source table still waits
|
||||||
|
--send create table t2 like t1;
|
||||||
|
connection addconroot1;
|
||||||
|
--sleep 2
|
||||||
|
drop table t1;
|
||||||
|
connection default;
|
||||||
|
--reap
|
||||||
|
drop table t2;
|
||||||
|
--replace_column 2 # 5 #
|
||||||
|
show binlog events in 'master-bin.000001' from 106;
|
||||||
|
|
||||||
|
# Finally we check the gap between ha_create_table() and binlogging
|
||||||
|
create table t1 (i int);
|
||||||
|
set session debug="-d,sleep_create_like_before_ha_create:+d,sleep_create_like_before_binlogging";
|
||||||
|
reset master;
|
||||||
|
--send create table t2 like t1;
|
||||||
|
connection addconroot1;
|
||||||
|
--sleep 2
|
||||||
|
insert into t2 values (1);
|
||||||
|
connection default;
|
||||||
|
--reap
|
||||||
|
drop table t2;
|
||||||
|
--send create table t2 like t1;
|
||||||
|
connection addconroot1;
|
||||||
|
--sleep 2
|
||||||
|
drop table t2;
|
||||||
|
connection default;
|
||||||
|
--reap
|
||||||
|
--send create table t2 like t1;
|
||||||
|
connection addconroot1;
|
||||||
|
--sleep 2
|
||||||
|
drop table t1;
|
||||||
|
connection default;
|
||||||
|
--reap
|
||||||
|
drop table t2;
|
||||||
|
--replace_column 2 # 5 #
|
||||||
|
show binlog events in 'master-bin.000001' from 106;
|
||||||
|
|
||||||
|
set session debug="-d,sleep_create_like_before_binlogging";
|
@ -306,7 +306,7 @@ create table t3 like t1;
|
|||||||
create table t3 like mysqltest.t3;
|
create table t3 like mysqltest.t3;
|
||||||
--error 1049
|
--error 1049
|
||||||
create table non_existing_database.t1 like t1;
|
create table non_existing_database.t1 like t1;
|
||||||
--error 1051
|
--error ER_NO_SUCH_TABLE
|
||||||
create table t3 like non_existing_table;
|
create table t3 like non_existing_table;
|
||||||
--error 1050
|
--error 1050
|
||||||
create temporary table t3 like t1;
|
create temporary table t3 like t1;
|
||||||
|
@ -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_innodb2ndb : Bug #19710 Cluster replication to partition table fails on DELETE FROM statement
|
||||||
rpl_ndb_myisam2ndb : Bug #19710 Cluster replication to partition table fails on DELETE FROM statement
|
rpl_ndb_myisam2ndb : Bug #19710 Cluster replication to partition table fails on DELETE FROM statement
|
||||||
rpl_row_blob_innodb : BUG#18980 2006-04-10 kent Test fails randomly
|
rpl_row_blob_innodb : BUG#18980 2006-04-10 kent Test fails randomly
|
||||||
synchronization : Bug#24529 Test 'synchronization' fails on Mac pushbuild; Also on Linux 64 bit.
|
|
||||||
|
|
||||||
# the below testcase have been reworked to avoid the bug, test contains comment, keep bug open
|
# the below testcase have been reworked to avoid the bug, test contains comment, keep bug open
|
||||||
#ndb_binlog_ddl_multi : BUG#18976 2006-04-10 kent CRBR: multiple binlog, second binlog may miss schema log events
|
#ndb_binlog_ddl_multi : BUG#18976 2006-04-10 kent CRBR: multiple binlog, second binlog may miss schema log events
|
||||||
|
@ -513,3 +513,47 @@ REVOKE ALL PRIVILEGES, GRANT OPTION FROM `a@`@localhost;
|
|||||||
drop user `a@`@localhost;
|
drop user `a@`@localhost;
|
||||||
|
|
||||||
SET GLOBAL log_bin_trust_function_creators = 0;
|
SET GLOBAL log_bin_trust_function_creators = 0;
|
||||||
|
|
||||||
|
|
||||||
|
#
|
||||||
|
# Bug#25578 "CREATE TABLE LIKE does not require any privileges on source table"
|
||||||
|
#
|
||||||
|
--disable_warnings
|
||||||
|
drop database if exists mysqltest_1;
|
||||||
|
drop database if exists mysqltest_2;
|
||||||
|
--enable_warnings
|
||||||
|
--error 0,ER_CANNOT_USER
|
||||||
|
drop user mysqltest_u1@localhost;
|
||||||
|
|
||||||
|
create database mysqltest_1;
|
||||||
|
create database mysqltest_2;
|
||||||
|
grant all on mysqltest_1.* to mysqltest_u1@localhost;
|
||||||
|
use mysqltest_2;
|
||||||
|
create table t1 (i int);
|
||||||
|
|
||||||
|
# Connect as user with all rights on mysqltest_1 but with no rights on mysqltest_2.
|
||||||
|
connect (user1,localhost,mysqltest_u1,,mysqltest_1);
|
||||||
|
connection user1;
|
||||||
|
# As expected error is emitted
|
||||||
|
--error ER_TABLEACCESS_DENIED_ERROR
|
||||||
|
show create table mysqltest_2.t1;
|
||||||
|
# This should emit error as well
|
||||||
|
--error ER_TABLEACCESS_DENIED_ERROR
|
||||||
|
create table t1 like mysqltest_2.t1;
|
||||||
|
|
||||||
|
# Now let us check that SELECT privilege on the source is enough
|
||||||
|
connection default;
|
||||||
|
grant select on mysqltest_2.t1 to mysqltest_u1@localhost;
|
||||||
|
connection user1;
|
||||||
|
show create table mysqltest_2.t1;
|
||||||
|
create table t1 like mysqltest_2.t1;
|
||||||
|
|
||||||
|
# Clean-up
|
||||||
|
connection default;
|
||||||
|
use test;
|
||||||
|
drop database mysqltest_1;
|
||||||
|
drop database mysqltest_2;
|
||||||
|
drop user mysqltest_u1@localhost;
|
||||||
|
|
||||||
|
--echo End of 5.0 tests
|
||||||
|
|
||||||
|
@ -1458,7 +1458,7 @@ select bug12329();
|
|||||||
# Until we implement proper mechanism for invalidation of PS/SP when table
|
# Until we implement proper mechanism for invalidation of PS/SP when table
|
||||||
# or SP's are changed the following statement will fail with 'Table ... was
|
# or SP's are changed the following statement will fail with 'Table ... was
|
||||||
# not locked' error (this mechanism should be based on the new TDC).
|
# not locked' error (this mechanism should be based on the new TDC).
|
||||||
--error 1100
|
--error ER_NO_SUCH_TABLE
|
||||||
execute stmt1;
|
execute stmt1;
|
||||||
deallocate prepare stmt1;
|
deallocate prepare stmt1;
|
||||||
drop function bug12329;
|
drop function bug12329;
|
||||||
@ -1643,13 +1643,13 @@ create trigger t1_ai after insert on t1 for each row insert into t2 values (new.
|
|||||||
create view v1 as select * from t1;
|
create view v1 as select * from t1;
|
||||||
drop table t2;
|
drop table t2;
|
||||||
# Limitation, the desired error is ER_VIEW_INVALID
|
# Limitation, the desired error is ER_VIEW_INVALID
|
||||||
--error ER_TABLE_NOT_LOCKED
|
--error ER_NO_SUCH_TABLE
|
||||||
insert into v1 values (1);
|
insert into v1 values (1);
|
||||||
drop trigger t1_ai;
|
drop trigger t1_ai;
|
||||||
create function bug11555_1() returns int return (select max(i) from t2);
|
create function bug11555_1() returns int return (select max(i) from t2);
|
||||||
create trigger t1_ai after insert on t1 for each row set @a:=bug11555_1();
|
create trigger t1_ai after insert on t1 for each row set @a:=bug11555_1();
|
||||||
# Limitation, the desired error is ER_VIEW_INVALID
|
# Limitation, the desired error is ER_VIEW_INVALID
|
||||||
--error ER_TABLE_NOT_LOCKED
|
--error ER_NO_SUCH_TABLE
|
||||||
insert into v1 values (2);
|
insert into v1 values (2);
|
||||||
drop function bug11555_1;
|
drop function bug11555_1;
|
||||||
drop table t1;
|
drop table t1;
|
||||||
|
@ -301,5 +301,36 @@ deallocate prepare stmt;
|
|||||||
drop function bug19634;
|
drop function bug19634;
|
||||||
drop table t1, t2, t3;
|
drop table t1, t2, t3;
|
||||||
|
|
||||||
|
#
|
||||||
|
# Bug #27907 Misleading error message when opening/locking tables
|
||||||
|
#
|
||||||
|
|
||||||
|
--disable_warnings
|
||||||
|
drop table if exists bug_27907_logs;
|
||||||
|
drop table if exists bug_27907_t1;
|
||||||
|
--enable_warnings
|
||||||
|
|
||||||
|
create table bug_27907_logs (a int);
|
||||||
|
create table bug_27907_t1 (a int);
|
||||||
|
|
||||||
|
delimiter |;
|
||||||
|
|
||||||
|
create trigger bug_27907_t1_ai after insert on bug_27907_t1
|
||||||
|
for each row
|
||||||
|
begin
|
||||||
|
insert into bug_27907_logs (a) values (1);
|
||||||
|
end|
|
||||||
|
|
||||||
|
delimiter ;|
|
||||||
|
|
||||||
|
drop table bug_27907_logs;
|
||||||
|
|
||||||
|
#
|
||||||
|
# was failing before with error ER_NOT_LOCKED
|
||||||
|
#
|
||||||
|
--error ER_NO_SUCH_TABLE
|
||||||
|
insert into bug_27907_t1(a) values (1);
|
||||||
|
|
||||||
|
drop table bug_27907_t1;
|
||||||
|
|
||||||
--echo End of 5.0 tests
|
--echo End of 5.0 tests
|
||||||
|
@ -1412,3 +1412,39 @@ DROP PROCEDURE bug27415_text_test2|
|
|||||||
DELIMITER ;|
|
DELIMITER ;|
|
||||||
|
|
||||||
# End of 5.0 tests.
|
# End of 5.0 tests.
|
||||||
|
|
||||||
|
#
|
||||||
|
# Bug #26277 User variable returns one type in SELECT @v and other for CREATE as SELECT @v
|
||||||
|
#
|
||||||
|
--disable_warnings
|
||||||
|
drop function if exists f1;
|
||||||
|
drop table if exists t1;
|
||||||
|
--enable_warnings
|
||||||
|
|
||||||
|
delimiter |;
|
||||||
|
create function f1() returns int
|
||||||
|
begin
|
||||||
|
if @a=1 then set @b='abc';
|
||||||
|
else set @b=1;
|
||||||
|
end if;
|
||||||
|
set @a=1;
|
||||||
|
return 0;
|
||||||
|
end|
|
||||||
|
|
||||||
|
create table t1 (a int)|
|
||||||
|
insert into t1 (a) values (1), (2)|
|
||||||
|
|
||||||
|
set @b=1|
|
||||||
|
set @a=0|
|
||||||
|
select f1(), @b from t1|
|
||||||
|
|
||||||
|
set @b:='test'|
|
||||||
|
set @a=0|
|
||||||
|
select f1(), @b from t1|
|
||||||
|
|
||||||
|
delimiter ;|
|
||||||
|
|
||||||
|
drop function f1;
|
||||||
|
drop table t1;
|
||||||
|
# End of 5.1 tests.
|
||||||
|
|
||||||
|
@ -1000,9 +1000,9 @@ create trigger t1_bi after insert on t1 for each row insert into t3 values (new.
|
|||||||
# Until we implement proper mechanism for invalidation of PS/SP when table
|
# Until we implement proper mechanism for invalidation of PS/SP when table
|
||||||
# or SP's are changed these two statements will fail with 'Table ... was
|
# or SP's are changed these two statements will fail with 'Table ... was
|
||||||
# not locked' error (this mechanism should be based on the new TDC).
|
# not locked' error (this mechanism should be based on the new TDC).
|
||||||
--error 1100 #ER_TABLE_NOT_LOCKED
|
--error ER_NO_SUCH_TABLE
|
||||||
execute stmt1;
|
execute stmt1;
|
||||||
--error 1100 #ER_TABLE_NOT_LOCKED
|
--error ER_NO_SUCH_TABLE
|
||||||
call p1();
|
call p1();
|
||||||
deallocate prepare stmt1;
|
deallocate prepare stmt1;
|
||||||
drop procedure p1;
|
drop procedure p1;
|
||||||
|
@ -128,9 +128,12 @@ drop table t1;
|
|||||||
# Bug #23093: Implicit conversion of 9912101 to date does not match
|
# Bug #23093: Implicit conversion of 9912101 to date does not match
|
||||||
# cast(9912101 as date)
|
# cast(9912101 as date)
|
||||||
#
|
#
|
||||||
select @d:=1111, year(@d), month(@d), day(@d), cast(@d as date);
|
select @d:=1111;
|
||||||
select @d:=011111, year(@d), month(@d), day(@d), cast(@d as date);
|
select year(@d), month(@d), day(@d), cast(@d as date);
|
||||||
select @d:=1311, year(@d), month(@d), day(@d), cast(@d as date);
|
select @d:=011111;
|
||||||
|
select year(@d), month(@d), day(@d), cast(@d as date);
|
||||||
|
select @d:=1311;
|
||||||
|
select year(@d), month(@d), day(@d), cast(@d as date);
|
||||||
create table t1 (d date , dt datetime , ts timestamp);
|
create table t1 (d date , dt datetime , ts timestamp);
|
||||||
insert into t1 values (9912101,9912101,9912101);
|
insert into t1 values (9912101,9912101,9912101);
|
||||||
insert into t1 values (11111,11111,11111);
|
insert into t1 values (11111,11111,11111);
|
||||||
|
@ -70,15 +70,17 @@ event_queue_element_compare_q(void *vptr, byte* a, byte *b)
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
Event_queue::Event_queue()
|
Event_queue::Event_queue()
|
||||||
:mutex_last_locked_at_line(0), mutex_last_unlocked_at_line(0),
|
:next_activation_at(0),
|
||||||
|
mutex_last_locked_at_line(0),
|
||||||
|
mutex_last_unlocked_at_line(0),
|
||||||
mutex_last_attempted_lock_at_line(0),
|
mutex_last_attempted_lock_at_line(0),
|
||||||
|
mutex_last_locked_in_func("n/a"),
|
||||||
|
mutex_last_unlocked_in_func("n/a"),
|
||||||
|
mutex_last_attempted_lock_in_func("n/a"),
|
||||||
mutex_queue_data_locked(FALSE),
|
mutex_queue_data_locked(FALSE),
|
||||||
next_activation_at(0),
|
mutex_queue_data_attempting_lock(FALSE),
|
||||||
mutex_queue_data_attempting_lock(FALSE)
|
waiting_on_cond(FALSE)
|
||||||
{
|
{
|
||||||
mutex_last_unlocked_in_func= mutex_last_locked_in_func=
|
|
||||||
mutex_last_attempted_lock_in_func= "";
|
|
||||||
|
|
||||||
pthread_mutex_init(&LOCK_event_queue, MY_MUTEX_INIT_FAST);
|
pthread_mutex_init(&LOCK_event_queue, MY_MUTEX_INIT_FAST);
|
||||||
pthread_cond_init(&COND_queue_state, NULL);
|
pthread_cond_init(&COND_queue_state, NULL);
|
||||||
}
|
}
|
||||||
@ -739,8 +741,11 @@ Event_queue::dump_internal_status()
|
|||||||
|
|
||||||
MYSQL_TIME time;
|
MYSQL_TIME time;
|
||||||
my_tz_UTC->gmt_sec_to_TIME(&time, next_activation_at);
|
my_tz_UTC->gmt_sec_to_TIME(&time, next_activation_at);
|
||||||
printf("Next activation : %04d-%02d-%02d %02d:%02d:%02d\n",
|
if (time.year != 1970)
|
||||||
time.year, time.month, time.day, time.hour, time.minute, time.second);
|
printf("Next activation : %04d-%02d-%02d %02d:%02d:%02d\n",
|
||||||
|
time.year, time.month, time.day, time.hour, time.minute, time.second);
|
||||||
|
else
|
||||||
|
printf("Next activation : never");
|
||||||
|
|
||||||
DBUG_VOID_RETURN;
|
DBUG_VOID_RETURN;
|
||||||
}
|
}
|
||||||
|
@ -104,7 +104,6 @@ private:
|
|||||||
bool mutex_queue_data_locked;
|
bool mutex_queue_data_locked;
|
||||||
bool mutex_queue_data_attempting_lock;
|
bool mutex_queue_data_attempting_lock;
|
||||||
bool waiting_on_cond;
|
bool waiting_on_cond;
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif /* _EVENT_QUEUE_H_ */
|
#endif /* _EVENT_QUEUE_H_ */
|
||||||
|
@ -42,7 +42,6 @@ Event_db_repository *Event_worker_thread::db_repository;
|
|||||||
static
|
static
|
||||||
const LEX_STRING scheduler_states_names[] =
|
const LEX_STRING scheduler_states_names[] =
|
||||||
{
|
{
|
||||||
{ C_STRING_WITH_LEN("UNINITIALIZED") },
|
|
||||||
{ C_STRING_WITH_LEN("INITIALIZED") },
|
{ C_STRING_WITH_LEN("INITIALIZED") },
|
||||||
{ C_STRING_WITH_LEN("RUNNING") },
|
{ C_STRING_WITH_LEN("RUNNING") },
|
||||||
{ C_STRING_WITH_LEN("STOPPING") }
|
{ C_STRING_WITH_LEN("STOPPING") }
|
||||||
@ -331,9 +330,15 @@ end:
|
|||||||
|
|
||||||
|
|
||||||
Event_scheduler::Event_scheduler(Event_queue *queue_arg)
|
Event_scheduler::Event_scheduler(Event_queue *queue_arg)
|
||||||
:state(UNINITIALIZED),
|
:state(INITIALIZED),
|
||||||
scheduler_thd(NULL),
|
scheduler_thd(NULL),
|
||||||
queue(queue_arg),
|
queue(queue_arg),
|
||||||
|
mutex_last_locked_at_line(0),
|
||||||
|
mutex_last_unlocked_at_line(0),
|
||||||
|
mutex_last_locked_in_func("n/a"),
|
||||||
|
mutex_last_unlocked_in_func("n/a"),
|
||||||
|
mutex_scheduler_data_locked(FALSE),
|
||||||
|
waiting_on_cond(FALSE),
|
||||||
started_events(0)
|
started_events(0)
|
||||||
{
|
{
|
||||||
pthread_mutex_init(&LOCK_scheduler_state, MY_MUTEX_INIT_FAST);
|
pthread_mutex_init(&LOCK_scheduler_state, MY_MUTEX_INIT_FAST);
|
||||||
|
@ -111,8 +111,7 @@ private:
|
|||||||
|
|
||||||
enum enum_state
|
enum enum_state
|
||||||
{
|
{
|
||||||
UNINITIALIZED = 0,
|
INITIALIZED = 0,
|
||||||
INITIALIZED,
|
|
||||||
RUNNING,
|
RUNNING,
|
||||||
STOPPING
|
STOPPING
|
||||||
};
|
};
|
||||||
|
@ -171,11 +171,11 @@ ha_rows filesort(THD *thd, TABLE *table, SORT_FIELD *sortorder, uint s_length,
|
|||||||
|
|
||||||
if (select && select->quick)
|
if (select && select->quick)
|
||||||
{
|
{
|
||||||
statistic_increment(thd->status_var.filesort_range_count, &LOCK_status);
|
status_var_increment(thd->status_var.filesort_range_count);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
statistic_increment(thd->status_var.filesort_scan_count, &LOCK_status);
|
status_var_increment(thd->status_var.filesort_scan_count);
|
||||||
}
|
}
|
||||||
#ifdef CAN_TRUST_RANGE
|
#ifdef CAN_TRUST_RANGE
|
||||||
if (select && select->quick && select->quick->records > 0L)
|
if (select && select->quick && select->quick->records > 0L)
|
||||||
@ -1129,8 +1129,7 @@ int merge_buffers(SORTPARAM *param, IO_CACHE *from_file,
|
|||||||
THD::killed_state not_killable;
|
THD::killed_state not_killable;
|
||||||
DBUG_ENTER("merge_buffers");
|
DBUG_ENTER("merge_buffers");
|
||||||
|
|
||||||
statistic_increment(current_thd->status_var.filesort_merge_passes,
|
status_var_increment(current_thd->status_var.filesort_merge_passes);
|
||||||
&LOCK_status);
|
|
||||||
if (param->not_killable)
|
if (param->not_killable)
|
||||||
{
|
{
|
||||||
killed= ¬_killable;
|
killed= ¬_killable;
|
||||||
|
@ -639,7 +639,7 @@ int ha_prepare(THD *thd)
|
|||||||
for (; *ht; ht++)
|
for (; *ht; ht++)
|
||||||
{
|
{
|
||||||
int err;
|
int err;
|
||||||
statistic_increment(thd->status_var.ha_prepare_count,&LOCK_status);
|
status_var_increment(thd->status_var.ha_prepare_count);
|
||||||
if ((*ht)->prepare)
|
if ((*ht)->prepare)
|
||||||
{
|
{
|
||||||
if ((err= (*(*ht)->prepare)(*ht, thd, all)))
|
if ((err= (*(*ht)->prepare)(*ht, thd, all)))
|
||||||
@ -734,7 +734,7 @@ int ha_commit_trans(THD *thd, bool all)
|
|||||||
my_error(ER_ERROR_DURING_COMMIT, MYF(0), err);
|
my_error(ER_ERROR_DURING_COMMIT, MYF(0), err);
|
||||||
error= 1;
|
error= 1;
|
||||||
}
|
}
|
||||||
statistic_increment(thd->status_var.ha_prepare_count,&LOCK_status);
|
status_var_increment(thd->status_var.ha_prepare_count);
|
||||||
}
|
}
|
||||||
DBUG_EXECUTE_IF("crash_commit_after_prepare", abort(););
|
DBUG_EXECUTE_IF("crash_commit_after_prepare", abort(););
|
||||||
if (error || (is_real_trans && xid &&
|
if (error || (is_real_trans && xid &&
|
||||||
@ -781,7 +781,7 @@ int ha_commit_one_phase(THD *thd, bool all)
|
|||||||
my_error(ER_ERROR_DURING_COMMIT, MYF(0), err);
|
my_error(ER_ERROR_DURING_COMMIT, MYF(0), err);
|
||||||
error=1;
|
error=1;
|
||||||
}
|
}
|
||||||
statistic_increment(thd->status_var.ha_commit_count,&LOCK_status);
|
status_var_increment(thd->status_var.ha_commit_count);
|
||||||
*ht= 0;
|
*ht= 0;
|
||||||
}
|
}
|
||||||
trans->nht=0;
|
trans->nht=0;
|
||||||
@ -837,7 +837,7 @@ int ha_rollback_trans(THD *thd, bool all)
|
|||||||
my_error(ER_ERROR_DURING_ROLLBACK, MYF(0), err);
|
my_error(ER_ERROR_DURING_ROLLBACK, MYF(0), err);
|
||||||
error=1;
|
error=1;
|
||||||
}
|
}
|
||||||
statistic_increment(thd->status_var.ha_rollback_count,&LOCK_status);
|
status_var_increment(thd->status_var.ha_rollback_count);
|
||||||
*ht= 0;
|
*ht= 0;
|
||||||
}
|
}
|
||||||
trans->nht=0;
|
trans->nht=0;
|
||||||
@ -1252,8 +1252,7 @@ int ha_rollback_to_savepoint(THD *thd, SAVEPOINT *sv)
|
|||||||
my_error(ER_ERROR_DURING_ROLLBACK, MYF(0), err);
|
my_error(ER_ERROR_DURING_ROLLBACK, MYF(0), err);
|
||||||
error=1;
|
error=1;
|
||||||
}
|
}
|
||||||
statistic_increment(thd->status_var.ha_savepoint_rollback_count,
|
status_var_increment(thd->status_var.ha_savepoint_rollback_count);
|
||||||
&LOCK_status);
|
|
||||||
trans->no_2pc|=(*ht)->prepare == 0;
|
trans->no_2pc|=(*ht)->prepare == 0;
|
||||||
}
|
}
|
||||||
/*
|
/*
|
||||||
@ -1268,7 +1267,7 @@ int ha_rollback_to_savepoint(THD *thd, SAVEPOINT *sv)
|
|||||||
my_error(ER_ERROR_DURING_ROLLBACK, MYF(0), err);
|
my_error(ER_ERROR_DURING_ROLLBACK, MYF(0), err);
|
||||||
error=1;
|
error=1;
|
||||||
}
|
}
|
||||||
statistic_increment(thd->status_var.ha_rollback_count,&LOCK_status);
|
status_var_increment(thd->status_var.ha_rollback_count);
|
||||||
*ht=0; // keep it conveniently zero-filled
|
*ht=0; // keep it conveniently zero-filled
|
||||||
}
|
}
|
||||||
DBUG_RETURN(error);
|
DBUG_RETURN(error);
|
||||||
@ -1301,7 +1300,7 @@ int ha_savepoint(THD *thd, SAVEPOINT *sv)
|
|||||||
my_error(ER_GET_ERRNO, MYF(0), err);
|
my_error(ER_GET_ERRNO, MYF(0), err);
|
||||||
error=1;
|
error=1;
|
||||||
}
|
}
|
||||||
statistic_increment(thd->status_var.ha_savepoint_count,&LOCK_status);
|
status_var_increment(thd->status_var.ha_savepoint_count);
|
||||||
}
|
}
|
||||||
sv->nht=trans->nht;
|
sv->nht=trans->nht;
|
||||||
#endif /* USING_TRANSACTIONS */
|
#endif /* USING_TRANSACTIONS */
|
||||||
@ -1489,7 +1488,7 @@ handler *handler::clone(MEM_ROOT *mem_root)
|
|||||||
|
|
||||||
void handler::ha_statistic_increment(ulong SSV::*offset) const
|
void handler::ha_statistic_increment(ulong SSV::*offset) const
|
||||||
{
|
{
|
||||||
statistic_increment(table->in_use->status_var.*offset, &LOCK_status);
|
status_var_increment(table->in_use->status_var.*offset);
|
||||||
}
|
}
|
||||||
|
|
||||||
void **handler::ha_data(THD *thd) const
|
void **handler::ha_data(THD *thd) const
|
||||||
@ -2836,7 +2835,7 @@ int ha_discover(THD *thd, const char *db, const char *name,
|
|||||||
error= 0;
|
error= 0;
|
||||||
|
|
||||||
if (!error)
|
if (!error)
|
||||||
statistic_increment(thd->status_var.ha_discover_count,&LOCK_status);
|
status_var_increment(thd->status_var.ha_discover_count);
|
||||||
DBUG_RETURN(error);
|
DBUG_RETURN(error);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -223,6 +223,7 @@
|
|||||||
|
|
||||||
#define HA_LEX_CREATE_TMP_TABLE 1
|
#define HA_LEX_CREATE_TMP_TABLE 1
|
||||||
#define HA_LEX_CREATE_IF_NOT_EXISTS 2
|
#define HA_LEX_CREATE_IF_NOT_EXISTS 2
|
||||||
|
#define HA_LEX_CREATE_TABLE_LIKE 4
|
||||||
#define HA_OPTION_NO_CHECKSUM (1L << 17)
|
#define HA_OPTION_NO_CHECKSUM (1L << 17)
|
||||||
#define HA_OPTION_NO_DELAY_KEY_WRITE (1L << 18)
|
#define HA_OPTION_NO_DELAY_KEY_WRITE (1L << 18)
|
||||||
#define HA_MAX_REC_LENGTH 65535
|
#define HA_MAX_REC_LENGTH 65535
|
||||||
|
@ -36,7 +36,6 @@
|
|||||||
#define sp_restore_security_context(A,B) while (0) {}
|
#define sp_restore_security_context(A,B) while (0) {}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
||||||
bool check_reserved_words(LEX_STRING *name)
|
bool check_reserved_words(LEX_STRING *name)
|
||||||
{
|
{
|
||||||
if (!my_strcasecmp(system_charset_info, name->str, "GLOBAL") ||
|
if (!my_strcasecmp(system_charset_info, name->str, "GLOBAL") ||
|
||||||
@ -4451,7 +4450,7 @@ int get_var_with_binlog(THD *thd, enum_sql_command sql_command,
|
|||||||
> set @a:=1;
|
> set @a:=1;
|
||||||
> insert into t1 values (@a), (@a:=@a+1), (@a:=@a+1);
|
> insert into t1 values (@a), (@a:=@a+1), (@a:=@a+1);
|
||||||
We have to write to binlog value @a= 1.
|
We have to write to binlog value @a= 1.
|
||||||
|
|
||||||
We allocate the user_var_event on user_var_events_alloc pool, not on
|
We allocate the user_var_event on user_var_events_alloc pool, not on
|
||||||
the this-statement-execution pool because in SPs user_var_event objects
|
the this-statement-execution pool because in SPs user_var_event objects
|
||||||
may need to be valid after current [SP] statement execution pool is
|
may need to be valid after current [SP] statement execution pool is
|
||||||
@ -4461,7 +4460,7 @@ int get_var_with_binlog(THD *thd, enum_sql_command sql_command,
|
|||||||
if (!(user_var_event= (BINLOG_USER_VAR_EVENT *)
|
if (!(user_var_event= (BINLOG_USER_VAR_EVENT *)
|
||||||
alloc_root(thd->user_var_events_alloc, size)))
|
alloc_root(thd->user_var_events_alloc, size)))
|
||||||
goto err;
|
goto err;
|
||||||
|
|
||||||
user_var_event->value= (char*) user_var_event +
|
user_var_event->value= (char*) user_var_event +
|
||||||
ALIGN_SIZE(sizeof(BINLOG_USER_VAR_EVENT));
|
ALIGN_SIZE(sizeof(BINLOG_USER_VAR_EVENT));
|
||||||
user_var_event->user_var_event= var_entry;
|
user_var_event->user_var_event= var_entry;
|
||||||
@ -4483,7 +4482,7 @@ int get_var_with_binlog(THD *thd, enum_sql_command sql_command,
|
|||||||
var_entry->used_query_id= thd->query_id;
|
var_entry->used_query_id= thd->query_id;
|
||||||
if (insert_dynamic(&thd->user_var_events, (gptr) &user_var_event))
|
if (insert_dynamic(&thd->user_var_events, (gptr) &user_var_event))
|
||||||
goto err;
|
goto err;
|
||||||
|
|
||||||
*out_entry= var_entry;
|
*out_entry= var_entry;
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
@ -4492,7 +4491,6 @@ err:
|
|||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void Item_func_get_user_var::fix_length_and_dec()
|
void Item_func_get_user_var::fix_length_and_dec()
|
||||||
{
|
{
|
||||||
THD *thd=current_thd;
|
THD *thd=current_thd;
|
||||||
@ -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);
|
error= get_var_with_binlog(thd, thd->lex->sql_command, name, &var_entry);
|
||||||
|
|
||||||
|
/*
|
||||||
|
If the variable didn't exist it has been created as a STRING-type.
|
||||||
|
'var_entry' is NULL only if there occured an error during the call to
|
||||||
|
get_var_with_binlog.
|
||||||
|
*/
|
||||||
if (var_entry)
|
if (var_entry)
|
||||||
{
|
{
|
||||||
|
m_cached_result_type= var_entry->type;
|
||||||
|
unsigned_flag= var_entry->unsigned_flag;
|
||||||
|
max_length= var_entry->length;
|
||||||
|
|
||||||
collation.set(var_entry->collation);
|
collation.set(var_entry->collation);
|
||||||
switch (var_entry->type) {
|
switch(m_cached_result_type) {
|
||||||
case REAL_RESULT:
|
case REAL_RESULT:
|
||||||
max_length= DBL_DIG + 8;
|
max_length= DBL_DIG + 8;
|
||||||
break;
|
break;
|
||||||
@ -4531,6 +4538,8 @@ void Item_func_get_user_var::fix_length_and_dec()
|
|||||||
{
|
{
|
||||||
collation.set(&my_charset_bin, DERIVATION_IMPLICIT);
|
collation.set(&my_charset_bin, DERIVATION_IMPLICIT);
|
||||||
null_value= 1;
|
null_value= 1;
|
||||||
|
m_cached_result_type= STRING_RESULT;
|
||||||
|
max_length= MAX_BLOB_WIDTH;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (error)
|
if (error)
|
||||||
@ -4548,12 +4557,7 @@ bool Item_func_get_user_var::const_item() const
|
|||||||
|
|
||||||
enum Item_result Item_func_get_user_var::result_type() const
|
enum Item_result Item_func_get_user_var::result_type() const
|
||||||
{
|
{
|
||||||
user_var_entry *entry;
|
return m_cached_result_type;
|
||||||
if (!(entry = (user_var_entry*) hash_search(¤t_thd->user_vars,
|
|
||||||
(byte*) name.str,
|
|
||||||
name.length)))
|
|
||||||
return STRING_RESULT;
|
|
||||||
return entry->type;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -1256,11 +1256,12 @@ class Item_func_get_user_var :public Item_func,
|
|||||||
private Settable_routine_parameter
|
private Settable_routine_parameter
|
||||||
{
|
{
|
||||||
user_var_entry *var_entry;
|
user_var_entry *var_entry;
|
||||||
|
Item_result m_cached_result_type;
|
||||||
|
|
||||||
public:
|
public:
|
||||||
LEX_STRING name; // keep it public
|
LEX_STRING name; // keep it public
|
||||||
Item_func_get_user_var(LEX_STRING a):
|
Item_func_get_user_var(LEX_STRING a):
|
||||||
Item_func(), name(a) {}
|
Item_func(), name(a), m_cached_result_type(STRING_RESULT) {}
|
||||||
enum Functype functype() const { return GUSERVAR_FUNC; }
|
enum Functype functype() const { return GUSERVAR_FUNC; }
|
||||||
LEX_STRING get_name() { return name; }
|
LEX_STRING get_name() { return name; }
|
||||||
double val_real();
|
double val_real();
|
||||||
@ -1274,13 +1275,11 @@ public:
|
|||||||
We must always return variables as strings to guard against selects of type
|
We must always return variables as strings to guard against selects of type
|
||||||
select @t1:=1,@t1,@t:="hello",@t from foo where (@t1:= t2.b)
|
select @t1:=1,@t1,@t:="hello",@t from foo where (@t1:= t2.b)
|
||||||
*/
|
*/
|
||||||
enum_field_types field_type() const { return MYSQL_TYPE_VARCHAR; }
|
|
||||||
const char *func_name() const { return "get_user_var"; }
|
const char *func_name() const { return "get_user_var"; }
|
||||||
bool const_item() const;
|
bool const_item() const;
|
||||||
table_map used_tables() const
|
table_map used_tables() const
|
||||||
{ return const_item() ? 0 : RAND_TABLE_BIT; }
|
{ return const_item() ? 0 : RAND_TABLE_BIT; }
|
||||||
bool eq(const Item *item, bool binary_cmp) const;
|
bool eq(const Item *item, bool binary_cmp) const;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
bool set_value(THD *thd, sp_rcontext *ctx, Item **it);
|
bool set_value(THD *thd, sp_rcontext *ctx, Item **it);
|
||||||
|
|
||||||
|
@ -978,9 +978,8 @@ bool mysql_alter_table(THD *thd, char *new_db, char *new_name,
|
|||||||
uint order_num, ORDER *order, bool ignore,
|
uint order_num, ORDER *order, bool ignore,
|
||||||
ALTER_INFO *alter_info, bool do_send_ok);
|
ALTER_INFO *alter_info, bool do_send_ok);
|
||||||
bool mysql_recreate_table(THD *thd, TABLE_LIST *table_list, bool do_send_ok);
|
bool mysql_recreate_table(THD *thd, TABLE_LIST *table_list, bool do_send_ok);
|
||||||
bool mysql_create_like_table(THD *thd, TABLE_LIST *table,
|
bool mysql_create_like_table(THD *thd, TABLE_LIST *table, TABLE_LIST *src_table,
|
||||||
HA_CREATE_INFO *create_info,
|
HA_CREATE_INFO *create_info);
|
||||||
Table_ident *src_table);
|
|
||||||
bool mysql_rename_table(handlerton *base, const char *old_db,
|
bool mysql_rename_table(handlerton *base, const char *old_db,
|
||||||
const char * old_name, const char *new_db,
|
const char * old_name, const char *new_db,
|
||||||
const char * new_name, uint flags);
|
const char * new_name, uint flags);
|
||||||
@ -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,
|
bool lock_table_name_if_not_cached(THD *thd, const char *db,
|
||||||
const char *table_name, TABLE **table);
|
const char *table_name, TABLE **table);
|
||||||
TABLE *find_locked_table(THD *thd, const char *db,const char *table_name);
|
TABLE *find_locked_table(THD *thd, const char *db,const char *table_name);
|
||||||
|
bool reopen_table(TABLE *table);
|
||||||
bool reopen_tables(THD *thd,bool get_locks,bool in_refresh);
|
bool reopen_tables(THD *thd,bool get_locks,bool in_refresh);
|
||||||
bool close_data_tables(THD *thd,const char *db, const char *table_name);
|
void close_data_files_and_morph_locks(THD *thd, const char *db,
|
||||||
|
const char *table_name);
|
||||||
|
void close_handle_and_leave_table_as_lock(TABLE *table);
|
||||||
bool wait_for_tables(THD *thd);
|
bool wait_for_tables(THD *thd);
|
||||||
bool table_is_used(TABLE *table, bool wait_for_name_lock);
|
bool table_is_used(TABLE *table, bool wait_for_name_lock);
|
||||||
TABLE *drop_locked_tables(THD *thd,const char *db, const char *table_name);
|
TABLE *drop_locked_tables(THD *thd,const char *db, const char *table_name);
|
||||||
|
@ -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)
|
static void fix_query_cache_size(THD *thd, enum_var_type type)
|
||||||
{
|
{
|
||||||
#ifdef HAVE_QUERY_CACHE
|
#ifdef HAVE_QUERY_CACHE
|
||||||
ulong requested= query_cache_size;
|
ulong new_cache_size= query_cache.resize(query_cache_size);
|
||||||
query_cache.resize(query_cache_size);
|
|
||||||
if (requested != 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,
|
push_warning_printf(current_thd, MYSQL_ERROR::WARN_LEVEL_WARN,
|
||||||
ER_WARN_QC_RESIZE, ER(ER_WARN_QC_RESIZE),
|
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
|
#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);
|
TABLE_LIST *table_desc, MEM_ROOT *mem_root);
|
||||||
static void close_old_data_files(THD *thd, TABLE *table, bool morph_locks,
|
static void close_old_data_files(THD *thd, TABLE *table, bool morph_locks,
|
||||||
bool send_refresh);
|
bool send_refresh);
|
||||||
static bool reopen_table(TABLE *table);
|
|
||||||
static bool
|
static bool
|
||||||
has_two_write_locked_tables_with_auto_increment(TABLE_LIST *tables);
|
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;
|
TABLE_SHARE *share, *old_share= table->s;
|
||||||
char *key_buff;
|
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));
|
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);
|
No table in the locked tables list. In case of explicit LOCK TABLES
|
||||||
else
|
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);
|
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);
|
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.
|
1 error. The old table object is not changed.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
static bool reopen_table(TABLE *table)
|
bool reopen_table(TABLE *table)
|
||||||
{
|
{
|
||||||
TABLE tmp;
|
TABLE tmp;
|
||||||
bool error= 1;
|
bool error= 1;
|
||||||
@ -2788,27 +2794,55 @@ static bool reopen_table(TABLE *table)
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/*
|
/**
|
||||||
Used with ALTER TABLE:
|
@brief Close all instances of a table open by this thread and replace
|
||||||
Close all instanses of table when LOCK TABLES is in used;
|
them with exclusive name-locks.
|
||||||
Close first all instances of table and then reopen them
|
|
||||||
|
@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;
|
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)
|
for (table=thd->open_tables; table ; table=table->next)
|
||||||
{
|
{
|
||||||
if (!strcmp(table->s->table_name.str, table_name) &&
|
if (!strcmp(table->s->table_name.str, table_name) &&
|
||||||
!strcmp(table->s->db.str, db))
|
!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);
|
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,
|
DBUG_PRINT("qcache", ("from %lu to %lu",query_cache_size,
|
||||||
query_cache_size_arg));
|
query_cache_size_arg));
|
||||||
DBUG_ASSERT(initialized);
|
DBUG_ASSERT(initialized);
|
||||||
|
|
||||||
STRUCT_LOCK(&structure_guard_mutex);
|
STRUCT_LOCK(&structure_guard_mutex);
|
||||||
free_cache();
|
while (flush_in_progress)
|
||||||
query_cache_size= query_cache_size_arg;
|
pthread_cond_wait(&COND_flush_finished, &structure_guard_mutex);
|
||||||
::query_cache_size= init_cache();
|
flush_in_progress= TRUE;
|
||||||
STRUCT_UNLOCK(&structure_guard_mutex);
|
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;
|
int align;
|
||||||
|
|
||||||
DBUG_ENTER("Query_cache::init_cache");
|
DBUG_ENTER("Query_cache::init_cache");
|
||||||
|
|
||||||
approx_additional_data_size = (sizeof(Query_cache) +
|
approx_additional_data_size = (sizeof(Query_cache) +
|
||||||
sizeof(gptr)*(def_query_hash_size+
|
sizeof(gptr)*(def_query_hash_size+
|
||||||
def_table_hash_size));
|
def_table_hash_size));
|
||||||
@ -1763,58 +1778,28 @@ void Query_cache::make_disabled()
|
|||||||
mem_bin_num= mem_bin_steps= 0;
|
mem_bin_num= mem_bin_steps= 0;
|
||||||
queries_in_cache= 0;
|
queries_in_cache= 0;
|
||||||
first_block= 0;
|
first_block= 0;
|
||||||
|
total_blocks= 0;
|
||||||
|
tables_blocks= 0;
|
||||||
DBUG_VOID_RETURN;
|
DBUG_VOID_RETURN;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/*
|
/**
|
||||||
free_cache() - free all resources allocated by the cache.
|
@class Query_cache
|
||||||
|
@brief Free all resources allocated by the cache.
|
||||||
SYNOPSIS
|
@details This function frees all resources allocated by the cache. You
|
||||||
free_cache()
|
have to call init_cache() before using the cache again. This function requires
|
||||||
|
the structure_guard_mutex to be locked.
|
||||||
DESCRIPTION
|
|
||||||
This function frees all resources allocated by the cache. You
|
|
||||||
have to call init_cache() before using the cache again.
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
void Query_cache::free_cache()
|
void Query_cache::free_cache()
|
||||||
{
|
{
|
||||||
DBUG_ENTER("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 */
|
my_free((gptr) cache, MYF(MY_ALLOW_ZERO_PTR));
|
||||||
bins[0].free_blocks->destroy();
|
make_disabled();
|
||||||
total_blocks--;
|
hash_free(&queries);
|
||||||
#ifndef DBUG_OFF
|
hash_free(&tables);
|
||||||
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);
|
|
||||||
}
|
|
||||||
DBUG_VOID_RETURN;
|
DBUG_VOID_RETURN;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -2538,7 +2538,7 @@ bool Delayed_insert::handle_inserts(void)
|
|||||||
|
|
||||||
if (table->s->blob_fields)
|
if (table->s->blob_fields)
|
||||||
free_delayed_insert_blobs(table);
|
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);
|
thread_safe_increment(delayed_insert_writes,&LOCK_delayed_status);
|
||||||
pthread_mutex_lock(&mutex);
|
pthread_mutex_lock(&mutex);
|
||||||
|
|
||||||
|
@ -1066,7 +1066,6 @@ typedef struct st_lex : public Query_tables_list
|
|||||||
|
|
||||||
char *length,*dec,*change;
|
char *length,*dec,*change;
|
||||||
LEX_STRING name;
|
LEX_STRING name;
|
||||||
Table_ident *like_name;
|
|
||||||
char *help_arg;
|
char *help_arg;
|
||||||
char *backup_dir; /* For RESTORE/BACKUP */
|
char *backup_dir; /* For RESTORE/BACKUP */
|
||||||
char* to_log; /* For PURGE MASTER LOGS TO */
|
char* to_log; /* For PURGE MASTER LOGS TO */
|
||||||
|
@ -39,6 +39,7 @@
|
|||||||
"FUNCTION" : "PROCEDURE")
|
"FUNCTION" : "PROCEDURE")
|
||||||
|
|
||||||
static bool execute_sqlcom_select(THD *thd, TABLE_LIST *all_tables);
|
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
|
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:
|
case COM_INIT_DB:
|
||||||
{
|
{
|
||||||
LEX_STRING tmp;
|
LEX_STRING tmp;
|
||||||
statistic_increment(thd->status_var.com_stat[SQLCOM_CHANGE_DB],
|
status_var_increment(thd->status_var.com_stat[SQLCOM_CHANGE_DB]);
|
||||||
&LOCK_status);
|
|
||||||
thd->convert_string(&tmp, system_charset_info,
|
thd->convert_string(&tmp, system_charset_info,
|
||||||
packet, packet_length-1, thd->charset());
|
packet, packet_length-1, thd->charset());
|
||||||
if (!mysql_change_db(thd, &tmp, FALSE))
|
if (!mysql_change_db(thd, &tmp, FALSE))
|
||||||
@ -757,7 +757,7 @@ bool dispatch_command(enum enum_server_command command, THD *thd,
|
|||||||
break;
|
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;
|
thd->enable_slow_log= opt_log_slow_admin_statements;
|
||||||
db.str= thd->alloc(db_len + tbl_len + 2);
|
db.str= thd->alloc(db_len + tbl_len + 2);
|
||||||
db.length= db_len;
|
db.length= db_len;
|
||||||
@ -773,7 +773,7 @@ bool dispatch_command(enum enum_server_command command, THD *thd,
|
|||||||
}
|
}
|
||||||
case COM_CHANGE_USER:
|
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 *user= (char*) packet, *packet_end= packet+ packet_length;
|
||||||
char *passwd= strend(user)+1;
|
char *passwd= strend(user)+1;
|
||||||
|
|
||||||
@ -956,8 +956,7 @@ bool dispatch_command(enum enum_server_command command, THD *thd,
|
|||||||
/* used as fields initializator */
|
/* used as fields initializator */
|
||||||
lex_start(thd);
|
lex_start(thd);
|
||||||
|
|
||||||
statistic_increment(thd->status_var.com_stat[SQLCOM_SHOW_FIELDS],
|
status_var_increment(thd->status_var.com_stat[SQLCOM_SHOW_FIELDS]);
|
||||||
&LOCK_status);
|
|
||||||
bzero((char*) &table_list,sizeof(table_list));
|
bzero((char*) &table_list,sizeof(table_list));
|
||||||
if (thd->copy_db_to(&table_list.db, &dummy))
|
if (thd->copy_db_to(&table_list.db, &dummy))
|
||||||
break;
|
break;
|
||||||
@ -1023,8 +1022,7 @@ bool dispatch_command(enum enum_server_command command, THD *thd,
|
|||||||
LEX_STRING db, alias;
|
LEX_STRING db, alias;
|
||||||
HA_CREATE_INFO create_info;
|
HA_CREATE_INFO create_info;
|
||||||
|
|
||||||
statistic_increment(thd->status_var.com_stat[SQLCOM_CREATE_DB],
|
status_var_increment(thd->status_var.com_stat[SQLCOM_CREATE_DB]);
|
||||||
&LOCK_status);
|
|
||||||
if (thd->LEX_STRING_make(&db, packet, packet_length -1) ||
|
if (thd->LEX_STRING_make(&db, packet, packet_length -1) ||
|
||||||
thd->LEX_STRING_make(&alias, db.str, db.length) ||
|
thd->LEX_STRING_make(&alias, db.str, db.length) ||
|
||||||
check_db_name(&db))
|
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
|
case COM_DROP_DB: // QQ: To be removed
|
||||||
{
|
{
|
||||||
statistic_increment(thd->status_var.com_stat[SQLCOM_DROP_DB],
|
status_var_increment(thd->status_var.com_stat[SQLCOM_DROP_DB]);
|
||||||
&LOCK_status);
|
|
||||||
LEX_STRING db;
|
LEX_STRING db;
|
||||||
|
|
||||||
if (thd->LEX_STRING_make(&db, packet, packet_length - 1) ||
|
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;
|
ushort flags;
|
||||||
uint32 slave_server_id;
|
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;
|
thd->enable_slow_log= opt_log_slow_admin_statements;
|
||||||
if (check_global_access(thd, REPL_SLAVE_ACL))
|
if (check_global_access(thd, REPL_SLAVE_ACL))
|
||||||
break;
|
break;
|
||||||
@ -1099,8 +1096,7 @@ bool dispatch_command(enum enum_server_command command, THD *thd,
|
|||||||
case COM_REFRESH:
|
case COM_REFRESH:
|
||||||
{
|
{
|
||||||
bool not_used;
|
bool not_used;
|
||||||
statistic_increment(thd->status_var.com_stat[SQLCOM_FLUSH],
|
status_var_increment(thd->status_var.com_stat[SQLCOM_FLUSH]);
|
||||||
&LOCK_status);
|
|
||||||
ulong options= (ulong) (uchar) packet[0];
|
ulong options= (ulong) (uchar) packet[0];
|
||||||
if (check_global_access(thd,RELOAD_ACL))
|
if (check_global_access(thd,RELOAD_ACL))
|
||||||
break;
|
break;
|
||||||
@ -1112,7 +1108,7 @@ bool dispatch_command(enum enum_server_command command, THD *thd,
|
|||||||
#ifndef EMBEDDED_LIBRARY
|
#ifndef EMBEDDED_LIBRARY
|
||||||
case COM_SHUTDOWN:
|
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))
|
if (check_global_access(thd,SHUTDOWN_ACL))
|
||||||
break; /* purecov: inspected */
|
break; /* purecov: inspected */
|
||||||
/*
|
/*
|
||||||
@ -1164,8 +1160,7 @@ bool dispatch_command(enum enum_server_command command, THD *thd,
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
general_log_print(thd, command, NullS);
|
general_log_print(thd, command, NullS);
|
||||||
statistic_increment(thd->status_var.com_stat[SQLCOM_SHOW_STATUS],
|
status_var_increment(thd->status_var.com_stat[SQLCOM_SHOW_STATUS]);
|
||||||
&LOCK_status);
|
|
||||||
calc_sum_of_all_status(¤t_global_status_var);
|
calc_sum_of_all_status(¤t_global_status_var);
|
||||||
if (!(uptime= (ulong) (thd->start_time - server_start_time)))
|
if (!(uptime= (ulong) (thd->start_time - server_start_time)))
|
||||||
queries_per_second1000= 0;
|
queries_per_second1000= 0;
|
||||||
@ -1201,12 +1196,11 @@ bool dispatch_command(enum enum_server_command command, THD *thd,
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case COM_PING:
|
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
|
send_ok(thd); // Tell client we are alive
|
||||||
break;
|
break;
|
||||||
case COM_PROCESS_INFO:
|
case COM_PROCESS_INFO:
|
||||||
statistic_increment(thd->status_var.com_stat[SQLCOM_SHOW_PROCESSLIST],
|
status_var_increment(thd->status_var.com_stat[SQLCOM_SHOW_PROCESSLIST]);
|
||||||
&LOCK_status);
|
|
||||||
if (!thd->security_ctx->priv_user[0] &&
|
if (!thd->security_ctx->priv_user[0] &&
|
||||||
check_global_access(thd, PROCESS_ACL))
|
check_global_access(thd, PROCESS_ACL))
|
||||||
break;
|
break;
|
||||||
@ -1217,15 +1211,14 @@ bool dispatch_command(enum enum_server_command command, THD *thd,
|
|||||||
break;
|
break;
|
||||||
case COM_PROCESS_KILL:
|
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);
|
ulong id=(ulong) uint4korr(packet);
|
||||||
sql_kill(thd,id,false);
|
sql_kill(thd,id,false);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case COM_SET_OPTION:
|
case COM_SET_OPTION:
|
||||||
{
|
{
|
||||||
statistic_increment(thd->status_var.com_stat[SQLCOM_SET_OPTION],
|
status_var_increment(thd->status_var.com_stat[SQLCOM_SET_OPTION]);
|
||||||
&LOCK_status);
|
|
||||||
uint opt_command= uint2korr(packet);
|
uint opt_command= uint2korr(packet);
|
||||||
|
|
||||||
switch (opt_command) {
|
switch (opt_command) {
|
||||||
@ -1244,7 +1237,7 @@ bool dispatch_command(enum enum_server_command command, THD *thd,
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case COM_DEBUG:
|
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))
|
if (check_global_access(thd, SUPER_ACL))
|
||||||
break; /* purecov: inspected */
|
break; /* purecov: inspected */
|
||||||
mysql_print_status();
|
mysql_print_status();
|
||||||
@ -1783,8 +1776,7 @@ mysql_execute_command(THD *thd)
|
|||||||
#ifdef HAVE_REPLICATION
|
#ifdef HAVE_REPLICATION
|
||||||
} /* endif unlikely slave */
|
} /* endif unlikely slave */
|
||||||
#endif
|
#endif
|
||||||
statistic_increment(thd->status_var.com_stat[lex->sql_command],
|
status_var_increment(thd->status_var.com_stat[lex->sql_command]);
|
||||||
&LOCK_status);
|
|
||||||
|
|
||||||
switch (lex->sql_command) {
|
switch (lex->sql_command) {
|
||||||
case SQLCOM_SHOW_EVENTS:
|
case SQLCOM_SHOW_EVENTS:
|
||||||
@ -2240,9 +2232,9 @@ mysql_execute_command(THD *thd)
|
|||||||
if (lex->create_info.options & HA_LEX_CREATE_TMP_TABLE)
|
if (lex->create_info.options & HA_LEX_CREATE_TMP_TABLE)
|
||||||
thd->options|= OPTION_KEEP_LOG;
|
thd->options|= OPTION_KEEP_LOG;
|
||||||
/* regular create */
|
/* regular create */
|
||||||
if (lex->like_name)
|
if (lex->create_info.options & HA_LEX_CREATE_TABLE_LIKE)
|
||||||
res= mysql_create_like_table(thd, create_table, &lex->create_info,
|
res= mysql_create_like_table(thd, create_table, select_tables,
|
||||||
lex->like_name);
|
&lex->create_info);
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
res= mysql_create_table(thd, create_table->db,
|
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" */
|
/* Ignore temporary tables if this is "SHOW CREATE VIEW" */
|
||||||
if (lex->only_view)
|
if (lex->only_view)
|
||||||
first_table->skip_temporary= 1;
|
first_table->skip_temporary= 1;
|
||||||
|
if (check_show_create_table_access(thd, first_table))
|
||||||
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))
|
|
||||||
goto error;
|
goto error;
|
||||||
res= mysqld_show_create(thd, first_table);
|
res= mysqld_show_create(thd, first_table);
|
||||||
break;
|
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
|
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))
|
if (tables && check_table_access(thd, SELECT_ACL, tables,0))
|
||||||
goto err;
|
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;
|
error= FALSE;
|
||||||
|
|
||||||
err:
|
err:
|
||||||
|
@ -3776,20 +3776,15 @@ bool mysql_unpack_partition(THD *thd,
|
|||||||
ha_legacy_type(default_db_type)));
|
ha_legacy_type(default_db_type)));
|
||||||
if (is_create_table_ind && old_lex->sql_command == SQLCOM_CREATE_TABLE)
|
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
|
This code is executed when we create table in CREATE TABLE t1 LIKE t2.
|
||||||
old_lex->like_name contains the t2 and the table we are opening has
|
old_lex->query_tables contains table list element for t2 and the table
|
||||||
name t1.
|
we are opening has name t1.
|
||||||
*/
|
*/
|
||||||
Table_ident *table_ident= old_lex->like_name;
|
if (partition_default_handling(table, part_info, FALSE,
|
||||||
char *src_db= table_ident->db.str ? table_ident->db.str : thd->db;
|
old_lex->query_tables->table->s->path.str))
|
||||||
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))
|
|
||||||
{
|
{
|
||||||
result= TRUE;
|
result= TRUE;
|
||||||
goto end;
|
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 */
|
/* First of all clear possible warnings from the previous command */
|
||||||
mysql_reset_thd_for_next_command(thd);
|
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")))
|
if (!(stmt= find_prepared_statement(thd, stmt_id, "mysql_stmt_fetch")))
|
||||||
DBUG_VOID_RETURN;
|
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 */
|
/* First of all clear possible warnings from the previous command */
|
||||||
mysql_reset_thd_for_next_command(thd);
|
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")))
|
if (!(stmt= find_prepared_statement(thd, stmt_id, "mysql_stmt_reset")))
|
||||||
DBUG_VOID_RETURN;
|
DBUG_VOID_RETURN;
|
||||||
|
|
||||||
@ -2598,7 +2598,7 @@ void mysql_stmt_get_longdata(THD *thd, char *packet, ulong packet_length)
|
|||||||
#endif
|
#endif
|
||||||
DBUG_ENTER("mysql_stmt_get_longdata");
|
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
|
#ifndef EMBEDDED_LIBRARY
|
||||||
/* Minimal size of long data packet is 6 bytes */
|
/* Minimal size of long data packet is 6 bytes */
|
||||||
if (packet_length <= MYSQL_LONG_DATA_HEADER)
|
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,
|
However, it seems handy if com_stmt_prepare is increased always,
|
||||||
no matter what kind of prepare is processed.
|
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
|
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;
|
Query_arena *old_stmt_arena;
|
||||||
bool error= TRUE;
|
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 */
|
/* Check if we got an error when sending long data */
|
||||||
if (state == Query_arena::ERROR)
|
if (state == Query_arena::ERROR)
|
||||||
@ -3094,7 +3094,7 @@ error:
|
|||||||
bool Prepared_statement::deallocate()
|
bool Prepared_statement::deallocate()
|
||||||
{
|
{
|
||||||
/* We account deallocate in the same manner as mysql_stmt_close */
|
/* 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)
|
if (flags & (uint) IS_IN_USE)
|
||||||
{
|
{
|
||||||
my_error(ER_PS_NO_RECURSION, MYF(0));
|
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;
|
join->thd->server_status|=SERVER_QUERY_NO_GOOD_INDEX_USED;
|
||||||
tab->read_first_record= join_init_quick_read_record;
|
tab->read_first_record= join_init_quick_read_record;
|
||||||
if (statistics)
|
if (statistics)
|
||||||
statistic_increment(join->thd->status_var.select_range_check_count,
|
status_var_increment(join->thd->status_var.select_range_check_count);
|
||||||
&LOCK_status);
|
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@ -6299,15 +6298,13 @@ make_join_readinfo(JOIN *join, ulonglong options)
|
|||||||
if (tab->select && tab->select->quick)
|
if (tab->select && tab->select->quick)
|
||||||
{
|
{
|
||||||
if (statistics)
|
if (statistics)
|
||||||
statistic_increment(join->thd->status_var.select_range_count,
|
status_var_increment(join->thd->status_var.select_range_count);
|
||||||
&LOCK_status);
|
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
join->thd->server_status|=SERVER_QUERY_NO_INDEX_USED;
|
join->thd->server_status|=SERVER_QUERY_NO_INDEX_USED;
|
||||||
if (statistics)
|
if (statistics)
|
||||||
statistic_increment(join->thd->status_var.select_scan_count,
|
status_var_increment(join->thd->status_var.select_scan_count);
|
||||||
&LOCK_status);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@ -6315,15 +6312,13 @@ make_join_readinfo(JOIN *join, ulonglong options)
|
|||||||
if (tab->select && tab->select->quick)
|
if (tab->select && tab->select->quick)
|
||||||
{
|
{
|
||||||
if (statistics)
|
if (statistics)
|
||||||
statistic_increment(join->thd->status_var.select_full_range_join_count,
|
status_var_increment(join->thd->status_var.select_full_range_join_count);
|
||||||
&LOCK_status);
|
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
join->thd->server_status|=SERVER_QUERY_NO_INDEX_USED;
|
join->thd->server_status|=SERVER_QUERY_NO_INDEX_USED;
|
||||||
if (statistics)
|
if (statistics)
|
||||||
statistic_increment(join->thd->status_var.select_full_join_count,
|
status_var_increment(join->thd->status_var.select_full_join_count);
|
||||||
&LOCK_status);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (!table->no_keyread)
|
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,
|
(int) distinct, (int) save_sum_fields,
|
||||||
(ulong) rows_limit,test(group)));
|
(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))
|
if (use_temp_pool && !(test_flags & TEST_KEEP_TMP_TABLES))
|
||||||
temp_pool_slot = bitmap_lock_set_next(&temp_pool);
|
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;
|
table->db_stat=0;
|
||||||
goto err;
|
goto err;
|
||||||
}
|
}
|
||||||
statistic_increment(table->in_use->status_var.created_tmp_disk_tables,
|
status_var_increment(table->in_use->status_var.created_tmp_disk_tables);
|
||||||
&LOCK_status);
|
|
||||||
share->db_record_offset= 1;
|
share->db_record_offset= 1;
|
||||||
DBUG_RETURN(0);
|
DBUG_RETURN(0);
|
||||||
err:
|
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
|
SYNOPSIS
|
||||||
mysql_create_like_table()
|
mysql_create_like_table()
|
||||||
thd Thread object
|
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
|
create_info Create info
|
||||||
table_ident Src table_ident
|
|
||||||
|
|
||||||
RETURN VALUES
|
RETURN VALUES
|
||||||
FALSE OK
|
FALSE OK
|
||||||
TRUE error
|
TRUE error
|
||||||
*/
|
*/
|
||||||
|
|
||||||
bool mysql_create_like_table(THD* thd, TABLE_LIST* table,
|
bool mysql_create_like_table(THD* thd, TABLE_LIST* table, TABLE_LIST* src_table,
|
||||||
HA_CREATE_INFO *lex_create_info,
|
HA_CREATE_INFO *lex_create_info)
|
||||||
Table_ident *table_ident)
|
|
||||||
{
|
{
|
||||||
TABLE *tmp_table, *name_lock= 0;
|
TABLE *name_lock= 0;
|
||||||
char src_path[FN_REFLEN], dst_path[FN_REFLEN];
|
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;
|
uint dst_path_length;
|
||||||
char *db= table->db;
|
char *db= table->db;
|
||||||
char *table_name= table->table_name;
|
char *table_name= table->table_name;
|
||||||
char *src_db;
|
|
||||||
char *src_table= table_ident->table.str;
|
|
||||||
int err;
|
int err;
|
||||||
bool res= TRUE;
|
bool res= TRUE;
|
||||||
enum legacy_db_type not_used;
|
uint not_used;
|
||||||
HA_CREATE_INFO *create_info;
|
HA_CREATE_INFO *create_info;
|
||||||
#ifdef WITH_PARTITION_STORAGE_ENGINE
|
#ifdef WITH_PARTITION_STORAGE_ENGINE
|
||||||
char tmp_path[FN_REFLEN];
|
char tmp_path[FN_REFLEN];
|
||||||
#endif
|
#endif
|
||||||
char ts_name[FN_LEN];
|
char ts_name[FN_LEN];
|
||||||
TABLE_LIST src_tables_list;
|
|
||||||
DBUG_ENTER("mysql_create_like_table");
|
DBUG_ENTER("mysql_create_like_table");
|
||||||
|
|
||||||
if (!(create_info= copy_create_info(lex_create_info)))
|
if (!(create_info= copy_create_info(lex_create_info)))
|
||||||
{
|
{
|
||||||
DBUG_RETURN(TRUE);
|
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,
|
if (open_tables(thd, &src_table, ¬_used, 0))
|
||||||
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))
|
|
||||||
DBUG_RETURN(TRUE);
|
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,
|
Add something to get possible tablespace info from src table,
|
||||||
it can get valid tablespace name only for disk-base ndb 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->tablespace= ts_name;
|
||||||
create_info->storage_media= HA_SM_DISK;
|
create_info->storage_media= HA_SM_DISK;
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
strxmov(src_path, src_table->table->s->path.str, reg_ext, NullS);
|
||||||
Validate the destination table
|
|
||||||
|
|
||||||
skip the destination table name checking as this is already
|
DBUG_EXECUTE_IF("sleep_create_like_before_check_if_exists", my_sleep(6000000););
|
||||||
validated.
|
|
||||||
|
/*
|
||||||
|
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)
|
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;
|
goto table_exists;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
DBUG_EXECUTE_IF("sleep_create_like_before_copy", my_sleep(6000000););
|
||||||
|
|
||||||
/*
|
/*
|
||||||
Create a new table by copying from source table
|
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_copy(src_path, dst_path, MYF(MY_DONT_OVERWRITE_FILE)))
|
||||||
{
|
{
|
||||||
if (my_errno == ENOENT)
|
if (my_errno == ENOENT)
|
||||||
my_error(ER_BAD_DB_ERROR,MYF(0),db);
|
my_error(ER_BAD_DB_ERROR,MYF(0),db);
|
||||||
else
|
else
|
||||||
my_error(ER_CANT_CREATE_FILE,MYF(0),dst_path,my_errno);
|
my_error(ER_CANT_CREATE_FILE,MYF(0),dst_path,my_errno);
|
||||||
|
VOID(pthread_mutex_unlock(&LOCK_open));
|
||||||
goto err;
|
goto err;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -4847,10 +4800,12 @@ bool mysql_create_like_table(THD* thd, TABLE_LIST* table,
|
|||||||
strmov(src_path, tmp_path);
|
strmov(src_path, tmp_path);
|
||||||
my_copy(src_path, dst_path, MYF(MY_DONT_OVERWRITE_FILE));
|
my_copy(src_path, dst_path, MYF(MY_DONT_OVERWRITE_FILE));
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
DBUG_EXECUTE_IF("sleep_create_like_before_ha_create", my_sleep(6000000););
|
||||||
|
|
||||||
dst_path[dst_path_length - reg_ext_length]= '\0'; // Remove .frm
|
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);
|
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 (create_info->options & HA_LEX_CREATE_TMP_TABLE)
|
||||||
{
|
{
|
||||||
if (err || !open_temporary_table(thd, dst_path, db, table_name, 1))
|
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 */
|
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.
|
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
|
3 temporary normal Nothing
|
||||||
4 temporary temporary 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 (!(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];
|
char buf[2048];
|
||||||
String query(buf, sizeof(buf), system_charset_info);
|
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;
|
HA_CREATE_INFO *create_info;
|
||||||
frm_type_enum frm_type;
|
frm_type_enum frm_type;
|
||||||
uint need_copy_table= 0;
|
uint need_copy_table= 0;
|
||||||
bool no_table_reopen= FALSE, varchar= FALSE;
|
bool varchar= FALSE;
|
||||||
#ifdef WITH_PARTITION_STORAGE_ENGINE
|
#ifdef WITH_PARTITION_STORAGE_ENGINE
|
||||||
uint fast_alter_partition= 0;
|
uint fast_alter_partition= 0;
|
||||||
bool partition_changed= FALSE;
|
bool partition_changed= FALSE;
|
||||||
@ -5670,6 +5623,7 @@ view_err:
|
|||||||
VOID(pthread_mutex_lock(&LOCK_open));
|
VOID(pthread_mutex_lock(&LOCK_open));
|
||||||
wait_while_table_is_used(thd, table, HA_EXTRA_FORCE_REOPEN);
|
wait_while_table_is_used(thd, table, HA_EXTRA_FORCE_REOPEN);
|
||||||
VOID(pthread_mutex_unlock(&LOCK_open));
|
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);
|
error= table->file->enable_indexes(HA_KEY_SWITCH_NONUNIQ_SAVE);
|
||||||
/* COND_refresh will be signaled in close_thread_tables() */
|
/* COND_refresh will be signaled in close_thread_tables() */
|
||||||
break;
|
break;
|
||||||
@ -6585,9 +6539,19 @@ view_err:
|
|||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
Data is copied. Now we rename the old table to a temp name,
|
Data is copied. Now we:
|
||||||
rename the new one to the old name, remove all entries about the old table
|
1) Wait until all other threads close old version of table.
|
||||||
from the cache, free all locks, close the old table and remove it.
|
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";
|
thd->proc_info="rename result table";
|
||||||
@ -6596,38 +6560,8 @@ view_err:
|
|||||||
if (lower_case_table_names)
|
if (lower_case_table_names)
|
||||||
my_casedn_str(files_charset_info, old_name);
|
my_casedn_str(files_charset_info, old_name);
|
||||||
|
|
||||||
#if !defined( __WIN__)
|
wait_while_table_is_used(thd, table, HA_EXTRA_PREPARE_FOR_DELETE);
|
||||||
if (table->file->has_transactions())
|
close_data_files_and_morph_locks(thd, db, table_name);
|
||||||
#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;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
error=0;
|
error=0;
|
||||||
save_old_db_type= old_db_type;
|
save_old_db_type= old_db_type;
|
||||||
@ -6672,121 +6606,64 @@ view_err:
|
|||||||
|
|
||||||
if (error)
|
if (error)
|
||||||
{
|
{
|
||||||
/*
|
/* This shouldn't happen. But let us play it safe. */
|
||||||
This shouldn't happen. We solve this the safe way by
|
goto err_with_placeholders;
|
||||||
closing the locked table.
|
|
||||||
*/
|
|
||||||
if (table)
|
|
||||||
{
|
|
||||||
close_cached_table(thd,table);
|
|
||||||
}
|
|
||||||
VOID(pthread_mutex_unlock(&LOCK_open));
|
|
||||||
goto err;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (! need_copy_table)
|
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->alias= new_name;
|
table_list->table_name_length= strlen(new_name);
|
||||||
table_list->table_name= new_name;
|
table_list->db= new_db;
|
||||||
table_list->table_name_length= strlen(new_name);
|
table_list->db_length= strlen(new_db);
|
||||||
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->table= name_lock;
|
table_list->table= name_lock;
|
||||||
if (reopen_name_locked_table(thd, table_list, FALSE))
|
if (reopen_name_locked_table(thd, table_list, FALSE))
|
||||||
{
|
goto err_with_placeholders;
|
||||||
VOID(pthread_mutex_unlock(&LOCK_open));
|
t_table= table_list->table;
|
||||||
goto err;
|
}
|
||||||
}
|
else
|
||||||
table= table_list->table;
|
{
|
||||||
/*
|
if (reopen_table(table))
|
||||||
We can't rely on later close_cached_table() calls to close
|
goto err_with_placeholders;
|
||||||
this instance of the table since it was not properly locked.
|
t_table= table;
|
||||||
*/
|
|
||||||
needs_unlink= TRUE;
|
|
||||||
}
|
}
|
||||||
/* Tell the handler that a new frm file is in place. */
|
/* Tell the handler that a new frm file is in place. */
|
||||||
if (table->file->create_handler_files(path, NULL, CHF_INDEX_FLAG,
|
if (t_table->file->create_handler_files(path, NULL, CHF_INDEX_FLAG,
|
||||||
create_info))
|
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;
|
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
|
||||||
if (needs_unlink)
|
object to make it suitable for reopening.
|
||||||
{
|
*/
|
||||||
unlink_open_table(thd, table, FALSE);
|
DBUG_ASSERT(t_table == table);
|
||||||
table= name_lock= 0;
|
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)
|
||||||
{
|
{
|
||||||
/*
|
thd->in_lock_tables= 1;
|
||||||
Not table locking or alter table with rename.
|
error= reopen_tables(thd, 1, 0);
|
||||||
Free locks and remove old table
|
thd->in_lock_tables= 0;
|
||||||
*/
|
if (error)
|
||||||
if (table)
|
goto err_with_placeholders;
|
||||||
{
|
|
||||||
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;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
VOID(pthread_mutex_unlock(&LOCK_open));
|
VOID(pthread_mutex_unlock(&LOCK_open));
|
||||||
broadcast_refresh();
|
|
||||||
/*
|
/*
|
||||||
The ALTER TABLE is always in its own transaction.
|
The ALTER TABLE is always in its own transaction.
|
||||||
Commit must not be called while LOCK_open is locked. It could call
|
Commit must not be called while LOCK_open is locked. It could call
|
||||||
@ -6803,6 +6680,8 @@ view_err:
|
|||||||
}
|
}
|
||||||
thd->proc_info="end";
|
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,
|
ha_binlog_log_query(thd, create_info->db_type, LOGCOM_ALTER_TABLE,
|
||||||
thd->query, thd->query_length,
|
thd->query, thd->query_length,
|
||||||
db, table_name);
|
db, table_name);
|
||||||
@ -6820,12 +6699,13 @@ view_err:
|
|||||||
shutdown.
|
shutdown.
|
||||||
*/
|
*/
|
||||||
char path[FN_REFLEN];
|
char path[FN_REFLEN];
|
||||||
|
TABLE *t_table;
|
||||||
build_table_filename(path, sizeof(path), new_db, table_name, "", 0);
|
build_table_filename(path, sizeof(path), new_db, table_name, "", 0);
|
||||||
table=open_temporary_table(thd, path, new_db, tmp_name,0);
|
t_table= open_temporary_table(thd, path, new_db, tmp_name, 0);
|
||||||
if (table)
|
if (t_table)
|
||||||
{
|
{
|
||||||
intern_close_table(table);
|
intern_close_table(t_table);
|
||||||
my_free((char*) table, MYF(0));
|
my_free((char*) t_table, MYF(0));
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
sql_print_warning("Could not open table %s.%s after rename\n",
|
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
|
table_list->table=0; // For query cache
|
||||||
query_cache_invalidate3(thd, table_list, 0);
|
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);
|
pthread_mutex_lock(&LOCK_open);
|
||||||
|
unlink_open_table(thd, table, FALSE);
|
||||||
unlink_open_table(thd, name_lock, FALSE);
|
unlink_open_table(thd, name_lock, FALSE);
|
||||||
pthread_mutex_unlock(&LOCK_open);
|
pthread_mutex_unlock(&LOCK_open);
|
||||||
}
|
}
|
||||||
@ -6868,6 +6755,18 @@ err:
|
|||||||
pthread_mutex_unlock(&LOCK_open);
|
pthread_mutex_unlock(&LOCK_open);
|
||||||
}
|
}
|
||||||
DBUG_RETURN(TRUE);
|
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 */
|
/* mysql_alter_table */
|
||||||
|
|
||||||
|
@ -508,7 +508,9 @@ Next alarm time: %lu\n",
|
|||||||
display_table_locks();
|
display_table_locks();
|
||||||
fflush(stdout);
|
fflush(stdout);
|
||||||
my_checkmalloc();
|
my_checkmalloc();
|
||||||
|
fprintf(stdout,"\nBegin safemalloc memory dump:\n"); // tag needed for test suite
|
||||||
TERMINATE(stdout); // Write malloc information
|
TERMINATE(stdout); // Write malloc information
|
||||||
|
fprintf(stdout,"\nEnd safemalloc memory dump.\n");
|
||||||
|
|
||||||
#ifdef HAVE_MALLINFO
|
#ifdef HAVE_MALLINFO
|
||||||
struct mallinfo info= mallinfo();
|
struct mallinfo info= mallinfo();
|
||||||
|
@ -1579,7 +1579,6 @@ create:
|
|||||||
lex->create_info.default_table_charset= NULL;
|
lex->create_info.default_table_charset= NULL;
|
||||||
lex->name.str= 0;
|
lex->name.str= 0;
|
||||||
lex->name.length= 0;
|
lex->name.length= 0;
|
||||||
lex->like_name= 0;
|
|
||||||
}
|
}
|
||||||
create2
|
create2
|
||||||
{
|
{
|
||||||
@ -3603,27 +3602,15 @@ create2:
|
|||||||
create3 {}
|
create3 {}
|
||||||
| LIKE table_ident
|
| LIKE table_ident
|
||||||
{
|
{
|
||||||
THD *thd= YYTHD;
|
Lex->create_info.options|= HA_LEX_CREATE_TABLE_LIKE;
|
||||||
LEX *lex= thd->lex;
|
if (!Lex->select_lex.add_table_to_list(YYTHD, $2, NULL, 0, TL_READ))
|
||||||
if (!(lex->like_name= $2))
|
|
||||||
MYSQL_YYABORT;
|
MYSQL_YYABORT;
|
||||||
if ($2->db.str == NULL &&
|
|
||||||
thd->copy_db_to(&($2->db.str), &($2->db.length)))
|
|
||||||
{
|
|
||||||
MYSQL_YYABORT;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
| '(' LIKE table_ident ')'
|
| '(' LIKE table_ident ')'
|
||||||
{
|
{
|
||||||
THD *thd= YYTHD;
|
Lex->create_info.options|= HA_LEX_CREATE_TABLE_LIKE;
|
||||||
LEX *lex= thd->lex;
|
if (!Lex->select_lex.add_table_to_list(YYTHD, $3, NULL, 0, TL_READ))
|
||||||
if (!(lex->like_name= $3))
|
|
||||||
MYSQL_YYABORT;
|
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->key_list.empty();
|
||||||
lex->col_list.empty();
|
lex->col_list.empty();
|
||||||
lex->select_lex.init_order();
|
lex->select_lex.init_order();
|
||||||
lex->like_name= 0;
|
|
||||||
lex->select_lex.db=
|
lex->select_lex.db=
|
||||||
((TABLE_LIST*) lex->select_lex.table_list.first)->db;
|
((TABLE_LIST*) lex->select_lex.table_list.first)->db;
|
||||||
bzero((char*) &lex->create_info,sizeof(lex->create_info));
|
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
|
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_status", test_status },
|
||||||
{ "test_bug24179", test_bug24179 },
|
{ "test_bug24179", test_bug24179 },
|
||||||
{ "test_ps_query_cache", test_ps_query_cache },
|
{ "test_ps_query_cache", test_ps_query_cache },
|
||||||
|
{ "test_bug28075", test_bug28075 },
|
||||||
{ 0, 0 }
|
{ 0, 0 }
|
||||||
};
|
};
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user