summaryrefslogtreecommitdiff
path: root/mysql-test/r/analyse.result
blob: b51afab5b54bf7bb14bc861b39e95ec57c0b576c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
drop table if exists t1,t2;
create table t1 (i int, j int, empty_string char(10), bool char(1), d date);
insert into t1 values (1,2,"","Y","2002-03-03"), (3,4,"","N","2002-03-04"), (5,6,"","Y","2002-03-04"), (7,8,"","N","2002-03-05");
select count(*) from t1 procedure analyse();
Field_name	Min_value	Max_value	Min_length	Max_length	Empties_or_zeros	Nulls	Avg_value_or_avg_length	Std	Optimal_fieldtype
count(*)	4	4	1	1	0	0	4.0000	0.0000	ENUM('4') NOT NULL
select * from t1 procedure analyse();
Field_name	Min_value	Max_value	Min_length	Max_length	Empties_or_zeros	Nulls	Avg_value_or_avg_length	Std	Optimal_fieldtype
test.t1.i	1	7	1	1	0	0	4.0000	2.2361	ENUM('1','3','5','7') NOT NULL
test.t1.j	2	8	1	1	0	0	5.0000	2.2361	ENUM('2','4','6','8') NOT NULL
test.t1.empty_string			0	0	4	0	0.0000	NULL	CHAR(0) NOT NULL
test.t1.bool	N	Y	1	1	0	0	1.0000	NULL	ENUM('N','Y') NOT NULL
test.t1.d	2002-03-03	2002-03-05	10	10	0	0	10.0000	NULL	ENUM('2002-03-03','2002-03-04','2002-03-05') NOT NULL
select * from t1 procedure analyse(2);
Field_name	Min_value	Max_value	Min_length	Max_length	Empties_or_zeros	Nulls	Avg_value_or_avg_length	Std	Optimal_fieldtype
test.t1.i	1	7	1	1	0	0	4.0000	2.2361	TINYINT(1) UNSIGNED NOT NULL
test.t1.j	2	8	1	1	0	0	5.0000	2.2361	TINYINT(1) UNSIGNED NOT NULL
test.t1.empty_string			0	0	4	0	0.0000	NULL	CHAR(0) NOT NULL
test.t1.bool	N	Y	1	1	0	0	1.0000	NULL	ENUM('N','Y') NOT NULL
test.t1.d	2002-03-03	2002-03-05	10	10	0	0	10.0000	NULL	ENUM('2002-03-03','2002-03-04','2002-03-05') NOT NULL
create table t2 select * from t1 procedure analyse();
select * from t2;
Field_name	Min_value	Max_value	Min_length	Max_length	Empties_or_zeros	Nulls	Avg_value_or_avg_length	Std	Optimal_fieldtype
test.t1.i	1	7	1	1	0	0	4.0000	2.2361	ENUM('1','3','5','7') NOT NULL
test.t1.j	2	8	1	1	0	0	5.0000	2.2361	ENUM('2','4','6','8') NOT NULL
test.t1.empty_string			0	0	4	0	0.0000	NULL	CHAR(0) NOT NULL
test.t1.bool	N	Y	1	1	0	0	1.0000	NULL	ENUM('N','Y') NOT NULL
test.t1.d	2002-03-03	2002-03-05	10	10	0	0	10.0000	NULL	ENUM('2002-03-03','2002-03-04','2002-03-05') NOT NULL
drop table t1,t2;
EXPLAIN SELECT 1 FROM (SELECT 1) a PROCEDURE ANALYSE();
id	select_type	table	type	possible_keys	key	key_len	ref	rows	Extra
1	PRIMARY	<derived2>	system	NULL	NULL	NULL	NULL	1	
2	DERIVED	NULL	NULL	NULL	NULL	NULL	NULL	NULL	No tables used
create table t1 (a int not null);
create table t2 select * from t1 where 0=1 procedure analyse();
show create table t2;
Table	Create Table
t2	CREATE TABLE `t2` (
  `Field_name` char(255) NOT NULL default '',
  `Min_value` char(255) default NULL,
  `Max_value` char(255) default NULL,
  `Min_length` bigint(11) NOT NULL default '0',
  `Max_length` bigint(11) NOT NULL default '0',
  `Empties_or_zeros` bigint(11) NOT NULL default '0',
  `Nulls` bigint(11) NOT NULL default '0',
  `Avg_value_or_avg_length` char(255) NOT NULL default '',
  `Std` char(255) default NULL,
  `Optimal_fieldtype` char(64) NOT NULL default ''
) ENGINE=MyISAM DEFAULT CHARSET=latin1
select * from t1 where 0=1 procedure analyse();
Field_name	Min_value	Max_value	Min_length	Max_length	Empties_or_zeros	Nulls	Avg_value_or_avg_length	Std	Optimal_fieldtype
insert into t1 values(1);
drop table t2;
create table t2 select * from t1 where 0=1 procedure analyse();
show create table t2;
Table	Create Table
t2	CREATE TABLE `t2` (
  `Field_name` char(255) NOT NULL default '',
  `Min_value` char(255) default NULL,
  `Max_value` char(255) default NULL,
  `Min_length` bigint(11) NOT NULL default '0',
  `Max_length` bigint(11) NOT NULL default '0',
  `Empties_or_zeros` bigint(11) NOT NULL default '0',
  `Nulls` bigint(11) NOT NULL default '0',
  `Avg_value_or_avg_length` char(255) NOT NULL default '',
  `Std` char(255) default NULL,
  `Optimal_fieldtype` char(64) NOT NULL default ''
) ENGINE=MyISAM DEFAULT CHARSET=latin1
select * from t2;
Field_name	Min_value	Max_value	Min_length	Max_length	Empties_or_zeros	Nulls	Avg_value_or_avg_length	Std	Optimal_fieldtype
insert into t2 select * from t1 procedure analyse();
select * from t2;
Field_name	Min_value	Max_value	Min_length	Max_length	Empties_or_zeros	Nulls	Avg_value_or_avg_length	Std	Optimal_fieldtype
test.t1.a	1	1	1	1	0	0	1.0000	0.0000	ENUM('1') NOT NULL
insert into t1 values(2);
drop table t2;
create table t2 select * from t1 where 0=1 procedure analyse();
show create table t2;
Table	Create Table
t2	CREATE TABLE `t2` (
  `Field_name` char(255) NOT NULL default '',
  `Min_value` char(255) default NULL,
  `Max_value` char(255) default NULL,
  `Min_length` bigint(11) NOT NULL default '0',
  `Max_length` bigint(11) NOT NULL default '0',
  `Empties_or_zeros` bigint(11) NOT NULL default '0',
  `Nulls` bigint(11) NOT NULL default '0',
  `Avg_value_or_avg_length` char(255) NOT NULL default '',
  `Std` char(255) default NULL,
  `Optimal_fieldtype` char(64) NOT NULL default ''
) ENGINE=MyISAM DEFAULT CHARSET=latin1
select * from t2;
Field_name	Min_value	Max_value	Min_length	Max_length	Empties_or_zeros	Nulls	Avg_value_or_avg_length	Std	Optimal_fieldtype
insert into t2 select * from t1 procedure analyse();
select * from t2;
Field_name	Min_value	Max_value	Min_length	Max_length	Empties_or_zeros	Nulls	Avg_value_or_avg_length	Std	Optimal_fieldtype
test.t1.a	1	2	1	1	0	0	1.5000	0.5000	ENUM('1','2') NOT NULL
drop table t1,t2;