Merge rkalimullin@bk-internal.mysql.com:/home/bk/mysql-5.0

into mysql.com:/home/ram/work/5.0


BitKeeper/etc/logging_ok:
  auto-union
This commit is contained in:
unknown 2005-05-06 08:34:50 +05:00
commit 97b7fbd495
49 changed files with 1439 additions and 1241 deletions

View file

@ -82,6 +82,7 @@ hf@bisonxp.(none)
hf@deer.(none)
hf@deer.mysql.r18.ru
hf@genie.(none)
holyfoot@mysql.com
igor@hundin.mysql.fi
igor@linux.local
igor@rurik.mysql.com

View file

@ -39,7 +39,7 @@ int decimal2longlong(decimal_t *from, longlong *to);
int longlong2decimal(longlong from, decimal_t *to);
int decimal2double(decimal_t *from, double *to);
int double2decimal(double from, decimal_t *to);
void decimal_optimize_fraction(decimal_t *from);
int decimal_actual_fraction(decimal_t *from);
int decimal2bin(decimal_t *from, char *to, int precision, int scale);
int bin2decimal(char *from, decimal_t *to, int precision, int scale);

View file

@ -105,9 +105,9 @@ t1 CREATE TABLE `t1` (
`c4` varbinary(1) NOT NULL default '',
`c5` varbinary(4) NOT NULL default '',
`c6` varbinary(4) NOT NULL default '',
`c7` decimal(5,1) NOT NULL default '0.0',
`c8` decimal(5,1) NOT NULL default '0.0',
`c9` decimal(5,1) default NULL,
`c7` decimal(2,1) NOT NULL default '0.0',
`c8` decimal(2,1) NOT NULL default '0.0',
`c9` decimal(2,1) default NULL,
`c10` double NOT NULL default '0',
`c11` double NOT NULL default '0',
`c12` varbinary(5) NOT NULL default ''
@ -152,9 +152,9 @@ SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
`COALESCE(1)` int(1) NOT NULL default '0',
`COALESCE(1.0)` decimal(5,1) NOT NULL default '0.0',
`COALESCE(1.0)` decimal(2,1) NOT NULL default '0.0',
`COALESCE('a')` varchar(1) NOT NULL default '',
`COALESCE(1,1.0)` decimal(5,1) NOT NULL default '0.0',
`COALESCE(1,1.0)` decimal(2,1) NOT NULL default '0.0',
`COALESCE(1,'1')` varbinary(1) NOT NULL default '',
`COALESCE(1.1,'1')` varbinary(4) NOT NULL default '',
`COALESCE('a' COLLATE latin1_bin,'b')` varchar(1) character set latin1 collate latin1_bin NOT NULL default ''

View file

@ -115,9 +115,9 @@ Field Type Null Key Default Extra
a datetime NO 0000-00-00 00:00:00
b time NO 00:00:00
c date NO 0000-00-00
d int(2) NO 0
e decimal(6,1) NO 0.0
f bigint(18) NO 0
d int(3) NO 0
e decimal(3,1) NO 0.0
f bigint(19) NO 0
drop table t2;
create table t2 select CAST("2001-12-29" AS DATE) as d, CAST("20:45:11" AS TIME) as t, CAST("2001-12-29 20:45:11" AS DATETIME) as dt;
describe t2;
@ -453,7 +453,7 @@ t2 CREATE TABLE `t2` (
`ifnull(e,e)` bigint(20) default NULL,
`ifnull(f,f)` float(3,2) default NULL,
`ifnull(g,g)` double(4,3) default NULL,
`ifnull(h,h)` decimal(6,4) default NULL,
`ifnull(h,h)` decimal(5,4) default NULL,
`ifnull(i,i)` year(4) default NULL,
`ifnull(j,j)` date default NULL,
`ifnull(k,k)` datetime NOT NULL default '0000-00-00 00:00:00',

View file

@ -462,5 +462,5 @@ rout int(11) default '0'
INSERT INTO t1 VALUES ('1',1,0);
SELECT DISTINCT html,SUM(rout)/(SUM(rin)+1) as 'prod' FROM t1 GROUP BY rin;
html prod
1 0.00000
1 0.0000
drop table t1;

View file

@ -1,4 +1,9 @@
drop table if exists t1,t2;
set @sav_dpi= @@div_precision_increment;
set div_precision_increment= 5;
show variables like 'div_precision_increment';
Variable_name Value
div_precision_increment 5
create table t1 (grp int, a bigint unsigned, c char(10) not null);
insert into t1 values (1,1,"a");
insert into t1 values (2,2,"b");
@ -44,13 +49,13 @@ count(distinct a) count(distinct grp)
6 3
select sum(all a),count(all a),avg(all a),std(all a),variance(all a),bit_or(all a),bit_and(all a),min(all a),max(all a),min(all c),max(all c) from t1;
sum(all a) count(all a) avg(all a) std(all a) variance(all a) bit_or(all a) bit_and(all a) min(all a) max(all a) min(all c) max(all c)
21 6 3.5000 1.7078 2.9167 7 0 1 6 E
21 6 3.50000 1.70783 2.91667 7 0 1 6 E
select grp, sum(a),count(a),avg(a),std(a),variance(a),bit_or(a),bit_and(a),min(a),max(a),min(c),max(c) from t1 group by grp;
grp sum(a) count(a) avg(a) std(a) variance(a) bit_or(a) bit_and(a) min(a) max(a) min(c) max(c)
NULL NULL 0 NULL NULL NULL 0 18446744073709551615 NULL NULL
1 1 1 1.0000 0.0000 0.0000 1 1 1 1 a a
2 5 2 2.5000 0.5000 0.2500 3 2 2 3 b c
3 15 3 5.0000 0.8165 0.6667 7 4 4 6 C E
1 1 1 1.00000 0.00000 0.00000 1 1 1 1 a a
2 5 2 2.50000 0.50000 0.25000 3 2 2 3 b c
3 15 3 5.00000 0.81650 0.66667 7 4 4 6 C E
select grp, sum(a)+count(a)+avg(a)+std(a)+variance(a)+bit_or(a)+bit_and(a)+min(a)+max(a)+min(c)+max(c) as sum from t1 group by grp;
grp sum
NULL NULL
@ -74,12 +79,12 @@ CREATE TABLE t2 (id int(11),name char(20));
INSERT INTO t2 VALUES (1,'Set One'),(2,'Set Two');
select id, avg(value1), std(value1), variance(value1) from t1 group by id;
id avg(value1) std(value1) variance(value1)
1 1.000000 0.816497 0.666667
2 11.000000 0.816497 0.666667
1 1.0000000 0.816497 0.666667
2 11.0000000 0.816497 0.666667
select name, avg(value1), std(value1), variance(value1) from t1, t2 where t1.id = t2.id group by t1.id;
name avg(value1) std(value1) variance(value1)
Set One 1.000000 0.816497 0.666667
Set Two 11.000000 0.816497 0.666667
Set One 1.0000000 0.816497 0.666667
Set Two 11.0000000 0.816497 0.666667
drop table t1,t2;
create table t1 (id int not null);
create table t2 (id int not null,rating int null);
@ -87,19 +92,19 @@ insert into t1 values(1),(2),(3);
insert into t2 values(1, 3),(2, NULL),(2, NULL),(3, 2),(3, NULL);
select t1.id, avg(rating) from t1 left join t2 on ( t1.id = t2.id ) group by t1.id;
id avg(rating)
1 3.0000
1 3.00000
2 NULL
3 2.0000
3 2.00000
select sql_small_result t2.id, avg(rating) from t2 group by t2.id;
id avg(rating)
1 3.0000
1 3.00000
2 NULL
3 2.0000
3 2.00000
select sql_big_result t2.id, avg(rating) from t2 group by t2.id;
id avg(rating)
1 3.0000
1 3.00000
2 NULL
3 2.0000
3 2.00000
select sql_small_result t2.id, avg(rating+0.0e0) from t2 group by t2.id;
id avg(rating+0.0e0)
1 3
@ -265,22 +270,22 @@ insert into t1 values (2,1);
select a,count(b), sum(b), avg(b), std(b), min(b), max(b), bit_and(b), bit_or(b) from t1 group by a;
a count(b) sum(b) avg(b) std(b) min(b) max(b) bit_and(b) bit_or(b)
1 0 NULL NULL NULL NULL NULL 18446744073709551615 0
2 1 1 1.0000 0.0000 1 1 1 1
2 1 1 1.00000 0.00000 1 1 1 1
select SQL_BIG_RESULT a,count(b), sum(b), avg(b), std(b), min(b), max(b), bit_and(b), bit_or(b) from t1 group by a;
a count(b) sum(b) avg(b) std(b) min(b) max(b) bit_and(b) bit_or(b)
1 0 NULL NULL NULL NULL NULL 18446744073709551615 0
2 1 1 1.0000 0.0000 1 1 1 1
2 1 1 1.00000 0.00000 1 1 1 1
insert into t1 values (3,1);
select a,count(b), sum(b), avg(b), std(b), min(b), max(b), bit_and(b), bit_or(b) from t1 group by a;
a count(b) sum(b) avg(b) std(b) min(b) max(b) bit_and(b) bit_or(b)
1 0 NULL NULL NULL NULL NULL 18446744073709551615 0
2 1 1 1.0000 0.0000 1 1 1 1
3 1 1 1.0000 0.0000 1 1 1 1
2 1 1 1.00000 0.00000 1 1 1 1
3 1 1 1.00000 0.00000 1 1 1 1
select SQL_BIG_RESULT a,count(b), sum(b), avg(b), std(b), min(b), max(b), bit_and(b), bit_or(b), bit_xor(b) from t1 group by a;
a count(b) sum(b) avg(b) std(b) min(b) max(b) bit_and(b) bit_or(b) bit_xor(b)
1 0 NULL NULL NULL NULL NULL 18446744073709551615 0 0
2 1 1 1.0000 0.0000 1 1 1 1 1
3 1 1 1.0000 0.0000 1 1 1 1 1
2 1 1 1.00000 0.00000 1 1 1 1 1
3 1 1 1.00000 0.00000 1 1 1 1 1
explain extended select SQL_BIG_RESULT a,count(b), sum(b), avg(b), std(b), min(b), max(b), bit_and(b), bit_or(b), bit_xor(b) from t1 group by a;
id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE t1 ALL NULL NULL NULL NULL 5 Using filesort
@ -837,10 +842,10 @@ INSERT INTO t1 VALUES (-5.00000000001),(-5.00000000002),(-5.00000000003),(-5.000
insert into t1 select * from t1;
select col1,count(col1),sum(col1),avg(col1) from t1 group by col1;
col1 count(col1) sum(col1) avg(col1)
-5.000000000030 2 -10.000000000060 -5.0000000000300000
-5.000000000020 4 -20.000000000080 -5.0000000000200000
-5.000000000010 4 -20.000000000040 -5.0000000000100000
-5.000000000000 2 -10.000000000000 -5.0000000000000000
-5.000000000030 2 -10.000000000060 -5.00000000003000000
-5.000000000020 4 -20.000000000080 -5.00000000002000000
-5.000000000010 4 -20.000000000040 -5.00000000001000000
-5.000000000000 2 -10.000000000000 -5.00000000000000000
DROP TABLE t1;
create table t1 (col1 decimal(16,12));
insert into t1 values (-5.00000000001);
@ -947,3 +952,4 @@ SUM(a)
6
6
DROP TABLE t1;
set div_precision_increment= @sav_dpi;

View file

@ -1,6 +1,6 @@
select 1+1,1-1,1+1*2,8/5,8%5,mod(8,5),mod(8,5)|0,-(1+1)*-2;
1+1 1-1 1+1*2 8/5 8%5 mod(8,5) mod(8,5)|0 -(1+1)*-2
2 0 3 1.60000 3 3 3 4
2 0 3 1.6000 3 3 3 4
explain extended select 1+1,1-1,1+1*2,8/5,8%5,mod(8,5),mod(8,5)|0,-(1+1)*-2;
id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE NULL NULL NULL NULL NULL NULL NULL No tables used

View file

@ -440,12 +440,12 @@ create table t2 (user_id integer not null, date date);
insert into t2 values (1, '2002-06-09'),(2, '2002-06-09'),(1, '2002-06-09'),(3, '2002-06-09'),(4, '2002-06-09'),(4, '2002-06-09');
select u.gender as gender, count(distinct u.id) as dist_count, (count(distinct u.id)/5*100) as percentage from t1 u, t2 l where l.user_id = u.id group by u.gender;
gender dist_count percentage
F 3 60.00000
M 1 20.00000
F 3 60.0000
M 1 20.0000
select u.gender as gender, count(distinct u.id) as dist_count, (count(distinct u.id)/5*100) as percentage from t1 u, t2 l where l.user_id = u.id group by u.gender order by percentage;
gender dist_count percentage
M 1 20.00000
F 3 60.00000
M 1 20.0000
F 3 60.0000
drop table t1,t2;
CREATE TABLE t1 (ID1 int, ID2 int, ID int NOT NULL AUTO_INCREMENT,PRIMARY KEY(ID
));

View file

@ -2,7 +2,7 @@ drop table if exists t1,t2;
select 1, 1.0, -1, "hello", NULL;
Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
def 1 8 1 1 N 32897 0 63
def 1.0 246 4 3 N 161 1 63
def 1.0 246 4 3 N 129 1 63
def -1 8 2 2 N 32897 0 63
def hello 253 5 5 N 1 31 8
def NULL 6 0 0 Y 32896 0 63
@ -18,7 +18,7 @@ def test t1 t1 d d 3 11 0 Y 32768 0 63
def test t1 t1 e e 8 20 0 Y 32768 0 63
def test t1 t1 f f 4 3 0 Y 32768 2 63
def test t1 t1 g g 5 4 0 Y 32768 3 63
def test t1 t1 h h 246 5 0 Y 0 4 63
def test t1 t1 h h 246 7 0 Y 0 4 63
def test t1 t1 i i 13 4 0 Y 32864 0 63
def test t1 t1 j j 10 10 0 Y 128 0 63
def test t1 t1 k k 7 19 0 N 1249 0 63

View file

@ -1,4 +1,9 @@
drop table if exists t1,t2;
set @sav_dpi= @@div_precision_increment;
set div_precision_increment= 5;
show variables like 'div_precision_increment';
Variable_name Value
div_precision_increment 5
create table t1 (product varchar(32), country_id int not null, year int, profit int);
insert into t1 values ( 'Computer', 2,2000, 1200),
( 'TV', 1, 1999, 150),
@ -40,11 +45,11 @@ TV 600
NULL 7785
select product, sum(profit),avg(profit) from t1 group by product with rollup;
product sum(profit) avg(profit)
Calculator 275 68.7500
Computer 6900 1380.0000
Phone 10 10.0000
TV 600 120.0000
NULL 7785 519.0000
Calculator 275 68.75000
Computer 6900 1380.00000
Phone 10 10.00000
TV 600 120.00000
NULL 7785 519.00000
select product, country_id , year, sum(profit) from t1 group by product, country_id, year;
product country_id year sum(profit)
Calculator 1 1999 50
@ -244,11 +249,11 @@ select product, country_id , year, sum(profit) from t1 group by product, country
product country_id year sum(profit)
select concat(':',product,':'), sum(profit),avg(profit) from t1 group by product with rollup;
concat(':',product,':') sum(profit) avg(profit)
:Calculator: 275 68.7500
:Computer: 6900 1380.0000
:Phone: 10 10.0000
:TV: 600 120.0000
:TV: 7785 519.0000
:Calculator: 275 68.75000
:Computer: 6900 1380.00000
:Phone: 10 10.00000
:TV: 600 120.00000
:TV: 7785 519.00000
select product, country_id , year, sum(profit) from t1 group by product, country_id, year with cube;
ERROR 42000: This version of MySQL doesn't yet support 'CUBE'
explain select product, country_id , year, sum(profit) from t1 group by product, country_id, year with cube;
@ -450,3 +455,4 @@ a m
2 2
NULL 3
DROP TABLE t1;
set div_precision_increment= @sav_dpi;

View file

@ -59,8 +59,8 @@ def test t9 t9 c7 c7 4 12 1 Y 32768 31 63
def test t9 t9 c8 c8 5 22 1 Y 32768 31 63
def test t9 t9 c9 c9 5 22 1 Y 32768 31 63
def test t9 t9 c10 c10 5 22 1 Y 32768 31 63
def test t9 t9 c11 c11 246 7 6 Y 0 4 63
def test t9 t9 c12 c12 246 8 6 Y 0 4 63
def test t9 t9 c11 c11 246 9 6 Y 0 4 63
def test t9 t9 c12 c12 246 10 6 Y 0 4 63
def test t9 t9 c13 c13 10 10 10 Y 128 0 63
def test t9 t9 c14 c14 12 19 19 Y 128 0 63
def test t9 t9 c15 c15 7 19 19 N 1249 0 63
@ -1776,8 +1776,8 @@ Table Create Table
t5 CREATE TABLE `t5` (
`const01` bigint(1) NOT NULL default '0',
`param01` bigint(20) default NULL,
`const02` decimal(3,1) NOT NULL default '0.0',
`param02` decimal(64,30) default NULL,
`const02` decimal(2,1) NOT NULL default '0.0',
`param02` decimal(65,30) default NULL,
`const03` double NOT NULL default '0',
`param03` double default NULL,
`const04` varchar(3) NOT NULL default '',
@ -1798,7 +1798,7 @@ t5 CREATE TABLE `t5` (
`param11` bigint(20) default NULL,
`const12` binary(0) default NULL,
`param12` bigint(20) default NULL,
`param13` decimal(64,30) default NULL,
`param13` decimal(65,30) default NULL,
`param14` longtext,
`param15` longblob
) ENGINE=MyISAM DEFAULT CHARSET=latin1
@ -1806,10 +1806,10 @@ select * from t5 ;
Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
def test t5 t5 const01 const01 8 1 1 N 32769 0 63
def test t5 t5 param01 param01 8 20 1 Y 32768 0 63
def test t5 t5 const02 const02 246 3 3 N 1 1 63
def test t5 t5 param02 param02 246 64 32 Y 0 30 63
def test t5 t5 const02 const02 246 4 3 N 1 1 63
def test t5 t5 param02 param02 246 67 32 Y 0 30 63
def test t5 t5 const03 const03 5 17 1 N 32769 31 63
def test t5 t5 param03 param03 5 20 1 Y 32768 31 63
def test t5 t5 param03 param03 5 23 1 Y 32768 31 63
def test t5 t5 const04 const04 253 3 3 N 1 0 8
def test t5 t5 param04 param04 252 16777215 3 Y 16 0 8
def test t5 t5 const05 const05 253 3 3 N 129 0 63
@ -1828,7 +1828,7 @@ def test t5 t5 const11 const11 3 4 4 Y 32768 0 63
def test t5 t5 param11 param11 8 20 4 Y 32768 0 63
def test t5 t5 const12 const12 254 0 0 Y 128 0 63
def test t5 t5 param12 param12 8 20 0 Y 32768 0 63
def test t5 t5 param13 param13 246 64 0 Y 0 30 63
def test t5 t5 param13 param13 246 67 0 Y 0 30 63
def test t5 t5 param14 param14 252 16777215 0 Y 16 0 8
def test t5 t5 param15 param15 252 16777215 0 Y 144 0 63
const01 8
@ -1916,25 +1916,25 @@ from t9 where c1= 1 ;
1 1 1 1 1 1 1 1 1 1 1.0000 1.0000 2004-02-29 2004-02-29 11:11:11 2004-02-29 11:11:11 11:11:11 2004 1 1 a 123456789a 123456789a123456789b123456789c tinyblob tinytext blob text mediumblob mediumtext longblob longtext one monday
execute full_info ;
Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
def @arg01 253 20 1 Y 128 31 63
def @arg02 253 20 1 Y 128 31 63
def @arg03 253 20 1 Y 128 31 63
def @arg04 253 20 1 Y 128 31 63
def @arg05 253 20 1 Y 128 31 63
def @arg06 253 20 1 Y 128 31 63
def @arg07 253 20 1 Y 128 31 63
def @arg08 253 20 1 Y 128 31 63
def @arg09 253 20 1 Y 128 31 63
def @arg10 253 20 1 Y 128 31 63
def @arg11 253 64 6 Y 128 30 63
def @arg12 253 64 6 Y 128 30 63
def @arg01 253 20 1 Y 128 0 63
def @arg02 253 20 1 Y 128 0 63
def @arg03 253 20 1 Y 128 0 63
def @arg04 253 20 1 Y 128 0 63
def @arg05 253 20 1 Y 128 0 63
def @arg06 253 20 1 Y 128 0 63
def @arg07 253 23 1 Y 128 31 63
def @arg08 253 23 1 Y 128 31 63
def @arg09 253 23 1 Y 128 31 63
def @arg10 253 23 1 Y 128 31 63
def @arg11 253 67 6 Y 128 30 63
def @arg12 253 67 6 Y 128 30 63
def @arg13 253 8192 10 Y 128 31 63
def @arg14 253 8192 19 Y 128 31 63
def @arg15 253 8192 19 Y 128 31 63
def @arg16 253 8192 8 Y 128 31 63
def @arg17 253 20 4 Y 128 31 63
def @arg18 253 20 1 Y 128 31 63
def @arg19 253 20 1 Y 128 31 63
def @arg17 253 20 4 Y 128 0 63
def @arg18 253 20 1 Y 128 0 63
def @arg19 253 20 1 Y 128 0 63
def @arg20 253 8192 1 Y 0 31 8
def @arg21 253 8192 10 Y 0 31 8
def @arg22 253 8192 30 Y 0 31 8
@ -1963,25 +1963,25 @@ from t9 where c1= 0 ;
0 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 1991-01-01 01:01:01 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
execute full_info ;
Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
def @arg01 253 20 1 Y 128 31 63
def @arg02 253 20 0 Y 128 31 63
def @arg03 253 20 0 Y 128 31 63
def @arg04 253 20 0 Y 128 31 63
def @arg05 253 20 0 Y 128 31 63
def @arg06 253 20 0 Y 128 31 63
def @arg07 253 20 0 Y 128 31 63
def @arg08 253 20 0 Y 128 31 63
def @arg09 253 20 0 Y 128 31 63
def @arg10 253 20 0 Y 128 31 63
def @arg11 253 64 0 Y 128 30 63
def @arg12 253 64 0 Y 128 30 63
def @arg01 253 20 1 Y 128 0 63
def @arg02 253 20 0 Y 128 0 63
def @arg03 253 20 0 Y 128 0 63
def @arg04 253 20 0 Y 128 0 63
def @arg05 253 20 0 Y 128 0 63
def @arg06 253 20 0 Y 128 0 63
def @arg07 253 23 0 Y 128 31 63
def @arg08 253 23 0 Y 128 31 63
def @arg09 253 23 0 Y 128 31 63
def @arg10 253 23 0 Y 128 31 63
def @arg11 253 67 0 Y 128 30 63
def @arg12 253 67 0 Y 128 30 63
def @arg13 253 8192 0 Y 128 31 63
def @arg14 253 8192 0 Y 128 31 63
def @arg15 253 8192 19 Y 128 31 63
def @arg16 253 8192 0 Y 128 31 63
def @arg17 253 20 0 Y 128 31 63
def @arg18 253 20 0 Y 128 31 63
def @arg19 253 20 0 Y 128 31 63
def @arg17 253 20 0 Y 128 0 63
def @arg18 253 20 0 Y 128 0 63
def @arg19 253 20 0 Y 128 0 63
def @arg20 253 8192 0 Y 0 31 8
def @arg21 253 8192 0 Y 0 31 8
def @arg22 253 8192 0 Y 0 31 8
@ -2013,25 +2013,25 @@ execute stmt1 using @my_key ;
1 1 1 1 1 1 1 1 1 1 1.0000 1.0000 2004-02-29 2004-02-29 11:11:11 2004-02-29 11:11:11 11:11:11 2004 1 1 a 123456789a 123456789a123456789b123456789c tinyblob tinytext blob text mediumblob mediumtext longblob longtext one monday
execute full_info ;
Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
def @arg01 253 20 1 Y 128 31 63
def @arg02 253 20 1 Y 128 31 63
def @arg03 253 20 1 Y 128 31 63
def @arg04 253 20 1 Y 128 31 63
def @arg05 253 20 1 Y 128 31 63
def @arg06 253 20 1 Y 128 31 63
def @arg07 253 20 1 Y 128 31 63
def @arg08 253 20 1 Y 128 31 63
def @arg09 253 20 1 Y 128 31 63
def @arg10 253 20 1 Y 128 31 63
def @arg11 253 64 6 Y 128 30 63
def @arg12 253 64 6 Y 128 30 63
def @arg01 253 20 1 Y 128 0 63
def @arg02 253 20 1 Y 128 0 63
def @arg03 253 20 1 Y 128 0 63
def @arg04 253 20 1 Y 128 0 63
def @arg05 253 20 1 Y 128 0 63
def @arg06 253 20 1 Y 128 0 63
def @arg07 253 23 1 Y 128 31 63
def @arg08 253 23 1 Y 128 31 63
def @arg09 253 23 1 Y 128 31 63
def @arg10 253 23 1 Y 128 31 63
def @arg11 253 67 6 Y 128 30 63
def @arg12 253 67 6 Y 128 30 63
def @arg13 253 8192 10 Y 128 31 63
def @arg14 253 8192 19 Y 128 31 63
def @arg15 253 8192 19 Y 128 31 63
def @arg16 253 8192 8 Y 128 31 63
def @arg17 253 20 4 Y 128 31 63
def @arg18 253 20 1 Y 128 31 63
def @arg19 253 20 1 Y 128 31 63
def @arg17 253 20 4 Y 128 0 63
def @arg18 253 20 1 Y 128 0 63
def @arg19 253 20 1 Y 128 0 63
def @arg20 253 8192 1 Y 0 31 8
def @arg21 253 8192 10 Y 0 31 8
def @arg22 253 8192 30 Y 0 31 8
@ -2053,25 +2053,25 @@ execute stmt1 using @my_key ;
0 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 1991-01-01 01:01:01 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
execute full_info ;
Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
def @arg01 253 20 1 Y 128 31 63
def @arg02 253 20 0 Y 128 31 63
def @arg03 253 20 0 Y 128 31 63
def @arg04 253 20 0 Y 128 31 63
def @arg05 253 20 0 Y 128 31 63
def @arg06 253 20 0 Y 128 31 63
def @arg07 253 20 0 Y 128 31 63
def @arg08 253 20 0 Y 128 31 63
def @arg09 253 20 0 Y 128 31 63
def @arg10 253 20 0 Y 128 31 63
def @arg11 253 64 0 Y 128 30 63
def @arg12 253 64 0 Y 128 30 63
def @arg01 253 20 1 Y 128 0 63
def @arg02 253 20 0 Y 128 0 63
def @arg03 253 20 0 Y 128 0 63
def @arg04 253 20 0 Y 128 0 63
def @arg05 253 20 0 Y 128 0 63
def @arg06 253 20 0 Y 128 0 63
def @arg07 253 23 0 Y 128 31 63
def @arg08 253 23 0 Y 128 31 63
def @arg09 253 23 0 Y 128 31 63
def @arg10 253 23 0 Y 128 31 63
def @arg11 253 67 0 Y 128 30 63
def @arg12 253 67 0 Y 128 30 63
def @arg13 253 8192 0 Y 128 31 63
def @arg14 253 8192 0 Y 128 31 63
def @arg15 253 8192 19 Y 128 31 63
def @arg16 253 8192 0 Y 128 31 63
def @arg17 253 20 0 Y 128 31 63
def @arg18 253 20 0 Y 128 31 63
def @arg19 253 20 0 Y 128 31 63
def @arg17 253 20 0 Y 128 0 63
def @arg18 253 20 0 Y 128 0 63
def @arg19 253 20 0 Y 128 0 63
def @arg20 253 8192 0 Y 0 31 8
def @arg21 253 8192 0 Y 0 31 8
def @arg22 253 8192 0 Y 0 31 8
@ -2101,25 +2101,25 @@ into @arg01, @arg02, @arg03, @arg04, @arg05, @arg06, @arg07, @arg08,
from t9 where c1= 1 ;
execute full_info ;
Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
def @arg01 253 20 1 Y 128 31 63
def @arg02 253 20 1 Y 128 31 63
def @arg03 253 20 1 Y 128 31 63
def @arg04 253 20 1 Y 128 31 63
def @arg05 253 20 1 Y 128 31 63
def @arg06 253 20 1 Y 128 31 63
def @arg07 253 20 1 Y 128 31 63
def @arg08 253 20 1 Y 128 31 63
def @arg09 253 20 1 Y 128 31 63
def @arg10 253 20 1 Y 128 31 63
def @arg11 253 64 6 Y 128 30 63
def @arg12 253 64 6 Y 128 30 63
def @arg01 253 20 1 Y 128 0 63
def @arg02 253 20 1 Y 128 0 63
def @arg03 253 20 1 Y 128 0 63
def @arg04 253 20 1 Y 128 0 63
def @arg05 253 20 1 Y 128 0 63
def @arg06 253 20 1 Y 128 0 63
def @arg07 253 23 1 Y 128 31 63
def @arg08 253 23 1 Y 128 31 63
def @arg09 253 23 1 Y 128 31 63
def @arg10 253 23 1 Y 128 31 63
def @arg11 253 67 6 Y 128 30 63
def @arg12 253 67 6 Y 128 30 63
def @arg13 253 8192 10 Y 128 31 63
def @arg14 253 8192 19 Y 128 31 63
def @arg15 253 8192 19 Y 128 31 63
def @arg16 253 8192 8 Y 128 31 63
def @arg17 253 20 4 Y 128 31 63
def @arg18 253 20 1 Y 128 31 63
def @arg19 253 20 1 Y 128 31 63
def @arg17 253 20 4 Y 128 0 63
def @arg18 253 20 1 Y 128 0 63
def @arg19 253 20 1 Y 128 0 63
def @arg20 253 8192 1 Y 0 31 8
def @arg21 253 8192 10 Y 0 31 8
def @arg22 253 8192 30 Y 0 31 8
@ -2145,25 +2145,25 @@ into @arg01, @arg02, @arg03, @arg04, @arg05, @arg06, @arg07, @arg08,
from t9 where c1= 0 ;
execute full_info ;
Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
def @arg01 253 20 1 Y 128 31 63
def @arg02 253 20 0 Y 128 31 63
def @arg03 253 20 0 Y 128 31 63
def @arg04 253 20 0 Y 128 31 63
def @arg05 253 20 0 Y 128 31 63
def @arg06 253 20 0 Y 128 31 63
def @arg07 253 20 0 Y 128 31 63
def @arg08 253 20 0 Y 128 31 63
def @arg09 253 20 0 Y 128 31 63
def @arg10 253 20 0 Y 128 31 63
def @arg11 253 64 0 Y 128 30 63
def @arg12 253 64 0 Y 128 30 63
def @arg01 253 20 1 Y 128 0 63
def @arg02 253 20 0 Y 128 0 63
def @arg03 253 20 0 Y 128 0 63
def @arg04 253 20 0 Y 128 0 63
def @arg05 253 20 0 Y 128 0 63
def @arg06 253 20 0 Y 128 0 63
def @arg07 253 23 0 Y 128 31 63
def @arg08 253 23 0 Y 128 31 63
def @arg09 253 23 0 Y 128 31 63
def @arg10 253 23 0 Y 128 31 63
def @arg11 253 67 0 Y 128 30 63
def @arg12 253 67 0 Y 128 30 63
def @arg13 253 8192 0 Y 128 31 63
def @arg14 253 8192 0 Y 128 31 63
def @arg15 253 8192 19 Y 128 31 63
def @arg16 253 8192 0 Y 128 31 63
def @arg17 253 20 0 Y 128 31 63
def @arg18 253 20 0 Y 128 31 63
def @arg19 253 20 0 Y 128 31 63
def @arg17 253 20 0 Y 128 0 63
def @arg18 253 20 0 Y 128 0 63
def @arg19 253 20 0 Y 128 0 63
def @arg20 253 8192 0 Y 0 31 8
def @arg21 253 8192 0 Y 0 31 8
def @arg22 253 8192 0 Y 0 31 8
@ -2191,25 +2191,25 @@ set @my_key= 1 ;
execute stmt1 using @my_key ;
execute full_info ;
Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
def @arg01 253 20 1 Y 128 31 63
def @arg02 253 20 1 Y 128 31 63
def @arg03 253 20 1 Y 128 31 63
def @arg04 253 20 1 Y 128 31 63
def @arg05 253 20 1 Y 128 31 63
def @arg06 253 20 1 Y 128 31 63
def @arg07 253 20 1 Y 128 31 63
def @arg08 253 20 1 Y 128 31 63
def @arg09 253 20 1 Y 128 31 63
def @arg10 253 20 1 Y 128 31 63
def @arg11 253 64 6 Y 128 30 63
def @arg12 253 64 6 Y 128 30 63
def @arg01 253 20 1 Y 128 0 63
def @arg02 253 20 1 Y 128 0 63
def @arg03 253 20 1 Y 128 0 63
def @arg04 253 20 1 Y 128 0 63
def @arg05 253 20 1 Y 128 0 63
def @arg06 253 20 1 Y 128 0 63
def @arg07 253 23 1 Y 128 31 63
def @arg08 253 23 1 Y 128 31 63
def @arg09 253 23 1 Y 128 31 63
def @arg10 253 23 1 Y 128 31 63
def @arg11 253 67 6 Y 128 30 63
def @arg12 253 67 6 Y 128 30 63
def @arg13 253 8192 10 Y 128 31 63
def @arg14 253 8192 19 Y 128 31 63
def @arg15 253 8192 19 Y 128 31 63
def @arg16 253 8192 8 Y 128 31 63
def @arg17 253 20 4 Y 128 31 63
def @arg18 253 20 1 Y 128 31 63
def @arg19 253 20 1 Y 128 31 63
def @arg17 253 20 4 Y 128 0 63
def @arg18 253 20 1 Y 128 0 63
def @arg19 253 20 1 Y 128 0 63
def @arg20 253 8192 1 Y 0 31 8
def @arg21 253 8192 10 Y 0 31 8
def @arg22 253 8192 30 Y 0 31 8
@ -2229,25 +2229,25 @@ set @my_key= 0 ;
execute stmt1 using @my_key ;
execute full_info ;
Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
def @arg01 253 20 1 Y 128 31 63
def @arg02 253 20 0 Y 128 31 63
def @arg03 253 20 0 Y 128 31 63
def @arg04 253 20 0 Y 128 31 63
def @arg05 253 20 0 Y 128 31 63
def @arg06 253 20 0 Y 128 31 63
def @arg07 253 20 0 Y 128 31 63
def @arg08 253 20 0 Y 128 31 63
def @arg09 253 20 0 Y 128 31 63
def @arg10 253 20 0 Y 128 31 63
def @arg11 253 64 0 Y 128 30 63
def @arg12 253 64 0 Y 128 30 63
def @arg01 253 20 1 Y 128 0 63
def @arg02 253 20 0 Y 128 0 63
def @arg03 253 20 0 Y 128 0 63
def @arg04 253 20 0 Y 128 0 63
def @arg05 253 20 0 Y 128 0 63
def @arg06 253 20 0 Y 128 0 63
def @arg07 253 23 0 Y 128 31 63
def @arg08 253 23 0 Y 128 31 63
def @arg09 253 23 0 Y 128 31 63
def @arg10 253 23 0 Y 128 31 63
def @arg11 253 67 0 Y 128 30 63
def @arg12 253 67 0 Y 128 30 63
def @arg13 253 8192 0 Y 128 31 63
def @arg14 253 8192 0 Y 128 31 63
def @arg15 253 8192 19 Y 128 31 63
def @arg16 253 8192 0 Y 128 31 63
def @arg17 253 20 0 Y 128 31 63
def @arg18 253 20 0 Y 128 31 63
def @arg19 253 20 0 Y 128 31 63
def @arg17 253 20 0 Y 128 0 63
def @arg18 253 20 0 Y 128 0 63
def @arg19 253 20 0 Y 128 0 63
def @arg20 253 8192 0 Y 0 31 8
def @arg21 253 8192 0 Y 0 31 8
def @arg22 253 8192 0 Y 0 31 8

View file

@ -59,8 +59,8 @@ def test t9 t9 c7 c7 4 12 1 Y 32768 31 63
def test t9 t9 c8 c8 5 22 1 Y 32768 31 63
def test t9 t9 c9 c9 5 22 1 Y 32768 31 63
def test t9 t9 c10 c10 5 22 1 Y 32768 31 63
def test t9 t9 c11 c11 246 7 6 Y 0 4 63
def test t9 t9 c12 c12 246 8 6 Y 0 4 63
def test t9 t9 c11 c11 246 9 6 Y 0 4 63
def test t9 t9 c12 c12 246 10 6 Y 0 4 63
def test t9 t9 c13 c13 10 10 10 Y 128 0 63
def test t9 t9 c14 c14 12 19 19 Y 128 0 63
def test t9 t9 c15 c15 7 19 19 N 1249 0 63
@ -1759,8 +1759,8 @@ Table Create Table
t5 CREATE TABLE `t5` (
`const01` bigint(1) NOT NULL default '0',
`param01` bigint(20) default NULL,
`const02` decimal(3,1) NOT NULL default '0.0',
`param02` decimal(64,30) default NULL,
`const02` decimal(2,1) NOT NULL default '0.0',
`param02` decimal(65,30) default NULL,
`const03` double NOT NULL default '0',
`param03` double default NULL,
`const04` varchar(3) NOT NULL default '',
@ -1781,7 +1781,7 @@ t5 CREATE TABLE `t5` (
`param11` bigint(20) default NULL,
`const12` binary(0) default NULL,
`param12` bigint(20) default NULL,
`param13` decimal(64,30) default NULL,
`param13` decimal(65,30) default NULL,
`param14` longtext,
`param15` longblob
) ENGINE=MyISAM DEFAULT CHARSET=latin1
@ -1789,10 +1789,10 @@ select * from t5 ;
Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
def test t5 t5 const01 const01 8 1 1 N 32769 0 63
def test t5 t5 param01 param01 8 20 1 Y 32768 0 63
def test t5 t5 const02 const02 246 3 3 N 1 1 63
def test t5 t5 param02 param02 246 64 32 Y 0 30 63
def test t5 t5 const02 const02 246 4 3 N 1 1 63
def test t5 t5 param02 param02 246 67 32 Y 0 30 63
def test t5 t5 const03 const03 5 17 1 N 32769 31 63
def test t5 t5 param03 param03 5 20 1 Y 32768 31 63
def test t5 t5 param03 param03 5 23 1 Y 32768 31 63
def test t5 t5 const04 const04 253 3 3 N 1 0 8
def test t5 t5 param04 param04 252 16777215 3 Y 16 0 8
def test t5 t5 const05 const05 253 3 3 N 129 0 63
@ -1811,7 +1811,7 @@ def test t5 t5 const11 const11 3 4 4 Y 32768 0 63
def test t5 t5 param11 param11 8 20 4 Y 32768 0 63
def test t5 t5 const12 const12 254 0 0 Y 128 0 63
def test t5 t5 param12 param12 8 20 0 Y 32768 0 63
def test t5 t5 param13 param13 246 64 0 Y 0 30 63
def test t5 t5 param13 param13 246 67 0 Y 0 30 63
def test t5 t5 param14 param14 252 16777215 0 Y 16 0 8
def test t5 t5 param15 param15 252 16777215 0 Y 144 0 63
const01 8
@ -1899,25 +1899,25 @@ from t9 where c1= 1 ;
1 1 1 1 1 1 1 1 1 1 1.0000 1.0000 2004-02-29 2004-02-29 11:11:11 2004-02-29 11:11:11 11:11:11 2004 1 1 a 123456789a 123456789a123456789b123456789c tinyblob tinytext blob text mediumblob mediumtext longblob longtext one monday
execute full_info ;
Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
def @arg01 253 20 1 Y 128 31 63
def @arg02 253 20 1 Y 128 31 63
def @arg03 253 20 1 Y 128 31 63
def @arg04 253 20 1 Y 128 31 63
def @arg05 253 20 1 Y 128 31 63
def @arg06 253 20 1 Y 128 31 63
def @arg07 253 20 1 Y 128 31 63
def @arg08 253 20 1 Y 128 31 63
def @arg09 253 20 1 Y 128 31 63
def @arg10 253 20 1 Y 128 31 63
def @arg11 253 64 6 Y 128 30 63
def @arg12 253 64 6 Y 128 30 63
def @arg01 253 20 1 Y 128 0 63
def @arg02 253 20 1 Y 128 0 63
def @arg03 253 20 1 Y 128 0 63
def @arg04 253 20 1 Y 128 0 63
def @arg05 253 20 1 Y 128 0 63
def @arg06 253 20 1 Y 128 0 63
def @arg07 253 23 1 Y 128 31 63
def @arg08 253 23 1 Y 128 31 63
def @arg09 253 23 1 Y 128 31 63
def @arg10 253 23 1 Y 128 31 63
def @arg11 253 67 6 Y 128 30 63
def @arg12 253 67 6 Y 128 30 63
def @arg13 253 8192 10 Y 128 31 63
def @arg14 253 8192 19 Y 128 31 63
def @arg15 253 8192 19 Y 128 31 63
def @arg16 253 8192 8 Y 128 31 63
def @arg17 253 20 4 Y 128 31 63
def @arg18 253 20 1 Y 128 31 63
def @arg19 253 20 1 Y 128 31 63
def @arg17 253 20 4 Y 128 0 63
def @arg18 253 20 1 Y 128 0 63
def @arg19 253 20 1 Y 128 0 63
def @arg20 253 8192 1 Y 0 31 8
def @arg21 253 8192 10 Y 0 31 8
def @arg22 253 8192 30 Y 0 31 8
@ -1946,25 +1946,25 @@ from t9 where c1= 0 ;
0 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 1991-01-01 01:01:01 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
execute full_info ;
Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
def @arg01 253 20 1 Y 128 31 63
def @arg02 253 20 0 Y 128 31 63
def @arg03 253 20 0 Y 128 31 63
def @arg04 253 20 0 Y 128 31 63
def @arg05 253 20 0 Y 128 31 63
def @arg06 253 20 0 Y 128 31 63
def @arg07 253 20 0 Y 128 31 63
def @arg08 253 20 0 Y 128 31 63
def @arg09 253 20 0 Y 128 31 63
def @arg10 253 20 0 Y 128 31 63
def @arg11 253 64 0 Y 128 30 63
def @arg12 253 64 0 Y 128 30 63
def @arg01 253 20 1 Y 128 0 63
def @arg02 253 20 0 Y 128 0 63
def @arg03 253 20 0 Y 128 0 63
def @arg04 253 20 0 Y 128 0 63
def @arg05 253 20 0 Y 128 0 63
def @arg06 253 20 0 Y 128 0 63
def @arg07 253 23 0 Y 128 31 63
def @arg08 253 23 0 Y 128 31 63
def @arg09 253 23 0 Y 128 31 63
def @arg10 253 23 0 Y 128 31 63
def @arg11 253 67 0 Y 128 30 63
def @arg12 253 67 0 Y 128 30 63
def @arg13 253 8192 0 Y 128 31 63
def @arg14 253 8192 0 Y 128 31 63
def @arg15 253 8192 19 Y 128 31 63
def @arg16 253 8192 0 Y 128 31 63
def @arg17 253 20 0 Y 128 31 63
def @arg18 253 20 0 Y 128 31 63
def @arg19 253 20 0 Y 128 31 63
def @arg17 253 20 0 Y 128 0 63
def @arg18 253 20 0 Y 128 0 63
def @arg19 253 20 0 Y 128 0 63
def @arg20 253 8192 0 Y 0 31 8
def @arg21 253 8192 0 Y 0 31 8
def @arg22 253 8192 0 Y 0 31 8
@ -1996,25 +1996,25 @@ execute stmt1 using @my_key ;
1 1 1 1 1 1 1 1 1 1 1.0000 1.0000 2004-02-29 2004-02-29 11:11:11 2004-02-29 11:11:11 11:11:11 2004 1 1 a 123456789a 123456789a123456789b123456789c tinyblob tinytext blob text mediumblob mediumtext longblob longtext one monday
execute full_info ;
Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
def @arg01 253 20 1 Y 128 31 63
def @arg02 253 20 1 Y 128 31 63
def @arg03 253 20 1 Y 128 31 63
def @arg04 253 20 1 Y 128 31 63
def @arg05 253 20 1 Y 128 31 63
def @arg06 253 20 1 Y 128 31 63
def @arg07 253 20 1 Y 128 31 63
def @arg08 253 20 1 Y 128 31 63
def @arg09 253 20 1 Y 128 31 63
def @arg10 253 20 1 Y 128 31 63
def @arg11 253 64 6 Y 128 30 63
def @arg12 253 64 6 Y 128 30 63
def @arg01 253 20 1 Y 128 0 63
def @arg02 253 20 1 Y 128 0 63
def @arg03 253 20 1 Y 128 0 63
def @arg04 253 20 1 Y 128 0 63
def @arg05 253 20 1 Y 128 0 63
def @arg06 253 20 1 Y 128 0 63
def @arg07 253 23 1 Y 128 31 63
def @arg08 253 23 1 Y 128 31 63
def @arg09 253 23 1 Y 128 31 63
def @arg10 253 23 1 Y 128 31 63
def @arg11 253 67 6 Y 128 30 63
def @arg12 253 67 6 Y 128 30 63
def @arg13 253 8192 10 Y 128 31 63
def @arg14 253 8192 19 Y 128 31 63
def @arg15 253 8192 19 Y 128 31 63
def @arg16 253 8192 8 Y 128 31 63
def @arg17 253 20 4 Y 128 31 63
def @arg18 253 20 1 Y 128 31 63
def @arg19 253 20 1 Y 128 31 63
def @arg17 253 20 4 Y 128 0 63
def @arg18 253 20 1 Y 128 0 63
def @arg19 253 20 1 Y 128 0 63
def @arg20 253 8192 1 Y 0 31 8
def @arg21 253 8192 10 Y 0 31 8
def @arg22 253 8192 30 Y 0 31 8
@ -2036,25 +2036,25 @@ execute stmt1 using @my_key ;
0 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 1991-01-01 01:01:01 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
execute full_info ;
Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
def @arg01 253 20 1 Y 128 31 63
def @arg02 253 20 0 Y 128 31 63
def @arg03 253 20 0 Y 128 31 63
def @arg04 253 20 0 Y 128 31 63
def @arg05 253 20 0 Y 128 31 63
def @arg06 253 20 0 Y 128 31 63
def @arg07 253 20 0 Y 128 31 63
def @arg08 253 20 0 Y 128 31 63
def @arg09 253 20 0 Y 128 31 63
def @arg10 253 20 0 Y 128 31 63
def @arg11 253 64 0 Y 128 30 63
def @arg12 253 64 0 Y 128 30 63
def @arg01 253 20 1 Y 128 0 63
def @arg02 253 20 0 Y 128 0 63
def @arg03 253 20 0 Y 128 0 63
def @arg04 253 20 0 Y 128 0 63
def @arg05 253 20 0 Y 128 0 63
def @arg06 253 20 0 Y 128 0 63
def @arg07 253 23 0 Y 128 31 63
def @arg08 253 23 0 Y 128 31 63
def @arg09 253 23 0 Y 128 31 63
def @arg10 253 23 0 Y 128 31 63
def @arg11 253 67 0 Y 128 30 63
def @arg12 253 67 0 Y 128 30 63
def @arg13 253 8192 0 Y 128 31 63
def @arg14 253 8192 0 Y 128 31 63
def @arg15 253 8192 19 Y 128 31 63
def @arg16 253 8192 0 Y 128 31 63
def @arg17 253 20 0 Y 128 31 63
def @arg18 253 20 0 Y 128 31 63
def @arg19 253 20 0 Y 128 31 63
def @arg17 253 20 0 Y 128 0 63
def @arg18 253 20 0 Y 128 0 63
def @arg19 253 20 0 Y 128 0 63
def @arg20 253 8192 0 Y 0 31 8
def @arg21 253 8192 0 Y 0 31 8
def @arg22 253 8192 0 Y 0 31 8
@ -2084,25 +2084,25 @@ into @arg01, @arg02, @arg03, @arg04, @arg05, @arg06, @arg07, @arg08,
from t9 where c1= 1 ;
execute full_info ;
Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
def @arg01 253 20 1 Y 128 31 63
def @arg02 253 20 1 Y 128 31 63
def @arg03 253 20 1 Y 128 31 63
def @arg04 253 20 1 Y 128 31 63
def @arg05 253 20 1 Y 128 31 63
def @arg06 253 20 1 Y 128 31 63
def @arg07 253 20 1 Y 128 31 63
def @arg08 253 20 1 Y 128 31 63
def @arg09 253 20 1 Y 128 31 63
def @arg10 253 20 1 Y 128 31 63
def @arg11 253 64 6 Y 128 30 63
def @arg12 253 64 6 Y 128 30 63
def @arg01 253 20 1 Y 128 0 63
def @arg02 253 20 1 Y 128 0 63
def @arg03 253 20 1 Y 128 0 63
def @arg04 253 20 1 Y 128 0 63
def @arg05 253 20 1 Y 128 0 63
def @arg06 253 20 1 Y 128 0 63
def @arg07 253 23 1 Y 128 31 63
def @arg08 253 23 1 Y 128 31 63
def @arg09 253 23 1 Y 128 31 63
def @arg10 253 23 1 Y 128 31 63
def @arg11 253 67 6 Y 128 30 63
def @arg12 253 67 6 Y 128 30 63
def @arg13 253 8192 10 Y 128 31 63
def @arg14 253 8192 19 Y 128 31 63
def @arg15 253 8192 19 Y 128 31 63
def @arg16 253 8192 8 Y 128 31 63
def @arg17 253 20 4 Y 128 31 63
def @arg18 253 20 1 Y 128 31 63
def @arg19 253 20 1 Y 128 31 63
def @arg17 253 20 4 Y 128 0 63
def @arg18 253 20 1 Y 128 0 63
def @arg19 253 20 1 Y 128 0 63
def @arg20 253 8192 1 Y 0 31 8
def @arg21 253 8192 10 Y 0 31 8
def @arg22 253 8192 30 Y 0 31 8
@ -2128,25 +2128,25 @@ into @arg01, @arg02, @arg03, @arg04, @arg05, @arg06, @arg07, @arg08,
from t9 where c1= 0 ;
execute full_info ;
Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
def @arg01 253 20 1 Y 128 31 63
def @arg02 253 20 0 Y 128 31 63
def @arg03 253 20 0 Y 128 31 63
def @arg04 253 20 0 Y 128 31 63
def @arg05 253 20 0 Y 128 31 63
def @arg06 253 20 0 Y 128 31 63
def @arg07 253 20 0 Y 128 31 63
def @arg08 253 20 0 Y 128 31 63
def @arg09 253 20 0 Y 128 31 63
def @arg10 253 20 0 Y 128 31 63
def @arg11 253 64 0 Y 128 30 63
def @arg12 253 64 0 Y 128 30 63
def @arg01 253 20 1 Y 128 0 63
def @arg02 253 20 0 Y 128 0 63
def @arg03 253 20 0 Y 128 0 63
def @arg04 253 20 0 Y 128 0 63
def @arg05 253 20 0 Y 128 0 63
def @arg06 253 20 0 Y 128 0 63
def @arg07 253 23 0 Y 128 31 63
def @arg08 253 23 0 Y 128 31 63
def @arg09 253 23 0 Y 128 31 63
def @arg10 253 23 0 Y 128 31 63
def @arg11 253 67 0 Y 128 30 63
def @arg12 253 67 0 Y 128 30 63
def @arg13 253 8192 0 Y 128 31 63
def @arg14 253 8192 0 Y 128 31 63
def @arg15 253 8192 19 Y 128 31 63
def @arg16 253 8192 0 Y 128 31 63
def @arg17 253 20 0 Y 128 31 63
def @arg18 253 20 0 Y 128 31 63
def @arg19 253 20 0 Y 128 31 63
def @arg17 253 20 0 Y 128 0 63
def @arg18 253 20 0 Y 128 0 63
def @arg19 253 20 0 Y 128 0 63
def @arg20 253 8192 0 Y 0 31 8
def @arg21 253 8192 0 Y 0 31 8
def @arg22 253 8192 0 Y 0 31 8
@ -2174,25 +2174,25 @@ set @my_key= 1 ;
execute stmt1 using @my_key ;
execute full_info ;
Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
def @arg01 253 20 1 Y 128 31 63
def @arg02 253 20 1 Y 128 31 63
def @arg03 253 20 1 Y 128 31 63
def @arg04 253 20 1 Y 128 31 63
def @arg05 253 20 1 Y 128 31 63
def @arg06 253 20 1 Y 128 31 63
def @arg07 253 20 1 Y 128 31 63
def @arg08 253 20 1 Y 128 31 63
def @arg09 253 20 1 Y 128 31 63
def @arg10 253 20 1 Y 128 31 63
def @arg11 253 64 6 Y 128 30 63
def @arg12 253 64 6 Y 128 30 63
def @arg01 253 20 1 Y 128 0 63
def @arg02 253 20 1 Y 128 0 63
def @arg03 253 20 1 Y 128 0 63
def @arg04 253 20 1 Y 128 0 63
def @arg05 253 20 1 Y 128 0 63
def @arg06 253 20 1 Y 128 0 63
def @arg07 253 23 1 Y 128 31 63
def @arg08 253 23 1 Y 128 31 63
def @arg09 253 23 1 Y 128 31 63
def @arg10 253 23 1 Y 128 31 63
def @arg11 253 67 6 Y 128 30 63
def @arg12 253 67 6 Y 128 30 63
def @arg13 253 8192 10 Y 128 31 63
def @arg14 253 8192 19 Y 128 31 63
def @arg15 253 8192 19 Y 128 31 63
def @arg16 253 8192 8 Y 128 31 63
def @arg17 253 20 4 Y 128 31 63
def @arg18 253 20 1 Y 128 31 63
def @arg19 253 20 1 Y 128 31 63
def @arg17 253 20 4 Y 128 0 63
def @arg18 253 20 1 Y 128 0 63
def @arg19 253 20 1 Y 128 0 63
def @arg20 253 8192 1 Y 0 31 8
def @arg21 253 8192 10 Y 0 31 8
def @arg22 253 8192 30 Y 0 31 8
@ -2212,25 +2212,25 @@ set @my_key= 0 ;
execute stmt1 using @my_key ;
execute full_info ;
Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
def @arg01 253 20 1 Y 128 31 63
def @arg02 253 20 0 Y 128 31 63
def @arg03 253 20 0 Y 128 31 63
def @arg04 253 20 0 Y 128 31 63
def @arg05 253 20 0 Y 128 31 63
def @arg06 253 20 0 Y 128 31 63
def @arg07 253 20 0 Y 128 31 63
def @arg08 253 20 0 Y 128 31 63
def @arg09 253 20 0 Y 128 31 63
def @arg10 253 20 0 Y 128 31 63
def @arg11 253 64 0 Y 128 30 63
def @arg12 253 64 0 Y 128 30 63
def @arg01 253 20 1 Y 128 0 63
def @arg02 253 20 0 Y 128 0 63
def @arg03 253 20 0 Y 128 0 63
def @arg04 253 20 0 Y 128 0 63
def @arg05 253 20 0 Y 128 0 63
def @arg06 253 20 0 Y 128 0 63
def @arg07 253 23 0 Y 128 31 63
def @arg08 253 23 0 Y 128 31 63
def @arg09 253 23 0 Y 128 31 63
def @arg10 253 23 0 Y 128 31 63
def @arg11 253 67 0 Y 128 30 63
def @arg12 253 67 0 Y 128 30 63
def @arg13 253 8192 0 Y 128 31 63
def @arg14 253 8192 0 Y 128 31 63
def @arg15 253 8192 19 Y 128 31 63
def @arg16 253 8192 0 Y 128 31 63
def @arg17 253 20 0 Y 128 31 63
def @arg18 253 20 0 Y 128 31 63
def @arg19 253 20 0 Y 128 31 63
def @arg17 253 20 0 Y 128 0 63
def @arg18 253 20 0 Y 128 0 63
def @arg19 253 20 0 Y 128 0 63
def @arg20 253 8192 0 Y 0 31 8
def @arg21 253 8192 0 Y 0 31 8
def @arg22 253 8192 0 Y 0 31 8

View file

@ -60,8 +60,8 @@ def test t9 t9 c7 c7 4 12 1 Y 32768 31 63
def test t9 t9 c8 c8 5 22 1 Y 32768 31 63
def test t9 t9 c9 c9 5 22 1 Y 32768 31 63
def test t9 t9 c10 c10 5 22 1 Y 32768 31 63
def test t9 t9 c11 c11 246 7 6 Y 0 4 63
def test t9 t9 c12 c12 246 8 6 Y 0 4 63
def test t9 t9 c11 c11 246 9 6 Y 0 4 63
def test t9 t9 c12 c12 246 10 6 Y 0 4 63
def test t9 t9 c13 c13 10 10 10 Y 128 0 63
def test t9 t9 c14 c14 12 19 19 Y 128 0 63
def test t9 t9 c15 c15 7 19 19 N 1249 0 63
@ -1760,8 +1760,8 @@ Table Create Table
t5 CREATE TABLE `t5` (
`const01` bigint(1) NOT NULL default '0',
`param01` bigint(20) default NULL,
`const02` decimal(3,1) NOT NULL default '0.0',
`param02` decimal(64,30) default NULL,
`const02` decimal(2,1) NOT NULL default '0.0',
`param02` decimal(65,30) default NULL,
`const03` double NOT NULL default '0',
`param03` double default NULL,
`const04` varchar(3) NOT NULL default '',
@ -1782,7 +1782,7 @@ t5 CREATE TABLE `t5` (
`param11` bigint(20) default NULL,
`const12` binary(0) default NULL,
`param12` bigint(20) default NULL,
`param13` decimal(64,30) default NULL,
`param13` decimal(65,30) default NULL,
`param14` longtext,
`param15` longblob
) ENGINE=MyISAM DEFAULT CHARSET=latin1
@ -1790,10 +1790,10 @@ select * from t5 ;
Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
def test t5 t5 const01 const01 8 1 1 N 32769 0 63
def test t5 t5 param01 param01 8 20 1 Y 32768 0 63
def test t5 t5 const02 const02 246 3 3 N 1 1 63
def test t5 t5 param02 param02 246 64 32 Y 0 30 63
def test t5 t5 const02 const02 246 4 3 N 1 1 63
def test t5 t5 param02 param02 246 67 32 Y 0 30 63
def test t5 t5 const03 const03 5 17 1 N 32769 31 63
def test t5 t5 param03 param03 5 20 1 Y 32768 31 63
def test t5 t5 param03 param03 5 23 1 Y 32768 31 63
def test t5 t5 const04 const04 253 3 3 N 1 0 8
def test t5 t5 param04 param04 252 16777215 3 Y 16 0 8
def test t5 t5 const05 const05 253 3 3 N 129 0 63
@ -1812,7 +1812,7 @@ def test t5 t5 const11 const11 3 4 4 Y 32768 0 63
def test t5 t5 param11 param11 8 20 4 Y 32768 0 63
def test t5 t5 const12 const12 254 0 0 Y 128 0 63
def test t5 t5 param12 param12 8 20 0 Y 32768 0 63
def test t5 t5 param13 param13 246 64 0 Y 0 30 63
def test t5 t5 param13 param13 246 67 0 Y 0 30 63
def test t5 t5 param14 param14 252 16777215 0 Y 16 0 8
def test t5 t5 param15 param15 252 16777215 0 Y 144 0 63
const01 8
@ -1900,25 +1900,25 @@ from t9 where c1= 1 ;
1 1 1 1 1 1 1 1 1 1 1.0000 1.0000 2004-02-29 2004-02-29 11:11:11 2004-02-29 11:11:11 11:11:11 2004 1 1 a 123456789a 123456789a123456789b123456789c tinyblob tinytext blob text mediumblob mediumtext longblob longtext one monday
execute full_info ;
Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
def @arg01 253 20 1 Y 128 31 63
def @arg02 253 20 1 Y 128 31 63
def @arg03 253 20 1 Y 128 31 63
def @arg04 253 20 1 Y 128 31 63
def @arg05 253 20 1 Y 128 31 63
def @arg06 253 20 1 Y 128 31 63
def @arg07 253 20 1 Y 128 31 63
def @arg08 253 20 1 Y 128 31 63
def @arg09 253 20 1 Y 128 31 63
def @arg10 253 20 1 Y 128 31 63
def @arg11 253 64 6 Y 128 30 63
def @arg12 253 64 6 Y 128 30 63
def @arg01 253 20 1 Y 128 0 63
def @arg02 253 20 1 Y 128 0 63
def @arg03 253 20 1 Y 128 0 63
def @arg04 253 20 1 Y 128 0 63
def @arg05 253 20 1 Y 128 0 63
def @arg06 253 20 1 Y 128 0 63
def @arg07 253 23 1 Y 128 31 63
def @arg08 253 23 1 Y 128 31 63
def @arg09 253 23 1 Y 128 31 63
def @arg10 253 23 1 Y 128 31 63
def @arg11 253 67 6 Y 128 30 63
def @arg12 253 67 6 Y 128 30 63
def @arg13 253 8192 10 Y 128 31 63
def @arg14 253 8192 19 Y 128 31 63
def @arg15 253 8192 19 Y 128 31 63
def @arg16 253 8192 8 Y 128 31 63
def @arg17 253 20 4 Y 128 31 63
def @arg18 253 20 1 Y 128 31 63
def @arg19 253 20 1 Y 128 31 63
def @arg17 253 20 4 Y 128 0 63
def @arg18 253 20 1 Y 128 0 63
def @arg19 253 20 1 Y 128 0 63
def @arg20 253 8192 1 Y 0 31 8
def @arg21 253 8192 10 Y 0 31 8
def @arg22 253 8192 30 Y 0 31 8
@ -1947,25 +1947,25 @@ from t9 where c1= 0 ;
0 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 1991-01-01 01:01:01 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
execute full_info ;
Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
def @arg01 253 20 1 Y 128 31 63
def @arg02 253 20 0 Y 128 31 63
def @arg03 253 20 0 Y 128 31 63
def @arg04 253 20 0 Y 128 31 63
def @arg05 253 20 0 Y 128 31 63
def @arg06 253 20 0 Y 128 31 63
def @arg07 253 20 0 Y 128 31 63
def @arg08 253 20 0 Y 128 31 63
def @arg09 253 20 0 Y 128 31 63
def @arg10 253 20 0 Y 128 31 63
def @arg11 253 64 0 Y 128 30 63
def @arg12 253 64 0 Y 128 30 63
def @arg01 253 20 1 Y 128 0 63
def @arg02 253 20 0 Y 128 0 63
def @arg03 253 20 0 Y 128 0 63
def @arg04 253 20 0 Y 128 0 63
def @arg05 253 20 0 Y 128 0 63
def @arg06 253 20 0 Y 128 0 63
def @arg07 253 23 0 Y 128 31 63
def @arg08 253 23 0 Y 128 31 63
def @arg09 253 23 0 Y 128 31 63
def @arg10 253 23 0 Y 128 31 63
def @arg11 253 67 0 Y 128 30 63
def @arg12 253 67 0 Y 128 30 63
def @arg13 253 8192 0 Y 128 31 63
def @arg14 253 8192 0 Y 128 31 63
def @arg15 253 8192 19 Y 128 31 63
def @arg16 253 8192 0 Y 128 31 63
def @arg17 253 20 0 Y 128 31 63
def @arg18 253 20 0 Y 128 31 63
def @arg19 253 20 0 Y 128 31 63
def @arg17 253 20 0 Y 128 0 63
def @arg18 253 20 0 Y 128 0 63
def @arg19 253 20 0 Y 128 0 63
def @arg20 253 8192 0 Y 0 31 8
def @arg21 253 8192 0 Y 0 31 8
def @arg22 253 8192 0 Y 0 31 8
@ -1997,25 +1997,25 @@ execute stmt1 using @my_key ;
1 1 1 1 1 1 1 1 1 1 1.0000 1.0000 2004-02-29 2004-02-29 11:11:11 2004-02-29 11:11:11 11:11:11 2004 1 1 a 123456789a 123456789a123456789b123456789c tinyblob tinytext blob text mediumblob mediumtext longblob longtext one monday
execute full_info ;
Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
def @arg01 253 20 1 Y 128 31 63
def @arg02 253 20 1 Y 128 31 63
def @arg03 253 20 1 Y 128 31 63
def @arg04 253 20 1 Y 128 31 63
def @arg05 253 20 1 Y 128 31 63
def @arg06 253 20 1 Y 128 31 63
def @arg07 253 20 1 Y 128 31 63
def @arg08 253 20 1 Y 128 31 63
def @arg09 253 20 1 Y 128 31 63
def @arg10 253 20 1 Y 128 31 63
def @arg11 253 64 6 Y 128 30 63
def @arg12 253 64 6 Y 128 30 63
def @arg01 253 20 1 Y 128 0 63
def @arg02 253 20 1 Y 128 0 63
def @arg03 253 20 1 Y 128 0 63
def @arg04 253 20 1 Y 128 0 63
def @arg05 253 20 1 Y 128 0 63
def @arg06 253 20 1 Y 128 0 63
def @arg07 253 23 1 Y 128 31 63
def @arg08 253 23 1 Y 128 31 63
def @arg09 253 23 1 Y 128 31 63
def @arg10 253 23 1 Y 128 31 63
def @arg11 253 67 6 Y 128 30 63
def @arg12 253 67 6 Y 128 30 63
def @arg13 253 8192 10 Y 128 31 63
def @arg14 253 8192 19 Y 128 31 63
def @arg15 253 8192 19 Y 128 31 63
def @arg16 253 8192 8 Y 128 31 63
def @arg17 253 20 4 Y 128 31 63
def @arg18 253 20 1 Y 128 31 63
def @arg19 253 20 1 Y 128 31 63
def @arg17 253 20 4 Y 128 0 63
def @arg18 253 20 1 Y 128 0 63
def @arg19 253 20 1 Y 128 0 63
def @arg20 253 8192 1 Y 0 31 8
def @arg21 253 8192 10 Y 0 31 8
def @arg22 253 8192 30 Y 0 31 8
@ -2037,25 +2037,25 @@ execute stmt1 using @my_key ;
0 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 1991-01-01 01:01:01 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
execute full_info ;
Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
def @arg01 253 20 1 Y 128 31 63
def @arg02 253 20 0 Y 128 31 63
def @arg03 253 20 0 Y 128 31 63
def @arg04 253 20 0 Y 128 31 63
def @arg05 253 20 0 Y 128 31 63
def @arg06 253 20 0 Y 128 31 63
def @arg07 253 20 0 Y 128 31 63
def @arg08 253 20 0 Y 128 31 63
def @arg09 253 20 0 Y 128 31 63
def @arg10 253 20 0 Y 128 31 63
def @arg11 253 64 0 Y 128 30 63
def @arg12 253 64 0 Y 128 30 63
def @arg01 253 20 1 Y 128 0 63
def @arg02 253 20 0 Y 128 0 63
def @arg03 253 20 0 Y 128 0 63
def @arg04 253 20 0 Y 128 0 63
def @arg05 253 20 0 Y 128 0 63
def @arg06 253 20 0 Y 128 0 63
def @arg07 253 23 0 Y 128 31 63
def @arg08 253 23 0 Y 128 31 63
def @arg09 253 23 0 Y 128 31 63
def @arg10 253 23 0 Y 128 31 63
def @arg11 253 67 0 Y 128 30 63
def @arg12 253 67 0 Y 128 30 63
def @arg13 253 8192 0 Y 128 31 63
def @arg14 253 8192 0 Y 128 31 63
def @arg15 253 8192 19 Y 128 31 63
def @arg16 253 8192 0 Y 128 31 63
def @arg17 253 20 0 Y 128 31 63
def @arg18 253 20 0 Y 128 31 63
def @arg19 253 20 0 Y 128 31 63
def @arg17 253 20 0 Y 128 0 63
def @arg18 253 20 0 Y 128 0 63
def @arg19 253 20 0 Y 128 0 63
def @arg20 253 8192 0 Y 0 31 8
def @arg21 253 8192 0 Y 0 31 8
def @arg22 253 8192 0 Y 0 31 8
@ -2085,25 +2085,25 @@ into @arg01, @arg02, @arg03, @arg04, @arg05, @arg06, @arg07, @arg08,
from t9 where c1= 1 ;
execute full_info ;
Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
def @arg01 253 20 1 Y 128 31 63
def @arg02 253 20 1 Y 128 31 63
def @arg03 253 20 1 Y 128 31 63
def @arg04 253 20 1 Y 128 31 63
def @arg05 253 20 1 Y 128 31 63
def @arg06 253 20 1 Y 128 31 63
def @arg07 253 20 1 Y 128 31 63
def @arg08 253 20 1 Y 128 31 63
def @arg09 253 20 1 Y 128 31 63
def @arg10 253 20 1 Y 128 31 63
def @arg11 253 64 6 Y 128 30 63
def @arg12 253 64 6 Y 128 30 63
def @arg01 253 20 1 Y 128 0 63
def @arg02 253 20 1 Y 128 0 63
def @arg03 253 20 1 Y 128 0 63
def @arg04 253 20 1 Y 128 0 63
def @arg05 253 20 1 Y 128 0 63
def @arg06 253 20 1 Y 128 0 63
def @arg07 253 23 1 Y 128 31 63
def @arg08 253 23 1 Y 128 31 63
def @arg09 253 23 1 Y 128 31 63
def @arg10 253 23 1 Y 128 31 63
def @arg11 253 67 6 Y 128 30 63
def @arg12 253 67 6 Y 128 30 63
def @arg13 253 8192 10 Y 128 31 63
def @arg14 253 8192 19 Y 128 31 63
def @arg15 253 8192 19 Y 128 31 63
def @arg16 253 8192 8 Y 128 31 63
def @arg17 253 20 4 Y 128 31 63
def @arg18 253 20 1 Y 128 31 63
def @arg19 253 20 1 Y 128 31 63
def @arg17 253 20 4 Y 128 0 63
def @arg18 253 20 1 Y 128 0 63
def @arg19 253 20 1 Y 128 0 63
def @arg20 253 8192 1 Y 0 31 8
def @arg21 253 8192 10 Y 0 31 8
def @arg22 253 8192 30 Y 0 31 8
@ -2129,25 +2129,25 @@ into @arg01, @arg02, @arg03, @arg04, @arg05, @arg06, @arg07, @arg08,
from t9 where c1= 0 ;
execute full_info ;
Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
def @arg01 253 20 1 Y 128 31 63
def @arg02 253 20 0 Y 128 31 63
def @arg03 253 20 0 Y 128 31 63
def @arg04 253 20 0 Y 128 31 63
def @arg05 253 20 0 Y 128 31 63
def @arg06 253 20 0 Y 128 31 63
def @arg07 253 20 0 Y 128 31 63
def @arg08 253 20 0 Y 128 31 63
def @arg09 253 20 0 Y 128 31 63
def @arg10 253 20 0 Y 128 31 63
def @arg11 253 64 0 Y 128 30 63
def @arg12 253 64 0 Y 128 30 63
def @arg01 253 20 1 Y 128 0 63
def @arg02 253 20 0 Y 128 0 63
def @arg03 253 20 0 Y 128 0 63
def @arg04 253 20 0 Y 128 0 63
def @arg05 253 20 0 Y 128 0 63
def @arg06 253 20 0 Y 128 0 63
def @arg07 253 23 0 Y 128 31 63
def @arg08 253 23 0 Y 128 31 63
def @arg09 253 23 0 Y 128 31 63
def @arg10 253 23 0 Y 128 31 63
def @arg11 253 67 0 Y 128 30 63
def @arg12 253 67 0 Y 128 30 63
def @arg13 253 8192 0 Y 128 31 63
def @arg14 253 8192 0 Y 128 31 63
def @arg15 253 8192 19 Y 128 31 63
def @arg16 253 8192 0 Y 128 31 63
def @arg17 253 20 0 Y 128 31 63
def @arg18 253 20 0 Y 128 31 63
def @arg19 253 20 0 Y 128 31 63
def @arg17 253 20 0 Y 128 0 63
def @arg18 253 20 0 Y 128 0 63
def @arg19 253 20 0 Y 128 0 63
def @arg20 253 8192 0 Y 0 31 8
def @arg21 253 8192 0 Y 0 31 8
def @arg22 253 8192 0 Y 0 31 8
@ -2175,25 +2175,25 @@ set @my_key= 1 ;
execute stmt1 using @my_key ;
execute full_info ;
Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
def @arg01 253 20 1 Y 128 31 63
def @arg02 253 20 1 Y 128 31 63
def @arg03 253 20 1 Y 128 31 63
def @arg04 253 20 1 Y 128 31 63
def @arg05 253 20 1 Y 128 31 63
def @arg06 253 20 1 Y 128 31 63
def @arg07 253 20 1 Y 128 31 63
def @arg08 253 20 1 Y 128 31 63
def @arg09 253 20 1 Y 128 31 63
def @arg10 253 20 1 Y 128 31 63
def @arg11 253 64 6 Y 128 30 63
def @arg12 253 64 6 Y 128 30 63
def @arg01 253 20 1 Y 128 0 63
def @arg02 253 20 1 Y 128 0 63
def @arg03 253 20 1 Y 128 0 63
def @arg04 253 20 1 Y 128 0 63
def @arg05 253 20 1 Y 128 0 63
def @arg06 253 20 1 Y 128 0 63
def @arg07 253 23 1 Y 128 31 63
def @arg08 253 23 1 Y 128 31 63
def @arg09 253 23 1 Y 128 31 63
def @arg10 253 23 1 Y 128 31 63
def @arg11 253 67 6 Y 128 30 63
def @arg12 253 67 6 Y 128 30 63
def @arg13 253 8192 10 Y 128 31 63
def @arg14 253 8192 19 Y 128 31 63
def @arg15 253 8192 19 Y 128 31 63
def @arg16 253 8192 8 Y 128 31 63
def @arg17 253 20 4 Y 128 31 63
def @arg18 253 20 1 Y 128 31 63
def @arg19 253 20 1 Y 128 31 63
def @arg17 253 20 4 Y 128 0 63
def @arg18 253 20 1 Y 128 0 63
def @arg19 253 20 1 Y 128 0 63
def @arg20 253 8192 1 Y 0 31 8
def @arg21 253 8192 10 Y 0 31 8
def @arg22 253 8192 30 Y 0 31 8
@ -2213,25 +2213,25 @@ set @my_key= 0 ;
execute stmt1 using @my_key ;
execute full_info ;
Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
def @arg01 253 20 1 Y 128 31 63
def @arg02 253 20 0 Y 128 31 63
def @arg03 253 20 0 Y 128 31 63
def @arg04 253 20 0 Y 128 31 63
def @arg05 253 20 0 Y 128 31 63
def @arg06 253 20 0 Y 128 31 63
def @arg07 253 20 0 Y 128 31 63
def @arg08 253 20 0 Y 128 31 63
def @arg09 253 20 0 Y 128 31 63
def @arg10 253 20 0 Y 128 31 63
def @arg11 253 64 0 Y 128 30 63
def @arg12 253 64 0 Y 128 30 63
def @arg01 253 20 1 Y 128 0 63
def @arg02 253 20 0 Y 128 0 63
def @arg03 253 20 0 Y 128 0 63
def @arg04 253 20 0 Y 128 0 63
def @arg05 253 20 0 Y 128 0 63
def @arg06 253 20 0 Y 128 0 63
def @arg07 253 23 0 Y 128 31 63
def @arg08 253 23 0 Y 128 31 63
def @arg09 253 23 0 Y 128 31 63
def @arg10 253 23 0 Y 128 31 63
def @arg11 253 67 0 Y 128 30 63
def @arg12 253 67 0 Y 128 30 63
def @arg13 253 8192 0 Y 128 31 63
def @arg14 253 8192 0 Y 128 31 63
def @arg15 253 8192 19 Y 128 31 63
def @arg16 253 8192 0 Y 128 31 63
def @arg17 253 20 0 Y 128 31 63
def @arg18 253 20 0 Y 128 31 63
def @arg19 253 20 0 Y 128 31 63
def @arg17 253 20 0 Y 128 0 63
def @arg18 253 20 0 Y 128 0 63
def @arg19 253 20 0 Y 128 0 63
def @arg20 253 8192 0 Y 0 31 8
def @arg21 253 8192 0 Y 0 31 8
def @arg22 253 8192 0 Y 0 31 8

View file

@ -102,8 +102,8 @@ def test t9 t9 c7 c7 4 12 1 Y 32768 31 63
def test t9 t9 c8 c8 5 22 1 Y 32768 31 63
def test t9 t9 c9 c9 5 22 1 Y 32768 31 63
def test t9 t9 c10 c10 5 22 1 Y 32768 31 63
def test t9 t9 c11 c11 246 7 6 Y 0 4 63
def test t9 t9 c12 c12 246 8 6 Y 0 4 63
def test t9 t9 c11 c11 246 9 6 Y 0 4 63
def test t9 t9 c12 c12 246 10 6 Y 0 4 63
def test t9 t9 c13 c13 10 10 10 Y 128 0 63
def test t9 t9 c14 c14 12 19 19 Y 128 0 63
def test t9 t9 c15 c15 7 19 19 N 1249 0 63
@ -1696,8 +1696,8 @@ Table Create Table
t5 CREATE TABLE `t5` (
`const01` bigint(1) NOT NULL default '0',
`param01` bigint(20) default NULL,
`const02` decimal(3,1) NOT NULL default '0.0',
`param02` decimal(64,30) default NULL,
`const02` decimal(2,1) NOT NULL default '0.0',
`param02` decimal(65,30) default NULL,
`const03` double NOT NULL default '0',
`param03` double default NULL,
`const04` varchar(3) NOT NULL default '',
@ -1718,7 +1718,7 @@ t5 CREATE TABLE `t5` (
`param11` bigint(20) default NULL,
`const12` binary(0) default NULL,
`param12` bigint(20) default NULL,
`param13` decimal(64,30) default NULL,
`param13` decimal(65,30) default NULL,
`param14` longtext,
`param15` longblob
) ENGINE=MyISAM DEFAULT CHARSET=latin1
@ -1726,10 +1726,10 @@ select * from t5 ;
Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
def test t5 t5 const01 const01 8 1 1 N 32769 0 63
def test t5 t5 param01 param01 8 20 1 Y 32768 0 63
def test t5 t5 const02 const02 246 3 3 N 1 1 63
def test t5 t5 param02 param02 246 64 32 Y 0 30 63
def test t5 t5 const02 const02 246 4 3 N 1 1 63
def test t5 t5 param02 param02 246 67 32 Y 0 30 63
def test t5 t5 const03 const03 5 17 1 N 32769 31 63
def test t5 t5 param03 param03 5 20 1 Y 32768 31 63
def test t5 t5 param03 param03 5 23 1 Y 32768 31 63
def test t5 t5 const04 const04 253 3 3 N 1 0 8
def test t5 t5 param04 param04 252 16777215 3 Y 16 0 8
def test t5 t5 const05 const05 253 3 3 N 129 0 63
@ -1748,7 +1748,7 @@ def test t5 t5 const11 const11 3 4 4 Y 32768 0 63
def test t5 t5 param11 param11 8 20 4 Y 32768 0 63
def test t5 t5 const12 const12 254 0 0 Y 128 0 63
def test t5 t5 param12 param12 8 20 0 Y 32768 0 63
def test t5 t5 param13 param13 246 64 0 Y 0 30 63
def test t5 t5 param13 param13 246 67 0 Y 0 30 63
def test t5 t5 param14 param14 252 16777215 0 Y 16 0 8
def test t5 t5 param15 param15 252 16777215 0 Y 144 0 63
const01 8
@ -1836,25 +1836,25 @@ from t9 where c1= 1 ;
1 1 1 1 1 1 1 1 1 1 1.0000 1.0000 2004-02-29 2004-02-29 11:11:11 2004-02-29 11:11:11 11:11:11 2004 1 1 a 123456789a 123456789a123456789b123456789c tinyblob tinytext blob text mediumblob mediumtext longblob longtext one monday
execute full_info ;
Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
def @arg01 253 20 1 Y 128 31 63
def @arg02 253 20 1 Y 128 31 63
def @arg03 253 20 1 Y 128 31 63
def @arg04 253 20 1 Y 128 31 63
def @arg05 253 20 1 Y 128 31 63
def @arg06 253 20 1 Y 128 31 63
def @arg07 253 20 1 Y 128 31 63
def @arg08 253 20 1 Y 128 31 63
def @arg09 253 20 1 Y 128 31 63
def @arg10 253 20 1 Y 128 31 63
def @arg11 253 64 6 Y 128 30 63
def @arg12 253 64 6 Y 128 30 63
def @arg01 253 20 1 Y 128 0 63
def @arg02 253 20 1 Y 128 0 63
def @arg03 253 20 1 Y 128 0 63
def @arg04 253 20 1 Y 128 0 63
def @arg05 253 20 1 Y 128 0 63
def @arg06 253 20 1 Y 128 0 63
def @arg07 253 23 1 Y 128 31 63
def @arg08 253 23 1 Y 128 31 63
def @arg09 253 23 1 Y 128 31 63
def @arg10 253 23 1 Y 128 31 63
def @arg11 253 67 6 Y 128 30 63
def @arg12 253 67 6 Y 128 30 63
def @arg13 253 8192 10 Y 128 31 63
def @arg14 253 8192 19 Y 128 31 63
def @arg15 253 8192 19 Y 128 31 63
def @arg16 253 8192 8 Y 128 31 63
def @arg17 253 20 4 Y 128 31 63
def @arg18 253 20 1 Y 128 31 63
def @arg19 253 20 1 Y 128 31 63
def @arg17 253 20 4 Y 128 0 63
def @arg18 253 20 1 Y 128 0 63
def @arg19 253 20 1 Y 128 0 63
def @arg20 253 8192 1 Y 0 31 8
def @arg21 253 8192 10 Y 0 31 8
def @arg22 253 8192 30 Y 0 31 8
@ -1883,25 +1883,25 @@ from t9 where c1= 0 ;
0 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 1991-01-01 01:01:01 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
execute full_info ;
Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
def @arg01 253 20 1 Y 128 31 63
def @arg02 253 20 0 Y 128 31 63
def @arg03 253 20 0 Y 128 31 63
def @arg04 253 20 0 Y 128 31 63
def @arg05 253 20 0 Y 128 31 63
def @arg06 253 20 0 Y 128 31 63
def @arg07 253 20 0 Y 128 31 63
def @arg08 253 20 0 Y 128 31 63
def @arg09 253 20 0 Y 128 31 63
def @arg10 253 20 0 Y 128 31 63
def @arg11 253 64 0 Y 128 30 63
def @arg12 253 64 0 Y 128 30 63
def @arg01 253 20 1 Y 128 0 63
def @arg02 253 20 0 Y 128 0 63
def @arg03 253 20 0 Y 128 0 63
def @arg04 253 20 0 Y 128 0 63
def @arg05 253 20 0 Y 128 0 63
def @arg06 253 20 0 Y 128 0 63
def @arg07 253 23 0 Y 128 31 63
def @arg08 253 23 0 Y 128 31 63
def @arg09 253 23 0 Y 128 31 63
def @arg10 253 23 0 Y 128 31 63
def @arg11 253 67 0 Y 128 30 63
def @arg12 253 67 0 Y 128 30 63
def @arg13 253 8192 0 Y 128 31 63
def @arg14 253 8192 0 Y 128 31 63
def @arg15 253 8192 19 Y 128 31 63
def @arg16 253 8192 0 Y 128 31 63
def @arg17 253 20 0 Y 128 31 63
def @arg18 253 20 0 Y 128 31 63
def @arg19 253 20 0 Y 128 31 63
def @arg17 253 20 0 Y 128 0 63
def @arg18 253 20 0 Y 128 0 63
def @arg19 253 20 0 Y 128 0 63
def @arg20 253 8192 0 Y 0 31 8
def @arg21 253 8192 0 Y 0 31 8
def @arg22 253 8192 0 Y 0 31 8
@ -1933,25 +1933,25 @@ execute stmt1 using @my_key ;
1 1 1 1 1 1 1 1 1 1 1.0000 1.0000 2004-02-29 2004-02-29 11:11:11 2004-02-29 11:11:11 11:11:11 2004 1 1 a 123456789a 123456789a123456789b123456789c tinyblob tinytext blob text mediumblob mediumtext longblob longtext one monday
execute full_info ;
Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
def @arg01 253 20 1 Y 128 31 63
def @arg02 253 20 1 Y 128 31 63
def @arg03 253 20 1 Y 128 31 63
def @arg04 253 20 1 Y 128 31 63
def @arg05 253 20 1 Y 128 31 63
def @arg06 253 20 1 Y 128 31 63
def @arg07 253 20 1 Y 128 31 63
def @arg08 253 20 1 Y 128 31 63
def @arg09 253 20 1 Y 128 31 63
def @arg10 253 20 1 Y 128 31 63
def @arg11 253 64 6 Y 128 30 63
def @arg12 253 64 6 Y 128 30 63
def @arg01 253 20 1 Y 128 0 63
def @arg02 253 20 1 Y 128 0 63
def @arg03 253 20 1 Y 128 0 63
def @arg04 253 20 1 Y 128 0 63
def @arg05 253 20 1 Y 128 0 63
def @arg06 253 20 1 Y 128 0 63
def @arg07 253 23 1 Y 128 31 63
def @arg08 253 23 1 Y 128 31 63
def @arg09 253 23 1 Y 128 31 63
def @arg10 253 23 1 Y 128 31 63
def @arg11 253 67 6 Y 128 30 63
def @arg12 253 67 6 Y 128 30 63
def @arg13 253 8192 10 Y 128 31 63
def @arg14 253 8192 19 Y 128 31 63
def @arg15 253 8192 19 Y 128 31 63
def @arg16 253 8192 8 Y 128 31 63
def @arg17 253 20 4 Y 128 31 63
def @arg18 253 20 1 Y 128 31 63
def @arg19 253 20 1 Y 128 31 63
def @arg17 253 20 4 Y 128 0 63
def @arg18 253 20 1 Y 128 0 63
def @arg19 253 20 1 Y 128 0 63
def @arg20 253 8192 1 Y 0 31 8
def @arg21 253 8192 10 Y 0 31 8
def @arg22 253 8192 30 Y 0 31 8
@ -1973,25 +1973,25 @@ execute stmt1 using @my_key ;
0 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 1991-01-01 01:01:01 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
execute full_info ;
Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
def @arg01 253 20 1 Y 128 31 63
def @arg02 253 20 0 Y 128 31 63
def @arg03 253 20 0 Y 128 31 63
def @arg04 253 20 0 Y 128 31 63
def @arg05 253 20 0 Y 128 31 63
def @arg06 253 20 0 Y 128 31 63
def @arg07 253 20 0 Y 128 31 63
def @arg08 253 20 0 Y 128 31 63
def @arg09 253 20 0 Y 128 31 63
def @arg10 253 20 0 Y 128 31 63
def @arg11 253 64 0 Y 128 30 63
def @arg12 253 64 0 Y 128 30 63
def @arg01 253 20 1 Y 128 0 63
def @arg02 253 20 0 Y 128 0 63
def @arg03 253 20 0 Y 128 0 63
def @arg04 253 20 0 Y 128 0 63
def @arg05 253 20 0 Y 128 0 63
def @arg06 253 20 0 Y 128 0 63
def @arg07 253 23 0 Y 128 31 63
def @arg08 253 23 0 Y 128 31 63
def @arg09 253 23 0 Y 128 31 63
def @arg10 253 23 0 Y 128 31 63
def @arg11 253 67 0 Y 128 30 63
def @arg12 253 67 0 Y 128 30 63
def @arg13 253 8192 0 Y 128 31 63
def @arg14 253 8192 0 Y 128 31 63
def @arg15 253 8192 19 Y 128 31 63
def @arg16 253 8192 0 Y 128 31 63
def @arg17 253 20 0 Y 128 31 63
def @arg18 253 20 0 Y 128 31 63
def @arg19 253 20 0 Y 128 31 63
def @arg17 253 20 0 Y 128 0 63
def @arg18 253 20 0 Y 128 0 63
def @arg19 253 20 0 Y 128 0 63
def @arg20 253 8192 0 Y 0 31 8
def @arg21 253 8192 0 Y 0 31 8
def @arg22 253 8192 0 Y 0 31 8
@ -2021,25 +2021,25 @@ into @arg01, @arg02, @arg03, @arg04, @arg05, @arg06, @arg07, @arg08,
from t9 where c1= 1 ;
execute full_info ;
Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
def @arg01 253 20 1 Y 128 31 63
def @arg02 253 20 1 Y 128 31 63
def @arg03 253 20 1 Y 128 31 63
def @arg04 253 20 1 Y 128 31 63
def @arg05 253 20 1 Y 128 31 63
def @arg06 253 20 1 Y 128 31 63
def @arg07 253 20 1 Y 128 31 63
def @arg08 253 20 1 Y 128 31 63
def @arg09 253 20 1 Y 128 31 63
def @arg10 253 20 1 Y 128 31 63
def @arg11 253 64 6 Y 128 30 63
def @arg12 253 64 6 Y 128 30 63
def @arg01 253 20 1 Y 128 0 63
def @arg02 253 20 1 Y 128 0 63
def @arg03 253 20 1 Y 128 0 63
def @arg04 253 20 1 Y 128 0 63
def @arg05 253 20 1 Y 128 0 63
def @arg06 253 20 1 Y 128 0 63
def @arg07 253 23 1 Y 128 31 63
def @arg08 253 23 1 Y 128 31 63
def @arg09 253 23 1 Y 128 31 63
def @arg10 253 23 1 Y 128 31 63
def @arg11 253 67 6 Y 128 30 63
def @arg12 253 67 6 Y 128 30 63
def @arg13 253 8192 10 Y 128 31 63
def @arg14 253 8192 19 Y 128 31 63
def @arg15 253 8192 19 Y 128 31 63
def @arg16 253 8192 8 Y 128 31 63
def @arg17 253 20 4 Y 128 31 63
def @arg18 253 20 1 Y 128 31 63
def @arg19 253 20 1 Y 128 31 63
def @arg17 253 20 4 Y 128 0 63
def @arg18 253 20 1 Y 128 0 63
def @arg19 253 20 1 Y 128 0 63
def @arg20 253 8192 1 Y 0 31 8
def @arg21 253 8192 10 Y 0 31 8
def @arg22 253 8192 30 Y 0 31 8
@ -2065,25 +2065,25 @@ into @arg01, @arg02, @arg03, @arg04, @arg05, @arg06, @arg07, @arg08,
from t9 where c1= 0 ;
execute full_info ;
Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
def @arg01 253 20 1 Y 128 31 63
def @arg02 253 20 0 Y 128 31 63
def @arg03 253 20 0 Y 128 31 63
def @arg04 253 20 0 Y 128 31 63
def @arg05 253 20 0 Y 128 31 63
def @arg06 253 20 0 Y 128 31 63
def @arg07 253 20 0 Y 128 31 63
def @arg08 253 20 0 Y 128 31 63
def @arg09 253 20 0 Y 128 31 63
def @arg10 253 20 0 Y 128 31 63
def @arg11 253 64 0 Y 128 30 63
def @arg12 253 64 0 Y 128 30 63
def @arg01 253 20 1 Y 128 0 63
def @arg02 253 20 0 Y 128 0 63
def @arg03 253 20 0 Y 128 0 63
def @arg04 253 20 0 Y 128 0 63
def @arg05 253 20 0 Y 128 0 63
def @arg06 253 20 0 Y 128 0 63
def @arg07 253 23 0 Y 128 31 63
def @arg08 253 23 0 Y 128 31 63
def @arg09 253 23 0 Y 128 31 63
def @arg10 253 23 0 Y 128 31 63
def @arg11 253 67 0 Y 128 30 63
def @arg12 253 67 0 Y 128 30 63
def @arg13 253 8192 0 Y 128 31 63
def @arg14 253 8192 0 Y 128 31 63
def @arg15 253 8192 19 Y 128 31 63
def @arg16 253 8192 0 Y 128 31 63
def @arg17 253 20 0 Y 128 31 63
def @arg18 253 20 0 Y 128 31 63
def @arg19 253 20 0 Y 128 31 63
def @arg17 253 20 0 Y 128 0 63
def @arg18 253 20 0 Y 128 0 63
def @arg19 253 20 0 Y 128 0 63
def @arg20 253 8192 0 Y 0 31 8
def @arg21 253 8192 0 Y 0 31 8
def @arg22 253 8192 0 Y 0 31 8
@ -2111,25 +2111,25 @@ set @my_key= 1 ;
execute stmt1 using @my_key ;
execute full_info ;
Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
def @arg01 253 20 1 Y 128 31 63
def @arg02 253 20 1 Y 128 31 63
def @arg03 253 20 1 Y 128 31 63
def @arg04 253 20 1 Y 128 31 63
def @arg05 253 20 1 Y 128 31 63
def @arg06 253 20 1 Y 128 31 63
def @arg07 253 20 1 Y 128 31 63
def @arg08 253 20 1 Y 128 31 63
def @arg09 253 20 1 Y 128 31 63
def @arg10 253 20 1 Y 128 31 63
def @arg11 253 64 6 Y 128 30 63
def @arg12 253 64 6 Y 128 30 63
def @arg01 253 20 1 Y 128 0 63
def @arg02 253 20 1 Y 128 0 63
def @arg03 253 20 1 Y 128 0 63
def @arg04 253 20 1 Y 128 0 63
def @arg05 253 20 1 Y 128 0 63
def @arg06 253 20 1 Y 128 0 63
def @arg07 253 23 1 Y 128 31 63
def @arg08 253 23 1 Y 128 31 63
def @arg09 253 23 1 Y 128 31 63
def @arg10 253 23 1 Y 128 31 63
def @arg11 253 67 6 Y 128 30 63
def @arg12 253 67 6 Y 128 30 63
def @arg13 253 8192 10 Y 128 31 63
def @arg14 253 8192 19 Y 128 31 63
def @arg15 253 8192 19 Y 128 31 63
def @arg16 253 8192 8 Y 128 31 63
def @arg17 253 20 4 Y 128 31 63
def @arg18 253 20 1 Y 128 31 63
def @arg19 253 20 1 Y 128 31 63
def @arg17 253 20 4 Y 128 0 63
def @arg18 253 20 1 Y 128 0 63
def @arg19 253 20 1 Y 128 0 63
def @arg20 253 8192 1 Y 0 31 8
def @arg21 253 8192 10 Y 0 31 8
def @arg22 253 8192 30 Y 0 31 8
@ -2149,25 +2149,25 @@ set @my_key= 0 ;
execute stmt1 using @my_key ;
execute full_info ;
Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
def @arg01 253 20 1 Y 128 31 63
def @arg02 253 20 0 Y 128 31 63
def @arg03 253 20 0 Y 128 31 63
def @arg04 253 20 0 Y 128 31 63
def @arg05 253 20 0 Y 128 31 63
def @arg06 253 20 0 Y 128 31 63
def @arg07 253 20 0 Y 128 31 63
def @arg08 253 20 0 Y 128 31 63
def @arg09 253 20 0 Y 128 31 63
def @arg10 253 20 0 Y 128 31 63
def @arg11 253 64 0 Y 128 30 63
def @arg12 253 64 0 Y 128 30 63
def @arg01 253 20 1 Y 128 0 63
def @arg02 253 20 0 Y 128 0 63
def @arg03 253 20 0 Y 128 0 63
def @arg04 253 20 0 Y 128 0 63
def @arg05 253 20 0 Y 128 0 63
def @arg06 253 20 0 Y 128 0 63
def @arg07 253 23 0 Y 128 31 63
def @arg08 253 23 0 Y 128 31 63
def @arg09 253 23 0 Y 128 31 63
def @arg10 253 23 0 Y 128 31 63
def @arg11 253 67 0 Y 128 30 63
def @arg12 253 67 0 Y 128 30 63
def @arg13 253 8192 0 Y 128 31 63
def @arg14 253 8192 0 Y 128 31 63
def @arg15 253 8192 19 Y 128 31 63
def @arg16 253 8192 0 Y 128 31 63
def @arg17 253 20 0 Y 128 31 63
def @arg18 253 20 0 Y 128 31 63
def @arg19 253 20 0 Y 128 31 63
def @arg17 253 20 0 Y 128 0 63
def @arg18 253 20 0 Y 128 0 63
def @arg19 253 20 0 Y 128 0 63
def @arg20 253 8192 0 Y 0 31 8
def @arg21 253 8192 0 Y 0 31 8
def @arg22 253 8192 0 Y 0 31 8
@ -3115,8 +3115,8 @@ def test t9 t9 c7 c7 4 12 1 Y 32768 31 63
def test t9 t9 c8 c8 5 22 1 Y 32768 31 63
def test t9 t9 c9 c9 5 22 1 Y 32768 31 63
def test t9 t9 c10 c10 5 22 1 Y 32768 31 63
def test t9 t9 c11 c11 246 7 6 Y 0 4 63
def test t9 t9 c12 c12 246 8 6 Y 0 4 63
def test t9 t9 c11 c11 246 9 6 Y 0 4 63
def test t9 t9 c12 c12 246 10 6 Y 0 4 63
def test t9 t9 c13 c13 10 10 10 Y 128 0 63
def test t9 t9 c14 c14 12 19 19 Y 128 0 63
def test t9 t9 c15 c15 7 19 19 N 1249 0 63
@ -4709,8 +4709,8 @@ Table Create Table
t5 CREATE TABLE `t5` (
`const01` bigint(1) NOT NULL default '0',
`param01` bigint(20) default NULL,
`const02` decimal(3,1) NOT NULL default '0.0',
`param02` decimal(64,30) default NULL,
`const02` decimal(2,1) NOT NULL default '0.0',
`param02` decimal(65,30) default NULL,
`const03` double NOT NULL default '0',
`param03` double default NULL,
`const04` varchar(3) NOT NULL default '',
@ -4731,7 +4731,7 @@ t5 CREATE TABLE `t5` (
`param11` bigint(20) default NULL,
`const12` binary(0) default NULL,
`param12` bigint(20) default NULL,
`param13` decimal(64,30) default NULL,
`param13` decimal(65,30) default NULL,
`param14` longtext,
`param15` longblob
) ENGINE=MyISAM DEFAULT CHARSET=latin1
@ -4739,10 +4739,10 @@ select * from t5 ;
Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
def test t5 t5 const01 const01 8 1 1 N 32769 0 63
def test t5 t5 param01 param01 8 20 1 Y 32768 0 63
def test t5 t5 const02 const02 246 3 3 N 1 1 63
def test t5 t5 param02 param02 246 64 32 Y 0 30 63
def test t5 t5 const02 const02 246 4 3 N 1 1 63
def test t5 t5 param02 param02 246 67 32 Y 0 30 63
def test t5 t5 const03 const03 5 17 1 N 32769 31 63
def test t5 t5 param03 param03 5 20 1 Y 32768 31 63
def test t5 t5 param03 param03 5 23 1 Y 32768 31 63
def test t5 t5 const04 const04 253 3 3 N 1 0 8
def test t5 t5 param04 param04 252 16777215 3 Y 16 0 8
def test t5 t5 const05 const05 253 3 3 N 129 0 63
@ -4761,7 +4761,7 @@ def test t5 t5 const11 const11 3 4 4 Y 32768 0 63
def test t5 t5 param11 param11 8 20 4 Y 32768 0 63
def test t5 t5 const12 const12 254 0 0 Y 128 0 63
def test t5 t5 param12 param12 8 20 0 Y 32768 0 63
def test t5 t5 param13 param13 246 64 0 Y 0 30 63
def test t5 t5 param13 param13 246 67 0 Y 0 30 63
def test t5 t5 param14 param14 252 16777215 0 Y 16 0 8
def test t5 t5 param15 param15 252 16777215 0 Y 144 0 63
const01 8
@ -4849,25 +4849,25 @@ from t9 where c1= 1 ;
1 1 1 1 1 1 1 1 1 1 1.0000 1.0000 2004-02-29 2004-02-29 11:11:11 2004-02-29 11:11:11 11:11:11 2004 1 1 a 123456789a 123456789a123456789b123456789c tinyblob tinytext blob text mediumblob mediumtext longblob longtext one monday
execute full_info ;
Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
def @arg01 253 20 1 Y 128 31 63
def @arg02 253 20 1 Y 128 31 63
def @arg03 253 20 1 Y 128 31 63
def @arg04 253 20 1 Y 128 31 63
def @arg05 253 20 1 Y 128 31 63
def @arg06 253 20 1 Y 128 31 63
def @arg07 253 20 1 Y 128 31 63
def @arg08 253 20 1 Y 128 31 63
def @arg09 253 20 1 Y 128 31 63
def @arg10 253 20 1 Y 128 31 63
def @arg11 253 64 6 Y 128 30 63
def @arg12 253 64 6 Y 128 30 63
def @arg01 253 20 1 Y 128 0 63
def @arg02 253 20 1 Y 128 0 63
def @arg03 253 20 1 Y 128 0 63
def @arg04 253 20 1 Y 128 0 63
def @arg05 253 20 1 Y 128 0 63
def @arg06 253 20 1 Y 128 0 63
def @arg07 253 23 1 Y 128 31 63
def @arg08 253 23 1 Y 128 31 63
def @arg09 253 23 1 Y 128 31 63
def @arg10 253 23 1 Y 128 31 63
def @arg11 253 67 6 Y 128 30 63
def @arg12 253 67 6 Y 128 30 63
def @arg13 253 8192 10 Y 128 31 63
def @arg14 253 8192 19 Y 128 31 63
def @arg15 253 8192 19 Y 128 31 63
def @arg16 253 8192 8 Y 128 31 63
def @arg17 253 20 4 Y 128 31 63
def @arg18 253 20 1 Y 128 31 63
def @arg19 253 20 1 Y 128 31 63
def @arg17 253 20 4 Y 128 0 63
def @arg18 253 20 1 Y 128 0 63
def @arg19 253 20 1 Y 128 0 63
def @arg20 253 8192 1 Y 0 31 8
def @arg21 253 8192 10 Y 0 31 8
def @arg22 253 8192 30 Y 0 31 8
@ -4896,25 +4896,25 @@ from t9 where c1= 0 ;
0 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 1991-01-01 01:01:01 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
execute full_info ;
Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
def @arg01 253 20 1 Y 128 31 63
def @arg02 253 20 0 Y 128 31 63
def @arg03 253 20 0 Y 128 31 63
def @arg04 253 20 0 Y 128 31 63
def @arg05 253 20 0 Y 128 31 63
def @arg06 253 20 0 Y 128 31 63
def @arg07 253 20 0 Y 128 31 63
def @arg08 253 20 0 Y 128 31 63
def @arg09 253 20 0 Y 128 31 63
def @arg10 253 20 0 Y 128 31 63
def @arg11 253 64 0 Y 128 30 63
def @arg12 253 64 0 Y 128 30 63
def @arg01 253 20 1 Y 128 0 63
def @arg02 253 20 0 Y 128 0 63
def @arg03 253 20 0 Y 128 0 63
def @arg04 253 20 0 Y 128 0 63
def @arg05 253 20 0 Y 128 0 63
def @arg06 253 20 0 Y 128 0 63
def @arg07 253 23 0 Y 128 31 63
def @arg08 253 23 0 Y 128 31 63
def @arg09 253 23 0 Y 128 31 63
def @arg10 253 23 0 Y 128 31 63
def @arg11 253 67 0 Y 128 30 63
def @arg12 253 67 0 Y 128 30 63
def @arg13 253 8192 0 Y 128 31 63
def @arg14 253 8192 0 Y 128 31 63
def @arg15 253 8192 19 Y 128 31 63
def @arg16 253 8192 0 Y 128 31 63
def @arg17 253 20 0 Y 128 31 63
def @arg18 253 20 0 Y 128 31 63
def @arg19 253 20 0 Y 128 31 63
def @arg17 253 20 0 Y 128 0 63
def @arg18 253 20 0 Y 128 0 63
def @arg19 253 20 0 Y 128 0 63
def @arg20 253 8192 0 Y 0 31 8
def @arg21 253 8192 0 Y 0 31 8
def @arg22 253 8192 0 Y 0 31 8
@ -4946,25 +4946,25 @@ execute stmt1 using @my_key ;
1 1 1 1 1 1 1 1 1 1 1.0000 1.0000 2004-02-29 2004-02-29 11:11:11 2004-02-29 11:11:11 11:11:11 2004 1 1 a 123456789a 123456789a123456789b123456789c tinyblob tinytext blob text mediumblob mediumtext longblob longtext one monday
execute full_info ;
Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
def @arg01 253 20 1 Y 128 31 63
def @arg02 253 20 1 Y 128 31 63
def @arg03 253 20 1 Y 128 31 63
def @arg04 253 20 1 Y 128 31 63
def @arg05 253 20 1 Y 128 31 63
def @arg06 253 20 1 Y 128 31 63
def @arg07 253 20 1 Y 128 31 63
def @arg08 253 20 1 Y 128 31 63
def @arg09 253 20 1 Y 128 31 63
def @arg10 253 20 1 Y 128 31 63
def @arg11 253 64 6 Y 128 30 63
def @arg12 253 64 6 Y 128 30 63
def @arg01 253 20 1 Y 128 0 63
def @arg02 253 20 1 Y 128 0 63
def @arg03 253 20 1 Y 128 0 63
def @arg04 253 20 1 Y 128 0 63
def @arg05 253 20 1 Y 128 0 63
def @arg06 253 20 1 Y 128 0 63
def @arg07 253 23 1 Y 128 31 63
def @arg08 253 23 1 Y 128 31 63
def @arg09 253 23 1 Y 128 31 63
def @arg10 253 23 1 Y 128 31 63
def @arg11 253 67 6 Y 128 30 63
def @arg12 253 67 6 Y 128 30 63
def @arg13 253 8192 10 Y 128 31 63
def @arg14 253 8192 19 Y 128 31 63
def @arg15 253 8192 19 Y 128 31 63
def @arg16 253 8192 8 Y 128 31 63
def @arg17 253 20 4 Y 128 31 63
def @arg18 253 20 1 Y 128 31 63
def @arg19 253 20 1 Y 128 31 63
def @arg17 253 20 4 Y 128 0 63
def @arg18 253 20 1 Y 128 0 63
def @arg19 253 20 1 Y 128 0 63
def @arg20 253 8192 1 Y 0 31 8
def @arg21 253 8192 10 Y 0 31 8
def @arg22 253 8192 30 Y 0 31 8
@ -4986,25 +4986,25 @@ execute stmt1 using @my_key ;
0 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 1991-01-01 01:01:01 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
execute full_info ;
Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
def @arg01 253 20 1 Y 128 31 63
def @arg02 253 20 0 Y 128 31 63
def @arg03 253 20 0 Y 128 31 63
def @arg04 253 20 0 Y 128 31 63
def @arg05 253 20 0 Y 128 31 63
def @arg06 253 20 0 Y 128 31 63
def @arg07 253 20 0 Y 128 31 63
def @arg08 253 20 0 Y 128 31 63
def @arg09 253 20 0 Y 128 31 63
def @arg10 253 20 0 Y 128 31 63
def @arg11 253 64 0 Y 128 30 63
def @arg12 253 64 0 Y 128 30 63
def @arg01 253 20 1 Y 128 0 63
def @arg02 253 20 0 Y 128 0 63
def @arg03 253 20 0 Y 128 0 63
def @arg04 253 20 0 Y 128 0 63
def @arg05 253 20 0 Y 128 0 63
def @arg06 253 20 0 Y 128 0 63
def @arg07 253 23 0 Y 128 31 63
def @arg08 253 23 0 Y 128 31 63
def @arg09 253 23 0 Y 128 31 63
def @arg10 253 23 0 Y 128 31 63
def @arg11 253 67 0 Y 128 30 63
def @arg12 253 67 0 Y 128 30 63
def @arg13 253 8192 0 Y 128 31 63
def @arg14 253 8192 0 Y 128 31 63
def @arg15 253 8192 19 Y 128 31 63
def @arg16 253 8192 0 Y 128 31 63
def @arg17 253 20 0 Y 128 31 63
def @arg18 253 20 0 Y 128 31 63
def @arg19 253 20 0 Y 128 31 63
def @arg17 253 20 0 Y 128 0 63
def @arg18 253 20 0 Y 128 0 63
def @arg19 253 20 0 Y 128 0 63
def @arg20 253 8192 0 Y 0 31 8
def @arg21 253 8192 0 Y 0 31 8
def @arg22 253 8192 0 Y 0 31 8
@ -5034,25 +5034,25 @@ into @arg01, @arg02, @arg03, @arg04, @arg05, @arg06, @arg07, @arg08,
from t9 where c1= 1 ;
execute full_info ;
Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
def @arg01 253 20 1 Y 128 31 63
def @arg02 253 20 1 Y 128 31 63
def @arg03 253 20 1 Y 128 31 63
def @arg04 253 20 1 Y 128 31 63
def @arg05 253 20 1 Y 128 31 63
def @arg06 253 20 1 Y 128 31 63
def @arg07 253 20 1 Y 128 31 63
def @arg08 253 20 1 Y 128 31 63
def @arg09 253 20 1 Y 128 31 63
def @arg10 253 20 1 Y 128 31 63
def @arg11 253 64 6 Y 128 30 63
def @arg12 253 64 6 Y 128 30 63
def @arg01 253 20 1 Y 128 0 63
def @arg02 253 20 1 Y 128 0 63
def @arg03 253 20 1 Y 128 0 63
def @arg04 253 20 1 Y 128 0 63
def @arg05 253 20 1 Y 128 0 63
def @arg06 253 20 1 Y 128 0 63
def @arg07 253 23 1 Y 128 31 63
def @arg08 253 23 1 Y 128 31 63
def @arg09 253 23 1 Y 128 31 63
def @arg10 253 23 1 Y 128 31 63
def @arg11 253 67 6 Y 128 30 63
def @arg12 253 67 6 Y 128 30 63
def @arg13 253 8192 10 Y 128 31 63
def @arg14 253 8192 19 Y 128 31 63
def @arg15 253 8192 19 Y 128 31 63
def @arg16 253 8192 8 Y 128 31 63
def @arg17 253 20 4 Y 128 31 63
def @arg18 253 20 1 Y 128 31 63
def @arg19 253 20 1 Y 128 31 63
def @arg17 253 20 4 Y 128 0 63
def @arg18 253 20 1 Y 128 0 63
def @arg19 253 20 1 Y 128 0 63
def @arg20 253 8192 1 Y 0 31 8
def @arg21 253 8192 10 Y 0 31 8
def @arg22 253 8192 30 Y 0 31 8
@ -5078,25 +5078,25 @@ into @arg01, @arg02, @arg03, @arg04, @arg05, @arg06, @arg07, @arg08,
from t9 where c1= 0 ;
execute full_info ;
Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
def @arg01 253 20 1 Y 128 31 63
def @arg02 253 20 0 Y 128 31 63
def @arg03 253 20 0 Y 128 31 63
def @arg04 253 20 0 Y 128 31 63
def @arg05 253 20 0 Y 128 31 63
def @arg06 253 20 0 Y 128 31 63
def @arg07 253 20 0 Y 128 31 63
def @arg08 253 20 0 Y 128 31 63
def @arg09 253 20 0 Y 128 31 63
def @arg10 253 20 0 Y 128 31 63
def @arg11 253 64 0 Y 128 30 63
def @arg12 253 64 0 Y 128 30 63
def @arg01 253 20 1 Y 128 0 63
def @arg02 253 20 0 Y 128 0 63
def @arg03 253 20 0 Y 128 0 63
def @arg04 253 20 0 Y 128 0 63
def @arg05 253 20 0 Y 128 0 63
def @arg06 253 20 0 Y 128 0 63
def @arg07 253 23 0 Y 128 31 63
def @arg08 253 23 0 Y 128 31 63
def @arg09 253 23 0 Y 128 31 63
def @arg10 253 23 0 Y 128 31 63
def @arg11 253 67 0 Y 128 30 63
def @arg12 253 67 0 Y 128 30 63
def @arg13 253 8192 0 Y 128 31 63
def @arg14 253 8192 0 Y 128 31 63
def @arg15 253 8192 19 Y 128 31 63
def @arg16 253 8192 0 Y 128 31 63
def @arg17 253 20 0 Y 128 31 63
def @arg18 253 20 0 Y 128 31 63
def @arg19 253 20 0 Y 128 31 63
def @arg17 253 20 0 Y 128 0 63
def @arg18 253 20 0 Y 128 0 63
def @arg19 253 20 0 Y 128 0 63
def @arg20 253 8192 0 Y 0 31 8
def @arg21 253 8192 0 Y 0 31 8
def @arg22 253 8192 0 Y 0 31 8
@ -5124,25 +5124,25 @@ set @my_key= 1 ;
execute stmt1 using @my_key ;
execute full_info ;
Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
def @arg01 253 20 1 Y 128 31 63
def @arg02 253 20 1 Y 128 31 63
def @arg03 253 20 1 Y 128 31 63
def @arg04 253 20 1 Y 128 31 63
def @arg05 253 20 1 Y 128 31 63
def @arg06 253 20 1 Y 128 31 63
def @arg07 253 20 1 Y 128 31 63
def @arg08 253 20 1 Y 128 31 63
def @arg09 253 20 1 Y 128 31 63
def @arg10 253 20 1 Y 128 31 63
def @arg11 253 64 6 Y 128 30 63
def @arg12 253 64 6 Y 128 30 63
def @arg01 253 20 1 Y 128 0 63
def @arg02 253 20 1 Y 128 0 63
def @arg03 253 20 1 Y 128 0 63
def @arg04 253 20 1 Y 128 0 63
def @arg05 253 20 1 Y 128 0 63
def @arg06 253 20 1 Y 128 0 63
def @arg07 253 23 1 Y 128 31 63
def @arg08 253 23 1 Y 128 31 63
def @arg09 253 23 1 Y 128 31 63
def @arg10 253 23 1 Y 128 31 63
def @arg11 253 67 6 Y 128 30 63
def @arg12 253 67 6 Y 128 30 63
def @arg13 253 8192 10 Y 128 31 63
def @arg14 253 8192 19 Y 128 31 63
def @arg15 253 8192 19 Y 128 31 63
def @arg16 253 8192 8 Y 128 31 63
def @arg17 253 20 4 Y 128 31 63
def @arg18 253 20 1 Y 128 31 63
def @arg19 253 20 1 Y 128 31 63
def @arg17 253 20 4 Y 128 0 63
def @arg18 253 20 1 Y 128 0 63
def @arg19 253 20 1 Y 128 0 63
def @arg20 253 8192 1 Y 0 31 8
def @arg21 253 8192 10 Y 0 31 8
def @arg22 253 8192 30 Y 0 31 8
@ -5162,25 +5162,25 @@ set @my_key= 0 ;
execute stmt1 using @my_key ;
execute full_info ;
Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
def @arg01 253 20 1 Y 128 31 63
def @arg02 253 20 0 Y 128 31 63
def @arg03 253 20 0 Y 128 31 63
def @arg04 253 20 0 Y 128 31 63
def @arg05 253 20 0 Y 128 31 63
def @arg06 253 20 0 Y 128 31 63
def @arg07 253 20 0 Y 128 31 63
def @arg08 253 20 0 Y 128 31 63
def @arg09 253 20 0 Y 128 31 63
def @arg10 253 20 0 Y 128 31 63
def @arg11 253 64 0 Y 128 30 63
def @arg12 253 64 0 Y 128 30 63
def @arg01 253 20 1 Y 128 0 63
def @arg02 253 20 0 Y 128 0 63
def @arg03 253 20 0 Y 128 0 63
def @arg04 253 20 0 Y 128 0 63
def @arg05 253 20 0 Y 128 0 63
def @arg06 253 20 0 Y 128 0 63
def @arg07 253 23 0 Y 128 31 63
def @arg08 253 23 0 Y 128 31 63
def @arg09 253 23 0 Y 128 31 63
def @arg10 253 23 0 Y 128 31 63
def @arg11 253 67 0 Y 128 30 63
def @arg12 253 67 0 Y 128 30 63
def @arg13 253 8192 0 Y 128 31 63
def @arg14 253 8192 0 Y 128 31 63
def @arg15 253 8192 19 Y 128 31 63
def @arg16 253 8192 0 Y 128 31 63
def @arg17 253 20 0 Y 128 31 63
def @arg18 253 20 0 Y 128 31 63
def @arg19 253 20 0 Y 128 31 63
def @arg17 253 20 0 Y 128 0 63
def @arg18 253 20 0 Y 128 0 63
def @arg19 253 20 0 Y 128 0 63
def @arg20 253 8192 0 Y 0 31 8
def @arg21 253 8192 0 Y 0 31 8
def @arg22 253 8192 0 Y 0 31 8

View file

@ -59,8 +59,8 @@ def test t9 t9 c7 c7 4 12 1 Y 32768 31 63
def test t9 t9 c8 c8 5 22 1 Y 32768 31 63
def test t9 t9 c9 c9 5 22 1 Y 32768 31 63
def test t9 t9 c10 c10 5 22 1 Y 32768 31 63
def test t9 t9 c11 c11 246 7 6 Y 0 4 63
def test t9 t9 c12 c12 246 8 6 Y 0 4 63
def test t9 t9 c11 c11 246 9 6 Y 0 4 63
def test t9 t9 c12 c12 246 10 6 Y 0 4 63
def test t9 t9 c13 c13 10 10 10 Y 128 0 63
def test t9 t9 c14 c14 12 19 19 Y 128 0 63
def test t9 t9 c15 c15 7 19 19 N 1249 0 63
@ -1759,8 +1759,8 @@ Table Create Table
t5 CREATE TABLE `t5` (
`const01` bigint(1) NOT NULL default '0',
`param01` bigint(20) default NULL,
`const02` decimal(3,1) NOT NULL default '0.0',
`param02` decimal(64,30) default NULL,
`const02` decimal(2,1) NOT NULL default '0.0',
`param02` decimal(65,30) default NULL,
`const03` double NOT NULL default '0',
`param03` double default NULL,
`const04` varchar(3) NOT NULL default '',
@ -1781,7 +1781,7 @@ t5 CREATE TABLE `t5` (
`param11` bigint(20) default NULL,
`const12` binary(0) default NULL,
`param12` bigint(20) default NULL,
`param13` decimal(64,30) default NULL,
`param13` decimal(65,30) default NULL,
`param14` longtext,
`param15` longblob
) ENGINE=MyISAM DEFAULT CHARSET=latin1
@ -1789,10 +1789,10 @@ select * from t5 ;
Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
def test t5 t5 const01 const01 8 1 1 N 32769 0 63
def test t5 t5 param01 param01 8 20 1 Y 32768 0 63
def test t5 t5 const02 const02 246 3 3 N 1 1 63
def test t5 t5 param02 param02 246 64 32 Y 0 30 63
def test t5 t5 const02 const02 246 4 3 N 1 1 63
def test t5 t5 param02 param02 246 67 32 Y 0 30 63
def test t5 t5 const03 const03 5 17 1 N 32769 31 63
def test t5 t5 param03 param03 5 20 1 Y 32768 31 63
def test t5 t5 param03 param03 5 23 1 Y 32768 31 63
def test t5 t5 const04 const04 253 3 3 N 1 0 8
def test t5 t5 param04 param04 252 16777215 3 Y 16 0 8
def test t5 t5 const05 const05 253 3 3 N 129 0 63
@ -1811,7 +1811,7 @@ def test t5 t5 const11 const11 3 4 4 Y 32768 0 63
def test t5 t5 param11 param11 8 20 4 Y 32768 0 63
def test t5 t5 const12 const12 254 0 0 Y 128 0 63
def test t5 t5 param12 param12 8 20 0 Y 32768 0 63
def test t5 t5 param13 param13 246 64 0 Y 0 30 63
def test t5 t5 param13 param13 246 67 0 Y 0 30 63
def test t5 t5 param14 param14 252 16777215 0 Y 16 0 8
def test t5 t5 param15 param15 252 16777215 0 Y 144 0 63
const01 8
@ -1899,25 +1899,25 @@ from t9 where c1= 1 ;
1 1 1 1 1 1 1 1 1 1 1.0000 1.0000 2004-02-29 2004-02-29 11:11:11 2004-02-29 11:11:11 11:11:11 2004 1 1 a 123456789a 123456789a123456789b123456789c tinyblob tinytext blob text mediumblob mediumtext longblob longtext one monday
execute full_info ;
Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
def @arg01 253 20 1 Y 128 31 63
def @arg02 253 20 1 Y 128 31 63
def @arg03 253 20 1 Y 128 31 63
def @arg04 253 20 1 Y 128 31 63
def @arg05 253 20 1 Y 128 31 63
def @arg06 253 20 1 Y 128 31 63
def @arg07 253 20 1 Y 128 31 63
def @arg08 253 20 1 Y 128 31 63
def @arg09 253 20 1 Y 128 31 63
def @arg10 253 20 1 Y 128 31 63
def @arg11 253 64 6 Y 128 30 63
def @arg12 253 64 6 Y 128 30 63
def @arg01 253 20 1 Y 128 0 63
def @arg02 253 20 1 Y 128 0 63
def @arg03 253 20 1 Y 128 0 63
def @arg04 253 20 1 Y 128 0 63
def @arg05 253 20 1 Y 128 0 63
def @arg06 253 20 1 Y 128 0 63
def @arg07 253 23 1 Y 128 31 63
def @arg08 253 23 1 Y 128 31 63
def @arg09 253 23 1 Y 128 31 63
def @arg10 253 23 1 Y 128 31 63
def @arg11 253 67 6 Y 128 30 63
def @arg12 253 67 6 Y 128 30 63
def @arg13 253 8192 10 Y 128 31 63
def @arg14 253 8192 19 Y 128 31 63
def @arg15 253 8192 19 Y 128 31 63
def @arg16 253 8192 8 Y 128 31 63
def @arg17 253 20 4 Y 128 31 63
def @arg18 253 20 1 Y 128 31 63
def @arg19 253 20 1 Y 128 31 63
def @arg17 253 20 4 Y 128 0 63
def @arg18 253 20 1 Y 128 0 63
def @arg19 253 20 1 Y 128 0 63
def @arg20 253 8192 1 Y 0 31 8
def @arg21 253 8192 10 Y 0 31 8
def @arg22 253 8192 30 Y 0 31 8
@ -1946,25 +1946,25 @@ from t9 where c1= 0 ;
0 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 1991-01-01 01:01:01 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
execute full_info ;
Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
def @arg01 253 20 1 Y 128 31 63
def @arg02 253 20 0 Y 128 31 63
def @arg03 253 20 0 Y 128 31 63
def @arg04 253 20 0 Y 128 31 63
def @arg05 253 20 0 Y 128 31 63
def @arg06 253 20 0 Y 128 31 63
def @arg07 253 20 0 Y 128 31 63
def @arg08 253 20 0 Y 128 31 63
def @arg09 253 20 0 Y 128 31 63
def @arg10 253 20 0 Y 128 31 63
def @arg11 253 64 0 Y 128 30 63
def @arg12 253 64 0 Y 128 30 63
def @arg01 253 20 1 Y 128 0 63
def @arg02 253 20 0 Y 128 0 63
def @arg03 253 20 0 Y 128 0 63
def @arg04 253 20 0 Y 128 0 63
def @arg05 253 20 0 Y 128 0 63
def @arg06 253 20 0 Y 128 0 63
def @arg07 253 23 0 Y 128 31 63
def @arg08 253 23 0 Y 128 31 63
def @arg09 253 23 0 Y 128 31 63
def @arg10 253 23 0 Y 128 31 63
def @arg11 253 67 0 Y 128 30 63
def @arg12 253 67 0 Y 128 30 63
def @arg13 253 8192 0 Y 128 31 63
def @arg14 253 8192 0 Y 128 31 63
def @arg15 253 8192 19 Y 128 31 63
def @arg16 253 8192 0 Y 128 31 63
def @arg17 253 20 0 Y 128 31 63
def @arg18 253 20 0 Y 128 31 63
def @arg19 253 20 0 Y 128 31 63
def @arg17 253 20 0 Y 128 0 63
def @arg18 253 20 0 Y 128 0 63
def @arg19 253 20 0 Y 128 0 63
def @arg20 253 8192 0 Y 0 31 8
def @arg21 253 8192 0 Y 0 31 8
def @arg22 253 8192 0 Y 0 31 8
@ -1996,25 +1996,25 @@ execute stmt1 using @my_key ;
1 1 1 1 1 1 1 1 1 1 1.0000 1.0000 2004-02-29 2004-02-29 11:11:11 2004-02-29 11:11:11 11:11:11 2004 1 1 a 123456789a 123456789a123456789b123456789c tinyblob tinytext blob text mediumblob mediumtext longblob longtext one monday
execute full_info ;
Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
def @arg01 253 20 1 Y 128 31 63
def @arg02 253 20 1 Y 128 31 63
def @arg03 253 20 1 Y 128 31 63
def @arg04 253 20 1 Y 128 31 63
def @arg05 253 20 1 Y 128 31 63
def @arg06 253 20 1 Y 128 31 63
def @arg07 253 20 1 Y 128 31 63
def @arg08 253 20 1 Y 128 31 63
def @arg09 253 20 1 Y 128 31 63
def @arg10 253 20 1 Y 128 31 63
def @arg11 253 64 6 Y 128 30 63
def @arg12 253 64 6 Y 128 30 63
def @arg01 253 20 1 Y 128 0 63
def @arg02 253 20 1 Y 128 0 63
def @arg03 253 20 1 Y 128 0 63
def @arg04 253 20 1 Y 128 0 63
def @arg05 253 20 1 Y 128 0 63
def @arg06 253 20 1 Y 128 0 63
def @arg07 253 23 1 Y 128 31 63
def @arg08 253 23 1 Y 128 31 63
def @arg09 253 23 1 Y 128 31 63
def @arg10 253 23 1 Y 128 31 63
def @arg11 253 67 6 Y 128 30 63
def @arg12 253 67 6 Y 128 30 63
def @arg13 253 8192 10 Y 128 31 63
def @arg14 253 8192 19 Y 128 31 63
def @arg15 253 8192 19 Y 128 31 63
def @arg16 253 8192 8 Y 128 31 63
def @arg17 253 20 4 Y 128 31 63
def @arg18 253 20 1 Y 128 31 63
def @arg19 253 20 1 Y 128 31 63
def @arg17 253 20 4 Y 128 0 63
def @arg18 253 20 1 Y 128 0 63
def @arg19 253 20 1 Y 128 0 63
def @arg20 253 8192 1 Y 0 31 8
def @arg21 253 8192 10 Y 0 31 8
def @arg22 253 8192 30 Y 0 31 8
@ -2036,25 +2036,25 @@ execute stmt1 using @my_key ;
0 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 1991-01-01 01:01:01 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
execute full_info ;
Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
def @arg01 253 20 1 Y 128 31 63
def @arg02 253 20 0 Y 128 31 63
def @arg03 253 20 0 Y 128 31 63
def @arg04 253 20 0 Y 128 31 63
def @arg05 253 20 0 Y 128 31 63
def @arg06 253 20 0 Y 128 31 63
def @arg07 253 20 0 Y 128 31 63
def @arg08 253 20 0 Y 128 31 63
def @arg09 253 20 0 Y 128 31 63
def @arg10 253 20 0 Y 128 31 63
def @arg11 253 64 0 Y 128 30 63
def @arg12 253 64 0 Y 128 30 63
def @arg01 253 20 1 Y 128 0 63
def @arg02 253 20 0 Y 128 0 63
def @arg03 253 20 0 Y 128 0 63
def @arg04 253 20 0 Y 128 0 63
def @arg05 253 20 0 Y 128 0 63
def @arg06 253 20 0 Y 128 0 63
def @arg07 253 23 0 Y 128 31 63
def @arg08 253 23 0 Y 128 31 63
def @arg09 253 23 0 Y 128 31 63
def @arg10 253 23 0 Y 128 31 63
def @arg11 253 67 0 Y 128 30 63
def @arg12 253 67 0 Y 128 30 63
def @arg13 253 8192 0 Y 128 31 63
def @arg14 253 8192 0 Y 128 31 63
def @arg15 253 8192 19 Y 128 31 63
def @arg16 253 8192 0 Y 128 31 63
def @arg17 253 20 0 Y 128 31 63
def @arg18 253 20 0 Y 128 31 63
def @arg19 253 20 0 Y 128 31 63
def @arg17 253 20 0 Y 128 0 63
def @arg18 253 20 0 Y 128 0 63
def @arg19 253 20 0 Y 128 0 63
def @arg20 253 8192 0 Y 0 31 8
def @arg21 253 8192 0 Y 0 31 8
def @arg22 253 8192 0 Y 0 31 8
@ -2084,25 +2084,25 @@ into @arg01, @arg02, @arg03, @arg04, @arg05, @arg06, @arg07, @arg08,
from t9 where c1= 1 ;
execute full_info ;
Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
def @arg01 253 20 1 Y 128 31 63
def @arg02 253 20 1 Y 128 31 63
def @arg03 253 20 1 Y 128 31 63
def @arg04 253 20 1 Y 128 31 63
def @arg05 253 20 1 Y 128 31 63
def @arg06 253 20 1 Y 128 31 63
def @arg07 253 20 1 Y 128 31 63
def @arg08 253 20 1 Y 128 31 63
def @arg09 253 20 1 Y 128 31 63
def @arg10 253 20 1 Y 128 31 63
def @arg11 253 64 6 Y 128 30 63
def @arg12 253 64 6 Y 128 30 63
def @arg01 253 20 1 Y 128 0 63
def @arg02 253 20 1 Y 128 0 63
def @arg03 253 20 1 Y 128 0 63
def @arg04 253 20 1 Y 128 0 63
def @arg05 253 20 1 Y 128 0 63
def @arg06 253 20 1 Y 128 0 63
def @arg07 253 23 1 Y 128 31 63
def @arg08 253 23 1 Y 128 31 63
def @arg09 253 23 1 Y 128 31 63
def @arg10 253 23 1 Y 128 31 63
def @arg11 253 67 6 Y 128 30 63
def @arg12 253 67 6 Y 128 30 63
def @arg13 253 8192 10 Y 128 31 63
def @arg14 253 8192 19 Y 128 31 63
def @arg15 253 8192 19 Y 128 31 63
def @arg16 253 8192 8 Y 128 31 63
def @arg17 253 20 4 Y 128 31 63
def @arg18 253 20 1 Y 128 31 63
def @arg19 253 20 1 Y 128 31 63
def @arg17 253 20 4 Y 128 0 63
def @arg18 253 20 1 Y 128 0 63
def @arg19 253 20 1 Y 128 0 63
def @arg20 253 8192 1 Y 0 31 8
def @arg21 253 8192 10 Y 0 31 8
def @arg22 253 8192 30 Y 0 31 8
@ -2128,25 +2128,25 @@ into @arg01, @arg02, @arg03, @arg04, @arg05, @arg06, @arg07, @arg08,
from t9 where c1= 0 ;
execute full_info ;
Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
def @arg01 253 20 1 Y 128 31 63
def @arg02 253 20 0 Y 128 31 63
def @arg03 253 20 0 Y 128 31 63
def @arg04 253 20 0 Y 128 31 63
def @arg05 253 20 0 Y 128 31 63
def @arg06 253 20 0 Y 128 31 63
def @arg07 253 20 0 Y 128 31 63
def @arg08 253 20 0 Y 128 31 63
def @arg09 253 20 0 Y 128 31 63
def @arg10 253 20 0 Y 128 31 63
def @arg11 253 64 0 Y 128 30 63
def @arg12 253 64 0 Y 128 30 63
def @arg01 253 20 1 Y 128 0 63
def @arg02 253 20 0 Y 128 0 63
def @arg03 253 20 0 Y 128 0 63
def @arg04 253 20 0 Y 128 0 63
def @arg05 253 20 0 Y 128 0 63
def @arg06 253 20 0 Y 128 0 63
def @arg07 253 23 0 Y 128 31 63
def @arg08 253 23 0 Y 128 31 63
def @arg09 253 23 0 Y 128 31 63
def @arg10 253 23 0 Y 128 31 63
def @arg11 253 67 0 Y 128 30 63
def @arg12 253 67 0 Y 128 30 63
def @arg13 253 8192 0 Y 128 31 63
def @arg14 253 8192 0 Y 128 31 63
def @arg15 253 8192 19 Y 128 31 63
def @arg16 253 8192 0 Y 128 31 63
def @arg17 253 20 0 Y 128 31 63
def @arg18 253 20 0 Y 128 31 63
def @arg19 253 20 0 Y 128 31 63
def @arg17 253 20 0 Y 128 0 63
def @arg18 253 20 0 Y 128 0 63
def @arg19 253 20 0 Y 128 0 63
def @arg20 253 8192 0 Y 0 31 8
def @arg21 253 8192 0 Y 0 31 8
def @arg22 253 8192 0 Y 0 31 8
@ -2174,25 +2174,25 @@ set @my_key= 1 ;
execute stmt1 using @my_key ;
execute full_info ;
Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
def @arg01 253 20 1 Y 128 31 63
def @arg02 253 20 1 Y 128 31 63
def @arg03 253 20 1 Y 128 31 63
def @arg04 253 20 1 Y 128 31 63
def @arg05 253 20 1 Y 128 31 63
def @arg06 253 20 1 Y 128 31 63
def @arg07 253 20 1 Y 128 31 63
def @arg08 253 20 1 Y 128 31 63
def @arg09 253 20 1 Y 128 31 63
def @arg10 253 20 1 Y 128 31 63
def @arg11 253 64 6 Y 128 30 63
def @arg12 253 64 6 Y 128 30 63
def @arg01 253 20 1 Y 128 0 63
def @arg02 253 20 1 Y 128 0 63
def @arg03 253 20 1 Y 128 0 63
def @arg04 253 20 1 Y 128 0 63
def @arg05 253 20 1 Y 128 0 63
def @arg06 253 20 1 Y 128 0 63
def @arg07 253 23 1 Y 128 31 63
def @arg08 253 23 1 Y 128 31 63
def @arg09 253 23 1 Y 128 31 63
def @arg10 253 23 1 Y 128 31 63
def @arg11 253 67 6 Y 128 30 63
def @arg12 253 67 6 Y 128 30 63
def @arg13 253 8192 10 Y 128 31 63
def @arg14 253 8192 19 Y 128 31 63
def @arg15 253 8192 19 Y 128 31 63
def @arg16 253 8192 8 Y 128 31 63
def @arg17 253 20 4 Y 128 31 63
def @arg18 253 20 1 Y 128 31 63
def @arg19 253 20 1 Y 128 31 63
def @arg17 253 20 4 Y 128 0 63
def @arg18 253 20 1 Y 128 0 63
def @arg19 253 20 1 Y 128 0 63
def @arg20 253 8192 1 Y 0 31 8
def @arg21 253 8192 10 Y 0 31 8
def @arg22 253 8192 30 Y 0 31 8
@ -2212,25 +2212,25 @@ set @my_key= 0 ;
execute stmt1 using @my_key ;
execute full_info ;
Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
def @arg01 253 20 1 Y 128 31 63
def @arg02 253 20 0 Y 128 31 63
def @arg03 253 20 0 Y 128 31 63
def @arg04 253 20 0 Y 128 31 63
def @arg05 253 20 0 Y 128 31 63
def @arg06 253 20 0 Y 128 31 63
def @arg07 253 20 0 Y 128 31 63
def @arg08 253 20 0 Y 128 31 63
def @arg09 253 20 0 Y 128 31 63
def @arg10 253 20 0 Y 128 31 63
def @arg11 253 64 0 Y 128 30 63
def @arg12 253 64 0 Y 128 30 63
def @arg01 253 20 1 Y 128 0 63
def @arg02 253 20 0 Y 128 0 63
def @arg03 253 20 0 Y 128 0 63
def @arg04 253 20 0 Y 128 0 63
def @arg05 253 20 0 Y 128 0 63
def @arg06 253 20 0 Y 128 0 63
def @arg07 253 23 0 Y 128 31 63
def @arg08 253 23 0 Y 128 31 63
def @arg09 253 23 0 Y 128 31 63
def @arg10 253 23 0 Y 128 31 63
def @arg11 253 67 0 Y 128 30 63
def @arg12 253 67 0 Y 128 30 63
def @arg13 253 8192 0 Y 128 31 63
def @arg14 253 8192 0 Y 128 31 63
def @arg15 253 8192 19 Y 128 31 63
def @arg16 253 8192 0 Y 128 31 63
def @arg17 253 20 0 Y 128 31 63
def @arg18 253 20 0 Y 128 31 63
def @arg19 253 20 0 Y 128 31 63
def @arg17 253 20 0 Y 128 0 63
def @arg18 253 20 0 Y 128 0 63
def @arg19 253 20 0 Y 128 0 63
def @arg20 253 8192 0 Y 0 31 8
def @arg21 253 8192 0 Y 0 31 8
def @arg22 253 8192 0 Y 0 31 8

View file

@ -59,8 +59,8 @@ def test t9 t9 c7 c7 4 12 1 Y 32768 31 63
def test t9 t9 c8 c8 5 22 1 Y 32768 31 63
def test t9 t9 c9 c9 5 22 1 Y 32768 31 63
def test t9 t9 c10 c10 5 22 1 Y 32768 31 63
def test t9 t9 c11 c11 246 7 6 Y 0 4 63
def test t9 t9 c12 c12 246 8 6 Y 0 4 63
def test t9 t9 c11 c11 246 9 6 Y 0 4 63
def test t9 t9 c12 c12 246 10 6 Y 0 4 63
def test t9 t9 c13 c13 10 10 10 Y 128 0 63
def test t9 t9 c14 c14 12 19 19 Y 128 0 63
def test t9 t9 c15 c15 7 19 19 N 1249 0 63
@ -1759,8 +1759,8 @@ Table Create Table
t5 CREATE TABLE `t5` (
`const01` bigint(1) NOT NULL default '0',
`param01` bigint(20) default NULL,
`const02` decimal(3,1) NOT NULL default '0.0',
`param02` decimal(64,30) default NULL,
`const02` decimal(2,1) NOT NULL default '0.0',
`param02` decimal(65,30) default NULL,
`const03` double NOT NULL default '0',
`param03` double default NULL,
`const04` varchar(3) NOT NULL default '',
@ -1781,7 +1781,7 @@ t5 CREATE TABLE `t5` (
`param11` bigint(20) default NULL,
`const12` binary(0) default NULL,
`param12` bigint(20) default NULL,
`param13` decimal(64,30) default NULL,
`param13` decimal(65,30) default NULL,
`param14` longtext,
`param15` longblob
) ENGINE=MyISAM DEFAULT CHARSET=latin1
@ -1789,10 +1789,10 @@ select * from t5 ;
Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
def test t5 t5 const01 const01 8 1 1 N 32769 0 63
def test t5 t5 param01 param01 8 20 1 Y 32768 0 63
def test t5 t5 const02 const02 246 3 3 N 1 1 63
def test t5 t5 param02 param02 246 64 32 Y 0 30 63
def test t5 t5 const02 const02 246 4 3 N 1 1 63
def test t5 t5 param02 param02 246 67 32 Y 0 30 63
def test t5 t5 const03 const03 5 17 1 N 32769 31 63
def test t5 t5 param03 param03 5 20 1 Y 32768 31 63
def test t5 t5 param03 param03 5 23 1 Y 32768 31 63
def test t5 t5 const04 const04 253 3 3 N 1 0 8
def test t5 t5 param04 param04 252 16777215 3 Y 16 0 8
def test t5 t5 const05 const05 253 3 3 N 129 0 63
@ -1811,7 +1811,7 @@ def test t5 t5 const11 const11 3 4 4 Y 32768 0 63
def test t5 t5 param11 param11 8 20 4 Y 32768 0 63
def test t5 t5 const12 const12 254 0 0 Y 128 0 63
def test t5 t5 param12 param12 8 20 0 Y 32768 0 63
def test t5 t5 param13 param13 246 64 0 Y 0 30 63
def test t5 t5 param13 param13 246 67 0 Y 0 30 63
def test t5 t5 param14 param14 252 16777215 0 Y 16 0 8
def test t5 t5 param15 param15 252 16777215 0 Y 144 0 63
const01 8
@ -1899,25 +1899,25 @@ from t9 where c1= 1 ;
1 1 1 1 1 1 1 1 1 1 1.0000 1.0000 2004-02-29 2004-02-29 11:11:11 2004-02-29 11:11:11 11:11:11 2004 1 1 a 123456789a 123456789a123456789b123456789c tinyblob tinytext blob text mediumblob mediumtext longblob longtext one monday
execute full_info ;
Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
def @arg01 253 20 1 Y 128 31 63
def @arg02 253 20 1 Y 128 31 63
def @arg03 253 20 1 Y 128 31 63
def @arg04 253 20 1 Y 128 31 63
def @arg05 253 20 1 Y 128 31 63
def @arg06 253 20 1 Y 128 31 63
def @arg07 253 20 1 Y 128 31 63
def @arg08 253 20 1 Y 128 31 63
def @arg09 253 20 1 Y 128 31 63
def @arg10 253 20 1 Y 128 31 63
def @arg11 253 64 6 Y 128 30 63
def @arg12 253 64 6 Y 128 30 63
def @arg01 253 20 1 Y 128 0 63
def @arg02 253 20 1 Y 128 0 63
def @arg03 253 20 1 Y 128 0 63
def @arg04 253 20 1 Y 128 0 63
def @arg05 253 20 1 Y 128 0 63
def @arg06 253 20 1 Y 128 0 63
def @arg07 253 23 1 Y 128 31 63
def @arg08 253 23 1 Y 128 31 63
def @arg09 253 23 1 Y 128 31 63
def @arg10 253 23 1 Y 128 31 63
def @arg11 253 67 6 Y 128 30 63
def @arg12 253 67 6 Y 128 30 63
def @arg13 253 8192 10 Y 128 31 63
def @arg14 253 8192 19 Y 128 31 63
def @arg15 253 8192 19 Y 128 31 63
def @arg16 253 8192 8 Y 128 31 63
def @arg17 253 20 4 Y 128 31 63
def @arg18 253 20 1 Y 128 31 63
def @arg19 253 20 1 Y 128 31 63
def @arg17 253 20 4 Y 128 0 63
def @arg18 253 20 1 Y 128 0 63
def @arg19 253 20 1 Y 128 0 63
def @arg20 253 8192 1 Y 0 31 8
def @arg21 253 8192 10 Y 0 31 8
def @arg22 253 8192 30 Y 0 31 8
@ -1946,25 +1946,25 @@ from t9 where c1= 0 ;
0 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 1991-01-01 01:01:01 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
execute full_info ;
Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
def @arg01 253 20 1 Y 128 31 63
def @arg02 253 20 0 Y 128 31 63
def @arg03 253 20 0 Y 128 31 63
def @arg04 253 20 0 Y 128 31 63
def @arg05 253 20 0 Y 128 31 63
def @arg06 253 20 0 Y 128 31 63
def @arg07 253 20 0 Y 128 31 63
def @arg08 253 20 0 Y 128 31 63
def @arg09 253 20 0 Y 128 31 63
def @arg10 253 20 0 Y 128 31 63
def @arg11 253 64 0 Y 128 30 63
def @arg12 253 64 0 Y 128 30 63
def @arg01 253 20 1 Y 128 0 63
def @arg02 253 20 0 Y 128 0 63
def @arg03 253 20 0 Y 128 0 63
def @arg04 253 20 0 Y 128 0 63
def @arg05 253 20 0 Y 128 0 63
def @arg06 253 20 0 Y 128 0 63
def @arg07 253 23 0 Y 128 31 63
def @arg08 253 23 0 Y 128 31 63
def @arg09 253 23 0 Y 128 31 63
def @arg10 253 23 0 Y 128 31 63
def @arg11 253 67 0 Y 128 30 63
def @arg12 253 67 0 Y 128 30 63
def @arg13 253 8192 0 Y 128 31 63
def @arg14 253 8192 0 Y 128 31 63
def @arg15 253 8192 19 Y 128 31 63
def @arg16 253 8192 0 Y 128 31 63
def @arg17 253 20 0 Y 128 31 63
def @arg18 253 20 0 Y 128 31 63
def @arg19 253 20 0 Y 128 31 63
def @arg17 253 20 0 Y 128 0 63
def @arg18 253 20 0 Y 128 0 63
def @arg19 253 20 0 Y 128 0 63
def @arg20 253 8192 0 Y 0 31 8
def @arg21 253 8192 0 Y 0 31 8
def @arg22 253 8192 0 Y 0 31 8
@ -1996,25 +1996,25 @@ execute stmt1 using @my_key ;
1 1 1 1 1 1 1 1 1 1 1.0000 1.0000 2004-02-29 2004-02-29 11:11:11 2004-02-29 11:11:11 11:11:11 2004 1 1 a 123456789a 123456789a123456789b123456789c tinyblob tinytext blob text mediumblob mediumtext longblob longtext one monday
execute full_info ;
Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
def @arg01 253 20 1 Y 128 31 63
def @arg02 253 20 1 Y 128 31 63
def @arg03 253 20 1 Y 128 31 63
def @arg04 253 20 1 Y 128 31 63
def @arg05 253 20 1 Y 128 31 63
def @arg06 253 20 1 Y 128 31 63
def @arg07 253 20 1 Y 128 31 63
def @arg08 253 20 1 Y 128 31 63
def @arg09 253 20 1 Y 128 31 63
def @arg10 253 20 1 Y 128 31 63
def @arg11 253 64 6 Y 128 30 63
def @arg12 253 64 6 Y 128 30 63
def @arg01 253 20 1 Y 128 0 63
def @arg02 253 20 1 Y 128 0 63
def @arg03 253 20 1 Y 128 0 63
def @arg04 253 20 1 Y 128 0 63
def @arg05 253 20 1 Y 128 0 63
def @arg06 253 20 1 Y 128 0 63
def @arg07 253 23 1 Y 128 31 63
def @arg08 253 23 1 Y 128 31 63
def @arg09 253 23 1 Y 128 31 63
def @arg10 253 23 1 Y 128 31 63
def @arg11 253 67 6 Y 128 30 63
def @arg12 253 67 6 Y 128 30 63
def @arg13 253 8192 10 Y 128 31 63
def @arg14 253 8192 19 Y 128 31 63
def @arg15 253 8192 19 Y 128 31 63
def @arg16 253 8192 8 Y 128 31 63
def @arg17 253 20 4 Y 128 31 63
def @arg18 253 20 1 Y 128 31 63
def @arg19 253 20 1 Y 128 31 63
def @arg17 253 20 4 Y 128 0 63
def @arg18 253 20 1 Y 128 0 63
def @arg19 253 20 1 Y 128 0 63
def @arg20 253 8192 1 Y 0 31 8
def @arg21 253 8192 10 Y 0 31 8
def @arg22 253 8192 30 Y 0 31 8
@ -2036,25 +2036,25 @@ execute stmt1 using @my_key ;
0 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 1991-01-01 01:01:01 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
execute full_info ;
Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
def @arg01 253 20 1 Y 128 31 63
def @arg02 253 20 0 Y 128 31 63
def @arg03 253 20 0 Y 128 31 63
def @arg04 253 20 0 Y 128 31 63
def @arg05 253 20 0 Y 128 31 63
def @arg06 253 20 0 Y 128 31 63
def @arg07 253 20 0 Y 128 31 63
def @arg08 253 20 0 Y 128 31 63
def @arg09 253 20 0 Y 128 31 63
def @arg10 253 20 0 Y 128 31 63
def @arg11 253 64 0 Y 128 30 63
def @arg12 253 64 0 Y 128 30 63
def @arg01 253 20 1 Y 128 0 63
def @arg02 253 20 0 Y 128 0 63
def @arg03 253 20 0 Y 128 0 63
def @arg04 253 20 0 Y 128 0 63
def @arg05 253 20 0 Y 128 0 63
def @arg06 253 20 0 Y 128 0 63
def @arg07 253 23 0 Y 128 31 63
def @arg08 253 23 0 Y 128 31 63
def @arg09 253 23 0 Y 128 31 63
def @arg10 253 23 0 Y 128 31 63
def @arg11 253 67 0 Y 128 30 63
def @arg12 253 67 0 Y 128 30 63
def @arg13 253 8192 0 Y 128 31 63
def @arg14 253 8192 0 Y 128 31 63
def @arg15 253 8192 19 Y 128 31 63
def @arg16 253 8192 0 Y 128 31 63
def @arg17 253 20 0 Y 128 31 63
def @arg18 253 20 0 Y 128 31 63
def @arg19 253 20 0 Y 128 31 63
def @arg17 253 20 0 Y 128 0 63
def @arg18 253 20 0 Y 128 0 63
def @arg19 253 20 0 Y 128 0 63
def @arg20 253 8192 0 Y 0 31 8
def @arg21 253 8192 0 Y 0 31 8
def @arg22 253 8192 0 Y 0 31 8
@ -2084,25 +2084,25 @@ into @arg01, @arg02, @arg03, @arg04, @arg05, @arg06, @arg07, @arg08,
from t9 where c1= 1 ;
execute full_info ;
Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
def @arg01 253 20 1 Y 128 31 63
def @arg02 253 20 1 Y 128 31 63
def @arg03 253 20 1 Y 128 31 63
def @arg04 253 20 1 Y 128 31 63
def @arg05 253 20 1 Y 128 31 63
def @arg06 253 20 1 Y 128 31 63
def @arg07 253 20 1 Y 128 31 63
def @arg08 253 20 1 Y 128 31 63
def @arg09 253 20 1 Y 128 31 63
def @arg10 253 20 1 Y 128 31 63
def @arg11 253 64 6 Y 128 30 63
def @arg12 253 64 6 Y 128 30 63
def @arg01 253 20 1 Y 128 0 63
def @arg02 253 20 1 Y 128 0 63
def @arg03 253 20 1 Y 128 0 63
def @arg04 253 20 1 Y 128 0 63
def @arg05 253 20 1 Y 128 0 63
def @arg06 253 20 1 Y 128 0 63
def @arg07 253 23 1 Y 128 31 63
def @arg08 253 23 1 Y 128 31 63
def @arg09 253 23 1 Y 128 31 63
def @arg10 253 23 1 Y 128 31 63
def @arg11 253 67 6 Y 128 30 63
def @arg12 253 67 6 Y 128 30 63
def @arg13 253 8192 10 Y 128 31 63
def @arg14 253 8192 19 Y 128 31 63
def @arg15 253 8192 19 Y 128 31 63
def @arg16 253 8192 8 Y 128 31 63
def @arg17 253 20 4 Y 128 31 63
def @arg18 253 20 1 Y 128 31 63
def @arg19 253 20 1 Y 128 31 63
def @arg17 253 20 4 Y 128 0 63
def @arg18 253 20 1 Y 128 0 63
def @arg19 253 20 1 Y 128 0 63
def @arg20 253 8192 1 Y 0 31 8
def @arg21 253 8192 10 Y 0 31 8
def @arg22 253 8192 30 Y 0 31 8
@ -2128,25 +2128,25 @@ into @arg01, @arg02, @arg03, @arg04, @arg05, @arg06, @arg07, @arg08,
from t9 where c1= 0 ;
execute full_info ;
Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
def @arg01 253 20 1 Y 128 31 63
def @arg02 253 20 0 Y 128 31 63
def @arg03 253 20 0 Y 128 31 63
def @arg04 253 20 0 Y 128 31 63
def @arg05 253 20 0 Y 128 31 63
def @arg06 253 20 0 Y 128 31 63
def @arg07 253 20 0 Y 128 31 63
def @arg08 253 20 0 Y 128 31 63
def @arg09 253 20 0 Y 128 31 63
def @arg10 253 20 0 Y 128 31 63
def @arg11 253 64 0 Y 128 30 63
def @arg12 253 64 0 Y 128 30 63
def @arg01 253 20 1 Y 128 0 63
def @arg02 253 20 0 Y 128 0 63
def @arg03 253 20 0 Y 128 0 63
def @arg04 253 20 0 Y 128 0 63
def @arg05 253 20 0 Y 128 0 63
def @arg06 253 20 0 Y 128 0 63
def @arg07 253 23 0 Y 128 31 63
def @arg08 253 23 0 Y 128 31 63
def @arg09 253 23 0 Y 128 31 63
def @arg10 253 23 0 Y 128 31 63
def @arg11 253 67 0 Y 128 30 63
def @arg12 253 67 0 Y 128 30 63
def @arg13 253 8192 0 Y 128 31 63
def @arg14 253 8192 0 Y 128 31 63
def @arg15 253 8192 19 Y 128 31 63
def @arg16 253 8192 0 Y 128 31 63
def @arg17 253 20 0 Y 128 31 63
def @arg18 253 20 0 Y 128 31 63
def @arg19 253 20 0 Y 128 31 63
def @arg17 253 20 0 Y 128 0 63
def @arg18 253 20 0 Y 128 0 63
def @arg19 253 20 0 Y 128 0 63
def @arg20 253 8192 0 Y 0 31 8
def @arg21 253 8192 0 Y 0 31 8
def @arg22 253 8192 0 Y 0 31 8
@ -2174,25 +2174,25 @@ set @my_key= 1 ;
execute stmt1 using @my_key ;
execute full_info ;
Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
def @arg01 253 20 1 Y 128 31 63
def @arg02 253 20 1 Y 128 31 63
def @arg03 253 20 1 Y 128 31 63
def @arg04 253 20 1 Y 128 31 63
def @arg05 253 20 1 Y 128 31 63
def @arg06 253 20 1 Y 128 31 63
def @arg07 253 20 1 Y 128 31 63
def @arg08 253 20 1 Y 128 31 63
def @arg09 253 20 1 Y 128 31 63
def @arg10 253 20 1 Y 128 31 63
def @arg11 253 64 6 Y 128 30 63
def @arg12 253 64 6 Y 128 30 63
def @arg01 253 20 1 Y 128 0 63
def @arg02 253 20 1 Y 128 0 63
def @arg03 253 20 1 Y 128 0 63
def @arg04 253 20 1 Y 128 0 63
def @arg05 253 20 1 Y 128 0 63
def @arg06 253 20 1 Y 128 0 63
def @arg07 253 23 1 Y 128 31 63
def @arg08 253 23 1 Y 128 31 63
def @arg09 253 23 1 Y 128 31 63
def @arg10 253 23 1 Y 128 31 63
def @arg11 253 67 6 Y 128 30 63
def @arg12 253 67 6 Y 128 30 63
def @arg13 253 8192 10 Y 128 31 63
def @arg14 253 8192 19 Y 128 31 63
def @arg15 253 8192 19 Y 128 31 63
def @arg16 253 8192 8 Y 128 31 63
def @arg17 253 20 4 Y 128 31 63
def @arg18 253 20 1 Y 128 31 63
def @arg19 253 20 1 Y 128 31 63
def @arg17 253 20 4 Y 128 0 63
def @arg18 253 20 1 Y 128 0 63
def @arg19 253 20 1 Y 128 0 63
def @arg20 253 8192 1 Y 0 31 8
def @arg21 253 8192 10 Y 0 31 8
def @arg22 253 8192 30 Y 0 31 8
@ -2212,25 +2212,25 @@ set @my_key= 0 ;
execute stmt1 using @my_key ;
execute full_info ;
Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
def @arg01 253 20 1 Y 128 31 63
def @arg02 253 20 0 Y 128 31 63
def @arg03 253 20 0 Y 128 31 63
def @arg04 253 20 0 Y 128 31 63
def @arg05 253 20 0 Y 128 31 63
def @arg06 253 20 0 Y 128 31 63
def @arg07 253 20 0 Y 128 31 63
def @arg08 253 20 0 Y 128 31 63
def @arg09 253 20 0 Y 128 31 63
def @arg10 253 20 0 Y 128 31 63
def @arg11 253 64 0 Y 128 30 63
def @arg12 253 64 0 Y 128 30 63
def @arg01 253 20 1 Y 128 0 63
def @arg02 253 20 0 Y 128 0 63
def @arg03 253 20 0 Y 128 0 63
def @arg04 253 20 0 Y 128 0 63
def @arg05 253 20 0 Y 128 0 63
def @arg06 253 20 0 Y 128 0 63
def @arg07 253 23 0 Y 128 31 63
def @arg08 253 23 0 Y 128 31 63
def @arg09 253 23 0 Y 128 31 63
def @arg10 253 23 0 Y 128 31 63
def @arg11 253 67 0 Y 128 30 63
def @arg12 253 67 0 Y 128 30 63
def @arg13 253 8192 0 Y 128 31 63
def @arg14 253 8192 0 Y 128 31 63
def @arg15 253 8192 19 Y 128 31 63
def @arg16 253 8192 0 Y 128 31 63
def @arg17 253 20 0 Y 128 31 63
def @arg18 253 20 0 Y 128 31 63
def @arg19 253 20 0 Y 128 31 63
def @arg17 253 20 0 Y 128 0 63
def @arg18 253 20 0 Y 128 0 63
def @arg19 253 20 0 Y 128 0 63
def @arg20 253 8192 0 Y 0 31 8
def @arg21 253 8192 0 Y 0 31 8
def @arg22 253 8192 0 Y 0 31 8

View file

@ -106,7 +106,7 @@ insert into t2 values(3);
insert into t1 values (5);
end|
call foo4();
ERROR 42000: INSERT command denied to user 'zedjzlcsjhd'@'localhost' for table 't1'
Got one of the listed errors
show warnings;
Level Code Message
Warning 1417 A routine failed and is declared to modify data and binary logging is enabled; if non-transactional tables were updated, the binary log will miss their changes
@ -114,7 +114,7 @@ call foo3();
show warnings;
Level Code Message
call foo4();
ERROR 42000: INSERT command denied to user 'zedjzlcsjhd'@'localhost' for table 't1'
Got one of the listed errors
show warnings;
Level Code Message
Warning 1417 A routine failed and is declared to modify data and binary logging is enabled; if non-transactional tables were updated, the binary log will miss their changes

View file

@ -1672,7 +1672,7 @@ fld1 count(*)
158402 4181
select sum(Period)/count(*) from t1;
sum(Period)/count(*)
9410.00000
9410.0000
select companynr,count(price) as "count",sum(price) as "sum" ,abs(sum(price)/count(price)-avg(price)) as "diff",(0+count(price))*companynr as func from t3 group by companynr;
companynr count sum diff func
37 12543 309394878010 0.0000 464091
@ -1684,7 +1684,7 @@ companynr count sum diff func
512 4181 3288532102 0.0000 2140672
select companynr,sum(price)/count(price) as avg from t3 group by companynr having avg > 70000000 order by avg;
companynr avg
154 983543950.00
154 983543950.0000
select companynr,count(*) from t2 group by companynr order by 2 desc;
companynr count(*)
37 588

View file

@ -2913,10 +2913,10 @@ select @sptmp|
10
call bug9674_2()|
v/10
10.00000
10.0000
call bug9674_2()|
v/10
10.00000
10.0000
drop procedure bug9674_1|
drop procedure bug9674_2|
drop procedure if exists bug9598_1|

View file

@ -731,7 +731,7 @@ t1 CREATE TABLE `t1` (
`d` decimal(10,0) default NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
drop table t1;
create table t1 (d decimal(65,0));
create table t1 (d decimal(66,0));
ERROR 42000: Incorrect column specifier for column 'd'
CREATE TABLE t1 (i INT, d1 DECIMAL(9,2), d2 DECIMAL(9,2));
INSERT INTO t1 VALUES (1, 101.40, 21.40), (1, -80.00, 0.00),

View file

@ -52,13 +52,13 @@ if(1, 1.1, 1.2) if(0, 1.1, 1.2) if(0.1, 1.1, 1.2) if(0, 1, 1.1) if(0, NULL, 1.2)
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
`if(1, 1.1, 1.2)` decimal(5,1) NOT NULL default '0.0',
`if(0, 1.1, 1.2)` decimal(5,1) NOT NULL default '0.0',
`if(0.1, 1.1, 1.2)` decimal(5,1) NOT NULL default '0.0',
`if(0, 1, 1.1)` decimal(5,1) NOT NULL default '0.0',
`if(0, NULL, 1.2)` decimal(5,1) default NULL,
`if(1, 1.1, 1.2)` decimal(2,1) NOT NULL default '0.0',
`if(0, 1.1, 1.2)` decimal(2,1) NOT NULL default '0.0',
`if(0.1, 1.1, 1.2)` decimal(2,1) NOT NULL default '0.0',
`if(0, 1, 1.1)` decimal(2,1) NOT NULL default '0.0',
`if(0, NULL, 1.2)` decimal(2,1) default NULL,
`if(1, 0.22e1, 1.1)` double NOT NULL default '0',
`if(1E0, 1.1, 1.2)` decimal(5,1) NOT NULL default '0.0'
`if(1E0, 1.1, 1.2)` decimal(2,1) NOT NULL default '0.0'
) ENGINE=MyISAM DEFAULT CHARSET=latin1
drop table t1;
create table t1 select nullif(1.1, 1.1), nullif(1.1, 1.2), nullif(1.1, 0.11e1), nullif(1.0, 1), nullif(1, 1.0), nullif(1, 1.1);
@ -68,12 +68,12 @@ NULL 1.1 NULL NULL NULL 1
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
`nullif(1.1, 1.1)` decimal(5,1) default NULL,
`nullif(1.1, 1.2)` decimal(5,1) default NULL,
`nullif(1.1, 0.11e1)` double(4,1) default NULL,
`nullif(1.0, 1)` decimal(5,1) default NULL,
`nullif(1, 1.0)` decimal(1,0) default NULL,
`nullif(1, 1.1)` decimal(1,0) default NULL
`nullif(1.1, 1.1)` decimal(2,1) default NULL,
`nullif(1.1, 1.2)` decimal(2,1) default NULL,
`nullif(1.1, 0.11e1)` decimal(2,1) default NULL,
`nullif(1.0, 1)` decimal(2,1) default NULL,
`nullif(1, 1.0)` int(1) default NULL,
`nullif(1, 1.1)` int(1) default NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
drop table t1;
create table t1 (a decimal(4,2));
@ -174,10 +174,10 @@ create table t1 select round(15.4,-1), truncate(-5678.123451,-3), abs(-1.1), -(-
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
`round(15.4,-1)` decimal(5,0) NOT NULL default '0',
`truncate(-5678.123451,-3)` decimal(13,0) NOT NULL default '0',
`abs(-1.1)` decimal(6,1) NOT NULL default '0.0',
`-(-1.1)` decimal(7,1) NOT NULL default '0.0'
`round(15.4,-1)` decimal(3,0) NOT NULL default '0',
`truncate(-5678.123451,-3)` decimal(4,0) NOT NULL default '0',
`abs(-1.1)` decimal(3,1) NOT NULL default '0.0',
`-(-1.1)` decimal(2,1) NOT NULL default '0.0'
) ENGINE=MyISAM DEFAULT CHARSET=latin1
drop table t1;
set session sql_mode='traditional';
@ -375,7 +375,7 @@ col1
drop table wl1612;
select 1/3;
1/3
0.33333
0.3333
select 0.8=0.7+0.1;
0.8=0.7+0.1
1
@ -398,7 +398,7 @@ select 0.07*0.07 from wl1612_1;
0.0049
select 0.07/0.07 from wl1612_1;
0.07/0.07
1.000000000
1.000000
drop table wl1612_1;
create table wl1612_2 (col1 decimal(10,2), col2 numeric(10,2));
insert into wl1612_2 values(1,1);
@ -626,16 +626,16 @@ create table wl1612_4 (col1 int, col2 decimal(30,25), col3 numeric(30,25));
insert into wl1612_4 values(1,0.0123456789012345678912345,0.0123456789012345678912345);
select col2/9999999999 from wl1612_4 where col1=1;
col2/9999999999
0.0000000000012345678902469135781481410000000000000000000
0.00000000000123456789024691358
select col3/9999999999 from wl1612_4 where col1=1;
col3/9999999999
0.0000000000012345678902469135781481410000000000000000000
0.00000000000123456789024691358
select 9999999999/col2 from wl1612_4 where col1=1;
9999999999/col2
810000007209.00007
810000007209.0001
select 9999999999/col3 from wl1612_4 where col1=1;
9999999999/col3
810000007209.00007
810000007209.0001
select col2*9999999999 from wl1612_4 where col1=1;
col2*9999999999
123456789.0000000000111104321087655
@ -645,16 +645,16 @@ col3*9999999999
insert into wl1612_4 values(2,55555.0123456789012345678912345,55555.0123456789012345678912345);
select col2/9999999999 from wl1612_4 where col1=2;
col2/9999999999
0.0000055555012351234402469691331481460000000000000000000
0.00000555550123512344024696913
select col3/9999999999 from wl1612_4 where col1=2;
col3/9999999999
0.0000055555012351234402469691331481460000000000000000000
0.00000555550123512344024696913
select 9999999999/col2 from wl1612_4 where col1=2;
9999999999/col2
180001.76000
180001.7600
select 9999999999/col3 from wl1612_4 where col1=2;
9999999999/col3
180001.76000
180001.7600
select col2*9999999999 from wl1612_4 where col1=2;
col2*9999999999
555550123401234.0000000000111104321087655
@ -712,7 +712,7 @@ select .7777777777777777777777777777777777777 *
1000000000000000000;
.7777777777777777777777777777777777777 *
1000000000000000000
777777777777777777.7777777777777777777000000000000000000
777777777777777777.777777777777777777700000000000
select .7777777777777777777777777777777777777 - 0.1;
.7777777777777777777777777777777777777 - 0.1
0.6777777777777777777777777777777777777
@ -772,10 +772,10 @@ round(-99999999999999999.999,3)
-99999999999999999.999
select truncate(99999999999999999999999999999999999999,31);
truncate(99999999999999999999999999999999999999,31)
99999999999999999999999999999999999999.000000000000000000000000000
99999999999999999999999999999999999999.000000000000000000000000000000
select truncate(99.999999999999999999999999999999999999,31);
truncate(99.999999999999999999999999999999999999,31)
99.9999999999999999999999999999999
100.000000000000000000000000000000
select truncate(99999999999999999999999999999999999999,-31);
truncate(99999999999999999999999999999999999999,-31)
99999990000000000000000000000000000000
@ -783,7 +783,7 @@ create table t1 as select 0.5;
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
`0.5` decimal(3,1) NOT NULL default '0.0'
`0.5` decimal(2,1) NOT NULL default '0.0'
) ENGINE=MyISAM DEFAULT CHARSET=latin1
drop table t1;
select round(1.5),round(2.5);
@ -841,4 +841,4 @@ ERROR HY000: Incorrect decimal value: 'a59b' for column 'col1' at row 1
drop table Sow6_2f;
select 10.3330000000000/12.34500000;
10.3330000000000/12.34500000
0.8370190360469825840421223160000
0.83701903604698258

View file

@ -565,7 +565,7 @@ a
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
`a` decimal(19,1) NOT NULL default '0.0'
`a` decimal(3,1) NOT NULL default '0.0'
) ENGINE=MyISAM DEFAULT CHARSET=latin1
drop table t1;
create table t2 (it1 tinyint, it2 tinyint not null, i int not null, ib bigint, f float, d double, y year, da date, dt datetime, sc char(10), sv varchar(10), b blob, tx text);
@ -792,7 +792,7 @@ d
show create table t3;
Table Create Table
t3 CREATE TABLE `t3` (
`d` decimal(19,9) default NULL
`d` decimal(18,9) default NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
drop table t1,t2,t3;
create table t1 select 1 union select -1;

View file

@ -504,7 +504,7 @@ show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
`c1` bigint(20) default NULL,
`c2` decimal(64,30) default NULL,
`c2` decimal(65,30) default NULL,
`c3` longtext,
`c4` double default NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1

View file

@ -6,6 +6,9 @@
drop table if exists t1,t2;
--enable_warnings
set @sav_dpi= @@div_precision_increment;
set div_precision_increment= 5;
show variables like 'div_precision_increment';
create table t1 (grp int, a bigint unsigned, c char(10) not null);
insert into t1 values (1,1,"a");
insert into t1 values (2,2,"b");
@ -623,4 +626,5 @@ SELECT b/c as v, SUM(a) FROM t1 GROUP BY v;
SELECT SUM(a) FROM t1 GROUP BY b/c;
DROP TABLE t1;
set div_precision_increment= @sav_dpi;

View file

@ -2,6 +2,10 @@
drop table if exists t1,t2;
--enable_warnings
set @sav_dpi= @@div_precision_increment;
set div_precision_increment= 5;
show variables like 'div_precision_increment';
create table t1 (product varchar(32), country_id int not null, year int, profit int);
insert into t1 values ( 'Computer', 2,2000, 1200),
( 'TV', 1, 1999, 150),
@ -191,3 +195,4 @@ SELECT a, SUM(a) m FROM t1 GROUP BY a WITH ROLLUP;
SELECT * FROM ( SELECT a, SUM(a) m FROM t1 GROUP BY a WITH ROLLUP ) t2;
DROP TABLE t1;
set div_precision_increment= @sav_dpi;

View file

@ -125,8 +125,9 @@ create procedure foo4()
delimiter ;|
--replace_result localhost.localdomain localhost 127.0.0.1 localhost
--error 1142;
# I add ,0 so that it does not print the error in the test output,
# because this error is hostname-dependent
--error 1142,0;
call foo4(); # invoker has no INSERT grant on table => failure
show warnings;
@ -135,7 +136,7 @@ call foo3(); # success (definer == root)
show warnings;
--replace_result localhost.localdomain localhost 127.0.0.1 localhost
--error 1142;
--error 1142,0;
call foo4(); # definer's rights => failure
show warnings;

View file

@ -308,7 +308,7 @@ create table t1 (d decimal);
show create table t1;
drop table t1;
--error 1063
create table t1 (d decimal(65,0));
create table t1 (d decimal(66,0));
#
# Test example from manual

View file

@ -2229,12 +2229,6 @@ void Field_decimal::sql_type(String &res) const
** Field_new_decimal
****************************************************************************/
/*
Constructors of new decimal field. In case of using NOT_FIXED_DEC it try
to use maximally allowed length (DECIMAL_MAX_LENGTH) and number of digits
after decimal point maximally close to half of this range
(min(DECIMAL_MAX_LENGTH/2, NOT_FIXED_DEC-1))
*/
Field_new_decimal::Field_new_decimal(char *ptr_arg,
uint32 len_arg, uchar *null_ptr_arg,
uchar null_bit_arg,
@ -2243,17 +2237,15 @@ Field_new_decimal::Field_new_decimal(char *ptr_arg,
struct st_table *table_arg,
uint8 dec_arg,bool zero_arg,
bool unsigned_arg)
:Field_num(ptr_arg,
(dec_arg == NOT_FIXED_DEC || len_arg > DECIMAL_MAX_LENGTH ?
DECIMAL_MAX_LENGTH : len_arg),
:Field_num(ptr_arg, len_arg,
null_ptr_arg, null_bit_arg,
unireg_check_arg, field_name_arg, table_arg,
(dec_arg == NOT_FIXED_DEC ?
min(DECIMAL_MAX_LENGTH / 2, NOT_FIXED_DEC - 1) :
dec_arg),
zero_arg, unsigned_arg)
dec_arg, zero_arg, unsigned_arg)
{
bin_size= my_decimal_get_binary_size(field_length, dec);
precision= my_decimal_length_to_precision(len_arg, dec_arg, unsigned_arg);
DBUG_ASSERT((precision <= DECIMAL_MAX_PRECISION) &&
(dec <= DECIMAL_MAX_SCALE));
bin_size= my_decimal_get_binary_size(precision, dec);
}
@ -2261,18 +2253,18 @@ Field_new_decimal::Field_new_decimal(uint32 len_arg,
bool maybe_null,
const char *name,
struct st_table *t_arg,
uint8 dec_arg)
:Field_num((char*) 0,
(dec_arg == NOT_FIXED_DEC|| len_arg > DECIMAL_MAX_LENGTH ?
DECIMAL_MAX_LENGTH : len_arg),
uint8 dec_arg,
bool unsigned_arg)
:Field_num((char*) 0, len_arg,
maybe_null ? (uchar*) "": 0, 0,
NONE, name, t_arg,
(dec_arg == NOT_FIXED_DEC ?
min(DECIMAL_MAX_LENGTH / 2, NOT_FIXED_DEC - 1) :
dec_arg),
0, 0)
dec_arg,
0, unsigned_arg)
{
bin_size= my_decimal_get_binary_size(field_length, dec);
precision= my_decimal_length_to_precision(len_arg, dec_arg, unsigned_arg);
DBUG_ASSERT((precision <= DECIMAL_MAX_PRECISION) &&
(dec <= DECIMAL_MAX_SCALE));
bin_size= my_decimal_get_binary_size(precision, dec);
}
@ -2295,7 +2287,7 @@ void Field_new_decimal::set_value_on_overflow(my_decimal *decimal_value,
bool sign)
{
DBUG_ENTER("Field_new_decimal::set_value_on_overflow");
max_my_decimal(decimal_value, field_length, decimals());
max_my_decimal(decimal_value, precision, decimals());
if (sign)
{
if (unsigned_flag)
@ -2326,10 +2318,14 @@ void Field_new_decimal::set_value_on_overflow(my_decimal *decimal_value,
bool Field_new_decimal::store_value(const my_decimal *decimal_value)
{
my_decimal *dec= (my_decimal*)decimal_value;
int error= 0;
DBUG_ENTER("Field_new_decimal::store_value");
dbug_print_decimal("enter", "value: %s", dec);
#ifndef DBUG_OFF
{
char dbug_buff[DECIMAL_MAX_STR_LENGTH+1];
DBUG_PRINT("enter", ("value: %s", dbug_decimal_as_string(dbug_buff, decimal_value)));
}
#endif
/* check that we do not try to write negative value in unsigned field */
if (unsigned_flag && decimal_value->sign())
@ -2337,25 +2333,27 @@ bool Field_new_decimal::store_value(const my_decimal *decimal_value)
DBUG_PRINT("info", ("unsigned overflow"));
set_warning(MYSQL_ERROR::WARN_LEVEL_WARN, ER_WARN_DATA_OUT_OF_RANGE, 1);
error= 1;
dec= &decimal_zero;
decimal_value= &decimal_zero;
}
DBUG_PRINT("info", ("saving with precision %d, scale: %d",
(int)field_length, (int)decimals()));
dbug_print_decimal("info", "value: %s", dec);
#ifndef DBUG_OFF
{
char dbug_buff[DECIMAL_MAX_STR_LENGTH+1];
DBUG_PRINT("info", ("saving with precision %d, scale: %d, value %s",
(int)precision, (int)dec,
dbug_decimal_as_string(dbug_buff, decimal_value)));
}
#endif
if (warn_if_overflow(my_decimal2binary(E_DEC_FATAL_ERROR &
~E_DEC_OVERFLOW,
dec, ptr,
field_length,
decimals())))
if (warn_if_overflow(my_decimal2binary(E_DEC_FATAL_ERROR & ~E_DEC_OVERFLOW,
decimal_value, ptr, precision, dec)))
{
my_decimal buff;
DBUG_PRINT("info", ("overflow"));
set_value_on_overflow(&buff, dec->sign());
my_decimal2binary(E_DEC_FATAL_ERROR, &buff, ptr, field_length, decimals());
set_value_on_overflow(&buff, decimal_value->sign());
my_decimal2binary(E_DEC_FATAL_ERROR, &buff, ptr, precision, dec);
error= 1;
}
DBUG_EXECUTE("info", print_decimal_buff(dec, (byte *) ptr, bin_size););
DBUG_EXECUTE("info", print_decimal_buff(decimal_value, (byte *) ptr, bin_size););
DBUG_RETURN(error);
}
@ -2387,7 +2385,11 @@ int Field_new_decimal::store(const char *from, uint length,
break;
}
dbug_print_decimal("enter", "value: %s", &decimal_value);
#ifndef DBUG_OFF
char dbug_buff[DECIMAL_MAX_STR_LENGTH+1];
DBUG_PRINT("enter", ("value: %s",
dbug_decimal_as_string(dbug_buff, &decimal_value)));
#endif
store_value(&decimal_value);
DBUG_RETURN(err);
}
@ -2477,8 +2479,7 @@ my_decimal* Field_new_decimal::val_decimal(my_decimal *decimal_value)
{
DBUG_ENTER("Field_new_decimal::val_decimal");
binary2my_decimal(E_DEC_FATAL_ERROR, ptr, decimal_value,
field_length,
decimals());
precision, dec);
DBUG_EXECUTE("info", print_decimal_buff(decimal_value, (byte *) ptr,
bin_size););
DBUG_RETURN(decimal_value);
@ -2489,12 +2490,9 @@ String *Field_new_decimal::val_str(String *val_buffer,
String *val_ptr __attribute__((unused)))
{
my_decimal decimal_value;
int fixed_precision= (zerofill ?
(field_length + (decimals() ? 1 : 0)) :
0);
uint fixed_precision= zerofill ? precision : 0;
my_decimal2string(E_DEC_FATAL_ERROR, val_decimal(&decimal_value),
fixed_precision, decimals(), '0',
val_buffer);
fixed_precision, dec, '0', val_buffer);
return val_buffer;
}
@ -2516,7 +2514,7 @@ void Field_new_decimal::sql_type(String &str) const
{
CHARSET_INFO *cs= str.charset();
str.length(cs->cset->snprintf(cs, (char*) str.ptr(), str.alloced_length(),
"decimal(%d,%d)", field_length, (int)dec));
"decimal(%d,%d)", precision, (int)dec));
add_zerofill_and_unsigned(str);
}

View file

@ -300,8 +300,6 @@ public:
int warn_if_overflow(int op_result);
/* maximum possible display length */
virtual uint32 max_length()= 0;
/* length of field value symbolic representation (in bytes) */
virtual uint32 representation_length() { return field_length; }
/* convert decimal to longlong with overflow check */
longlong convert_decimal2longlong(const my_decimal *val, bool unsigned_flag,
int *err);
@ -438,7 +436,13 @@ public:
/* New decimal/numeric field which use fixed point arithmetic */
class Field_new_decimal :public Field_num {
public:
/* The maximum number of decimal digits can be stored */
uint precision;
uint bin_size;
/* Constructors take max_length of the field as a parameter - not the */
/* precision as the number of decimal digits allowed */
/* So for example we need to count length from precision handling */
/* CREATE TABLE ( DECIMAL(x,y)) */
Field_new_decimal(char *ptr_arg, uint32 len_arg, uchar *null_ptr_arg,
uchar null_bit_arg,
enum utype unireg_check_arg, const char *field_name_arg,
@ -446,7 +450,8 @@ public:
uint8 dec_arg, bool zero_arg, bool unsigned_arg);
Field_new_decimal(uint32 len_arg, bool maybe_null_arg,
const char *field_name_arg,
struct st_table *table_arg, uint8 dec_arg);
struct st_table *table_arg, uint8 dec_arg,
bool unsigned_arg);
enum_field_types type() const { return FIELD_TYPE_NEWDECIMAL;}
enum ha_base_keytype key_type() const { return HA_KEYTYPE_BINARY; }
Item_result result_type () const { return DECIMAL_RESULT; }
@ -465,10 +470,7 @@ public:
void sort_string(char *buff, uint length);
bool zero_pack() const { return 0; }
void sql_type(String &str) const;
uint32 max_length()
{ return field_length + 1 + (dec ? 1 : 0) + (field_length == dec ? 1 : 0); }
uint32 representation_length()
{ return field_length + 1 + (dec ? 1 : 0) + (field_length == dec ? 1 : 0); };
uint32 max_length() { return field_length; }
uint size_of() const { return sizeof(*this); }
uint32 pack_length() const { return (uint32) bin_size; }
};

View file

@ -3621,7 +3621,7 @@ static int create_ndb_column(NDBCOL &col,
case MYSQL_TYPE_NEWDECIMAL:
{
Field_new_decimal *f= (Field_new_decimal*)field;
uint precision= f->field_length;
uint precision= f->precision;
uint scale= f->decimals();
if (field->flags & UNSIGNED_FLAG)
{

View file

@ -183,7 +183,7 @@ my_string ip_to_hostname(struct in_addr *in, uint *errors)
that attempted to connect during the outage) unable to connect
indefinitely.
*/
if (tmp_errno == HOST_NOT_FOUND || tmp_error == NO_DATA)
if (tmp_errno == HOST_NOT_FOUND || tmp_errno == NO_DATA)
add_wrong_ip(in);
my_gethostbyname_r_free();
DBUG_RETURN(0);

View file

@ -80,7 +80,7 @@ Hybrid_type_traits_decimal::fix_length_and_dec(Item *item, Item *arg) const
{
item->decimals= arg->decimals;
item->max_length= min(arg->max_length + DECIMAL_LONGLONG_DIGITS,
DECIMAL_MAX_LENGTH);
DECIMAL_MAX_STR_LENGTH);
}
@ -348,6 +348,17 @@ Item::Item(THD *thd, Item *item):
}
uint Item::decimal_precision() const
{
Item_result restype= result_type();
if ((restype == DECIMAL_RESULT) || (restype == INT_RESULT))
return min(my_decimal_length_to_precision(max_length, decimals, unsigned_flag),
DECIMAL_MAX_PRECISION);
return min(max_length, DECIMAL_MAX_PRECISION);
}
void Item::print_item_w_name(String *str)
{
print(str);
@ -943,10 +954,8 @@ bool DTCollation::aggregate(DTCollation &dt, uint flags)
return 1;
}
if (collation->state & MY_CS_BINSORT)
{
return 0;
}
else if (dt.collation->state & MY_CS_BINSORT)
if (dt.collation->state & MY_CS_BINSORT)
{
set(dt);
return 0;
@ -1026,7 +1035,7 @@ void Item_field::set_field(Field *field_par)
field=result_field=field_par; // for easy coding with fields
maybe_null=field->maybe_null();
decimals= field->decimals();
max_length= field_par->representation_length();
max_length= field_par->field_length;
table_name= *field_par->table_name;
field_name= field_par->field_name;
db_name= field_par->table->s->db;
@ -1371,18 +1380,18 @@ Item_decimal::Item_decimal(const char *str_arg, uint length,
str2my_decimal(E_DEC_FATAL_ERROR, str_arg, length, charset, &decimal_value);
name= (char*) str_arg;
decimals= (uint8) decimal_value.frac;
max_length= my_decimal_max_length(&decimal_value);
fixed= 1;
unsigned_flag= !decimal_value.sign();
max_length= my_decimal_precision_to_length(decimal_value.intg + decimals,
decimals, unsigned_flag);
}
Item_decimal::Item_decimal(longlong val, bool unsig)
{
int2my_decimal(E_DEC_FATAL_ERROR, val, unsig, &decimal_value);
decimals= (uint8) decimal_value.frac;
max_length= my_decimal_max_length(&decimal_value);
fixed= 1;
unsigned_flag= !decimal_value.sign();
max_length= my_decimal_precision_to_length(decimal_value.intg + decimals,
decimals, unsigned_flag);
}
@ -1390,9 +1399,9 @@ Item_decimal::Item_decimal(double val, int precision, int scale)
{
double2my_decimal(E_DEC_FATAL_ERROR, val, &decimal_value);
decimals= (uint8) decimal_value.frac;
max_length= my_decimal_max_length(&decimal_value);
fixed= 1;
unsigned_flag= !decimal_value.sign();
max_length= my_decimal_precision_to_length(decimal_value.intg + decimals,
decimals, unsigned_flag);
}
@ -1404,7 +1413,6 @@ Item_decimal::Item_decimal(const char *str, const my_decimal *val_arg,
decimals= (uint8) decimal_par;
max_length= length;
fixed= 1;
unsigned_flag= !decimal_value.sign();
}
@ -1412,19 +1420,20 @@ Item_decimal::Item_decimal(my_decimal *value_par)
{
my_decimal2decimal(value_par, &decimal_value);
decimals= (uint8) decimal_value.frac;
max_length= my_decimal_max_length(value_par);
fixed= 1;
unsigned_flag= !decimal_value.sign();
max_length= my_decimal_precision_to_length(decimal_value.intg + decimals,
decimals, !decimal_value.sign());
}
Item_decimal::Item_decimal(const char *bin, int precision, int scale)
{
binary2my_decimal(E_DEC_FATAL_ERROR, bin, &decimal_value, precision, scale);
binary2my_decimal(E_DEC_FATAL_ERROR, bin,
&decimal_value, precision, scale);
decimals= (uint8) decimal_value.frac;
max_length= my_decimal_max_length(&decimal_value);
fixed= 1;
unsigned_flag= !decimal_value.sign();
max_length= my_decimal_precision_to_length(precision, decimals,
!decimal_value.sign());
}
@ -1702,7 +1711,8 @@ void Item_param::set_decimal(const char *str, ulong length)
str2my_decimal(E_DEC_FATAL_ERROR, str, &decimal_value, &end);
state= DECIMAL_VALUE;
decimals= decimal_value.frac;
max_length= decimal_value.intg + decimals + 2;
max_length= my_decimal_precision_to_length(decimal_value.precision(),
decimals, unsigned_flag);
maybe_null= 0;
DBUG_VOID_RETURN;
}
@ -1853,7 +1863,8 @@ bool Item_param::set_from_user_var(THD *thd, const user_var_entry *entry)
my_decimal2decimal(ent_value, &decimal_value);
state= DECIMAL_VALUE;
decimals= ent_value->frac;
max_length= ent_value->intg + decimals + 2;
max_length= my_decimal_precision_to_length(ent_value->precision(),
decimals, unsigned_flag);
break;
}
default:
@ -3271,11 +3282,8 @@ Field *Item::tmp_table_field_from_field_type(TABLE *table)
switch (field_type()) {
case MYSQL_TYPE_DECIMAL:
return new Field_decimal((char*) 0, max_length, null_ptr, 0, Field::NONE,
name, table, decimals, 0, unsigned_flag);
case MYSQL_TYPE_NEWDECIMAL:
return new Field_new_decimal((char*) 0, max_length - (decimals?1:0),
null_ptr, 0,
return new Field_new_decimal((char*) 0, max_length, null_ptr, 0,
Field::NONE, name, table, decimals, 0,
unsigned_flag);
case MYSQL_TYPE_TINY:
@ -5031,6 +5039,7 @@ Item_type_holder::Item_type_holder(THD *thd, Item *item)
/* fix variable decimals which always is NOT_FIXED_DEC */
if (Field::result_merge_type(fld_type) == INT_RESULT)
decimals= 0;
prev_decimal_int_part= item->decimal_int_part();
}
@ -5153,18 +5162,12 @@ bool Item_type_holder::join_types(THD *thd, Item *item)
}
if (Field::result_merge_type(fld_type) == DECIMAL_RESULT)
{
int item_length= display_length(item);
int intp1= item_length - min(item->decimals, NOT_FIXED_DEC - 1);
int intp2= max_length - min(decimals, NOT_FIXED_DEC - 1);
/* can't be overflow because it work only for decimals (no strings) */
int dec_length= max(intp1, intp2) + decimals;
max_length= max(max_length, (uint) max(item_length, dec_length));
/*
we can't allow decimals to be NOT_FIXED_DEC, to prevent creation
decimal with max precision (see Field_new_decimal constcuctor)
*/
if (decimals >= NOT_FIXED_DEC)
decimals= NOT_FIXED_DEC - 1;
decimals= min(max(decimals, item->decimals), DECIMAL_MAX_SCALE);
int precision= min(max(prev_decimal_int_part, item->decimal_int_part())
+ decimals, DECIMAL_MAX_PRECISION);
unsigned_flag&= item->unsigned_flag;
max_length= my_decimal_precision_to_length(precision, decimals,
unsigned_flag);
}
else
max_length= max(max_length, display_length(item));
@ -5185,6 +5188,9 @@ bool Item_type_holder::join_types(THD *thd, Item *item)
}
maybe_null|= item->maybe_null;
get_full_info(item);
/* Remember decimal integer part to be used in DECIMAL_RESULT handleng */
prev_decimal_int_part= decimal_int_part();
DBUG_PRINT("info", ("become type: %d len: %u dec: %u",
(int) fld_type, max_length, (uint) decimals));
DBUG_RETURN(FALSE);

View file

@ -258,7 +258,7 @@ public:
Item *next;
uint32 max_length;
uint name_length; /* Length of name */
uint8 marker,decimals;
uint8 marker, decimals;
my_bool maybe_null; /* If item may be null */
my_bool null_value; /* if item is null */
my_bool unsigned_flag;
@ -442,6 +442,9 @@ public:
virtual cond_result eq_cmp_result() const { return COND_OK; }
inline uint float_length(uint decimals_par) const
{ return decimals != NOT_FIXED_DEC ? (DBL_DIG+2+decimals_par) : DBL_DIG+8;}
virtual uint decimal_precision() const;
inline int decimal_int_part() const
{ return my_decimal_int_part(decimal_precision(), decimals); }
/*
Returns true if this is constant (during query execution, i.e. its value
will not change until next fix_fields) and its value is known.
@ -953,7 +956,7 @@ public:
{ max_length=length; fixed= 1; }
#ifdef HAVE_LONG_LONG
Item_int(longlong i,uint length=21) :value(i)
{ max_length=length; fixed= 1;}
{ max_length=length; fixed= 1; }
#endif
Item_int(const char *str_arg,longlong i,uint length) :value(i)
{ max_length=length; name=(char*) str_arg; fixed= 1; }
@ -972,6 +975,7 @@ public:
void cleanup() {}
void print(String *str);
Item_num *neg() { value= -value; return this; }
uint decimal_precision() const { return (uint)(max_length - test(value < 0)); }
bool eq(const Item *, bool binary_cmp) const;
};
@ -1001,6 +1005,7 @@ public:
int save_in_field(Field *field, bool no_conversions);
void print(String *str);
Item_num *neg ();
uint decimal_precision() const { return max_length; }
};
@ -1040,6 +1045,7 @@ public:
unsigned_flag= !decimal_value.sign();
return this;
}
uint decimal_precision() const { return decimal_value.precision(); }
bool eq(const Item *, bool binary_cmp) const;
};
@ -1802,6 +1808,9 @@ protected:
enum_field_types fld_type;
void get_full_info(Item *item);
/* It is used to count decimal precision in join_types */
int prev_decimal_int_part;
public:
Item_type_holder(THD*, Item*);

View file

@ -1134,6 +1134,14 @@ Item_func_ifnull::fix_length_and_dec()
cached_field_type= Item_func::field_type();
}
uint Item_func_ifnull::decimal_precision() const
{
int max_int_part=max(args[0]->decimal_int_part(),args[1]->decimal_int_part());
return min(max_int_part + decimals, DECIMAL_MAX_PRECISION);
}
enum_field_types Item_func_ifnull::field_type() const
{
return cached_field_type;
@ -1251,6 +1259,14 @@ Item_func_if::fix_length_and_dec()
}
uint Item_func_if::decimal_precision() const
{
int precision=(max(args[1]->decimal_int_part(),args[2]->decimal_int_part())+
decimals);
return min(precision, DECIMAL_MAX_PRECISION);
}
double
Item_func_if::val_real()
{
@ -1304,7 +1320,8 @@ Item_func_nullif::fix_length_and_dec()
{
max_length=args[0]->max_length;
decimals=args[0]->decimals;
agg_result_type(&cached_result_type, args, 2);
unsigned_flag= args[0]->unsigned_flag;
cached_result_type= args[0]->result_type();
if (cached_result_type == STRING_RESULT &&
agg_arg_charsets(collation, args, arg_count, MY_COLL_CMP_CONV))
return;
@ -1616,6 +1633,18 @@ void Item_func_case::fix_length_and_dec()
}
uint Item_func_case::decimal_precision() const
{
int max_int_part=0;
for (uint i=0 ; i < ncases ; i+=2)
set_if_bigger(max_int_part, args[i+1]->decimal_int_part());
if (else_expr_num != -1)
set_if_bigger(max_int_part, args[else_expr_num]->decimal_int_part());
return min(max_int_part + decimals, DECIMAL_MAX_PRECISION);
}
/* TODO: Fix this so that it prints the whole CASE expression */
void Item_func_case::print(String *str)

View file

@ -95,6 +95,7 @@ public:
Item_bool_func(THD *thd, Item_bool_func *item) :Item_int_func(thd, item) {}
bool is_bool_func() { return 1; }
void fix_length_and_dec() { decimals=0; max_length=1; }
uint decimal_precision() const { return 1; }
};
class Item_cache;
@ -208,6 +209,7 @@ public:
bool is_null() { return test(args[0]->is_null() || args[1]->is_null()); }
bool is_bool_func() { return 1; }
CHARSET_INFO *compare_collation() { return cmp.cmp_collation.collation; }
uint decimal_precision() const { return 1; }
friend class Arg_comparator;
};
@ -411,6 +413,7 @@ public:
void fix_length_and_dec();
void print(String *str);
CHARSET_INFO *compare_collation() { return cmp_collation.collation; }
uint decimal_precision() const { return 1; }
};
@ -445,6 +448,7 @@ public:
longlong val_int();
void fix_length_and_dec();
const char *func_name() const { return "interval"; }
uint decimal_precision() const { return 2; }
};
@ -485,6 +489,7 @@ public:
void fix_length_and_dec();
const char *func_name() const { return "ifnull"; }
Field *tmp_table_field(TABLE *table);
uint decimal_precision() const;
};
@ -507,6 +512,7 @@ public:
return Item_func::fix_fields(thd, tlist, ref);
}
void fix_length_and_dec();
uint decimal_precision() const;
const char *func_name() const { return "if"; }
table_map not_null_tables() const { return 0; }
};
@ -525,6 +531,7 @@ public:
my_decimal *val_decimal(my_decimal *);
enum Item_result result_type () const { return cached_result_type; }
void fix_length_and_dec();
uint decimal_precision() const { return args[0]->decimal_precision(); }
const char *func_name() const { return "nullif"; }
void print(String *str) { Item_func::print(str); }
table_map not_null_tables() const { return 0; }
@ -563,6 +570,7 @@ public:
String *val_str(String *);
my_decimal *val_decimal(my_decimal *);
void fix_length_and_dec();
uint decimal_precision() const;
table_map not_null_tables() const { return 0; }
enum Item_result result_type () const { return cached_result_type; }
const char *func_name() const { return "case"; }
@ -825,6 +833,7 @@ class Item_func_in :public Item_int_func
}
longlong val_int();
void fix_length_and_dec();
uint decimal_precision() const { return 1; }
void cleanup()
{
DBUG_ENTER("Item_func_in::cleanup");

View file

@ -534,8 +534,10 @@ Field *Item_func::tmp_table_field(TABLE *t_arg)
res= make_string_field(t_arg);
break;
case DECIMAL_RESULT:
res= new Field_new_decimal(max_length + (decimals?1:0), maybe_null,
name, t_arg, decimals);
res= new Field_new_decimal(my_decimal_precision_to_length(decimal_precision(),
decimals,
unsigned_flag),
maybe_null, name, t_arg, decimals, unsigned_flag);
break;
case ROW_RESULT:
default:
@ -590,19 +592,18 @@ void Item_func_numhybrid::fix_num_length_and_dec()
void Item_func::count_decimal_length()
{
uint32 length= 0;
int max_int_part= 0;
decimals= 0;
unsigned_flag= 1;
for (uint i=0 ; i < arg_count ; i++)
{
set_if_bigger(decimals, args[i]->decimals);
set_if_bigger(length, (args[i]->max_length - args[i]->decimals));
set_if_bigger(max_int_part, args[i]->decimal_int_part());
set_if_smaller(unsigned_flag, args[i]->unsigned_flag);
}
max_length= length;
length+= decimals;
if (length < max_length) // If previous operation gave overflow
max_length= UINT_MAX32;
else
max_length= length;
int precision= min(max_int_part + decimals, DECIMAL_MAX_PRECISION);
max_length= my_decimal_precision_to_length(precision, decimals,
unsigned_flag);
}
@ -616,8 +617,12 @@ void Item_func::count_decimal_length()
void Item_func::count_only_length()
{
max_length= 0;
unsigned_flag= 0;
for (uint i=0 ; i < arg_count ; i++)
{
set_if_bigger(max_length, args[i]->max_length);
set_if_bigger(unsigned_flag, args[i]->unsigned_flag);
}
}
@ -719,7 +724,6 @@ void Item_num_op::find_num_type(void)
{
decimals= 0;
hybrid_type=INT_RESULT;
unsigned_flag=args[0]->unsigned_flag | args[1]->unsigned_flag;
result_precision();
}
DBUG_PRINT("info", ("Type: %s",
@ -1075,9 +1079,17 @@ my_decimal *Item_func_plus::decimal_op(my_decimal *decimal_value)
void Item_func_additive_op::result_precision()
{
decimals= max(args[0]->decimals, args[1]->decimals);
max_length= (max(args[0]->max_length - args[0]->decimals,
args[1]->max_length - args[1]->decimals) +
decimals + 1);
int max_int_part= max(args[0]->decimal_precision() - args[0]->decimals,
args[1]->decimal_precision() - args[1]->decimals);
int precision= min(max_int_part + 1 + decimals, DECIMAL_MAX_PRECISION);
/* Integer operations keep unsigned_flag if one of arguments is unsigned */
if (result_type() == INT_RESULT)
unsigned_flag= args[0]->unsigned_flag | args[1]->unsigned_flag;
else
unsigned_flag= args[0]->unsigned_flag & args[1]->unsigned_flag;
max_length= my_decimal_precision_to_length(precision, decimals,
unsigned_flag);
}
@ -1172,10 +1184,15 @@ my_decimal *Item_func_mul::decimal_op(my_decimal *decimal_value)
void Item_func_mul::result_precision()
{
decimals= args[0]->decimals + args[1]->decimals;
max_length= ((args[0]->max_length - args[0]->decimals) +
(args[1]->max_length - args[1]->decimals) +
decimals);
/* Integer operations keep unsigned_flag if one of arguments is unsigned */
if (result_type() == INT_RESULT)
unsigned_flag= args[0]->unsigned_flag | args[1]->unsigned_flag;
else
unsigned_flag= args[0]->unsigned_flag & args[1]->unsigned_flag;
decimals= min(args[0]->decimals + args[1]->decimals, DECIMAL_MAX_SCALE);
int precision= min(args[0]->decimal_precision() + args[1]->decimal_precision(),
DECIMAL_MAX_PRECISION);
max_length= my_decimal_precision_to_length(precision, decimals,unsigned_flag);
}
@ -1207,7 +1224,7 @@ my_decimal *Item_func_div::decimal_op(my_decimal *decimal_value)
if ((null_value= args[1]->null_value))
return 0;
switch (my_decimal_div(E_DEC_FATAL_ERROR & ~E_DEC_DIV_ZERO, decimal_value,
val1, val2, DECIMAL_DIV_SCALE_INCREASE)) {
val1, val2, prec_increment)) {
case E_DEC_TRUNCATED:
case E_DEC_OK:
return decimal_value;
@ -1222,11 +1239,16 @@ my_decimal *Item_func_div::decimal_op(my_decimal *decimal_value)
void Item_func_div::result_precision()
{
decimals= (args[0]->decimals + args[0]->decimals +
DECIMAL_DIV_SCALE_INCREASE);
max_length= ((args[0]->max_length - args[0]->decimals) +
(args[1]->max_length - args[1]->decimals) +
decimals);
uint precision=min(args[0]->decimal_precision() + prec_increment,
DECIMAL_MAX_PRECISION);
/* Integer operations keep unsigned_flag if one of arguments is unsigned */
if (result_type() == INT_RESULT)
unsigned_flag= args[0]->unsigned_flag | args[1]->unsigned_flag;
else
unsigned_flag= args[0]->unsigned_flag & args[1]->unsigned_flag;
decimals= min(args[0]->decimals + prec_increment, DECIMAL_MAX_SCALE);
max_length= my_decimal_precision_to_length(precision, decimals,
unsigned_flag);
}
@ -1234,10 +1256,11 @@ void Item_func_div::fix_length_and_dec()
{
DBUG_ENTER("Item_func_div::fix_length_and_dec");
Item_num_op::fix_length_and_dec();
prec_increment= current_thd->variables.div_precincrement;
switch(hybrid_type) {
case REAL_RESULT:
{
decimals=max(args[0]->decimals,args[1]->decimals)+2;
decimals=max(args[0]->decimals,args[1]->decimals)+prec_increment;
set_if_smaller(decimals, NOT_FIXED_DEC);
max_length=args[0]->max_length - args[0]->decimals + decimals;
uint tmp=float_length(decimals);
@ -1383,7 +1406,6 @@ void Item_func_neg::fix_num_length_and_dec()
decimals= args[0]->decimals;
/* 1 add because sign can appear */
max_length= args[0]->max_length + 1;
unsigned_flag= 0;
}
@ -1409,6 +1431,7 @@ void Item_func_neg::fix_length_and_dec()
hybrid_type= DECIMAL_RESULT;
DBUG_PRINT("info", ("Type changed: DECIMAL_RESULT"));
}
unsigned_flag= 0;
DBUG_VOID_RETURN;
}
@ -1793,17 +1816,65 @@ my_decimal *Item_func_floor::decimal_op(my_decimal *decimal_value)
}
void Item_func_round::fix_num_length_and_dec()
void Item_func_round::fix_length_and_dec()
{
max_length= args[0]->max_length;
decimals= NOT_FIXED_DEC;
if (args[1]->const_item())
unsigned_flag= args[0]->unsigned_flag;
if (!args[1]->const_item())
{
int tmp=(int) args[1]->val_int();
if (tmp < 0)
decimals=0;
max_length= args[0]->max_length;
decimals= args[0]->decimals;
hybrid_type= REAL_RESULT;
return;
}
int decimals_to_set= max(args[1]->val_int(), 0);
if (args[0]->decimals == NOT_FIXED_DEC)
{
max_length= args[0]->max_length;
decimals= min(decimals_to_set, NOT_FIXED_DEC);
hybrid_type= REAL_RESULT;
return;
}
switch (args[0]->result_type())
{
case REAL_RESULT:
case STRING_RESULT:
hybrid_type= REAL_RESULT;
decimals= min(decimals_to_set, NOT_FIXED_DEC);
max_length= float_length(decimals);
break;
case INT_RESULT:
if (truncate || (args[0]->decimal_precision() < DECIMAL_LONGLONG_DIGITS))
{
/* Here we can keep INT_RESULT */
hybrid_type= INT_RESULT;
int length_can_increase= !truncate && (args[1]->val_int() < 0);
max_length= args[0]->max_length + length_can_increase;
decimals= 0;
break;
}
case DECIMAL_RESULT:
{
hybrid_type= DECIMAL_RESULT;
int decimals_delta= args[0]->decimals - decimals_to_set;
int precision= args[0]->decimal_precision();
if (decimals_delta > 0)
{
int length_increase= truncate ? 0:1;
precision-= decimals_delta - length_increase;
decimals= decimals_to_set;
}
else
decimals=min(tmp, NOT_FIXED_DEC);
/* Decimals to set is bigger that the original scale */
/* we keep original decimals value */
decimals= args[0]->decimals;
max_length= my_decimal_precision_to_length(precision, decimals,
unsigned_flag);
break;
}
default:
DBUG_ASSERT(0); /* This result type isn't handled */
}
}
@ -1881,7 +1952,9 @@ my_decimal *Item_func_round::decimal_op(my_decimal *decimal_value)
my_decimal val, *value= args[0]->val_decimal(&val);
int dec=(int) args[1]->val_int();
if (dec > 0)
decimals= dec; // to get correct output
{
decimals= min(dec, DECIMAL_MAX_SCALE); // to get correct output
}
if ((null_value= (args[0]->null_value || args[1]->null_value ||
my_decimal_round(E_DEC_FATAL_ERROR, value, dec, truncate,
decimal_value) > 1)))
@ -1973,6 +2046,7 @@ double Item_func_units::val_real()
void Item_func_min_max::fix_length_and_dec()
{
int max_int_part=0;
decimals=0;
max_length=0;
maybe_null=1;
@ -1982,12 +2056,16 @@ void Item_func_min_max::fix_length_and_dec()
{
set_if_bigger(max_length, args[i]->max_length);
set_if_bigger(decimals, args[i]->decimals);
set_if_bigger(max_int_part, args[i]->decimal_int_part());
if (!args[i]->maybe_null)
maybe_null=0;
cmp_type=item_cmp_type(cmp_type,args[i]->result_type());
}
if (cmp_type == STRING_RESULT)
agg_arg_charsets(collation, args, arg_count, MY_COLL_CMP_CONV);
else if ((cmp_type == DECIMAL_RESULT) || (cmp_type == INT_RESULT))
max_length= my_decimal_precision_to_length(max_int_part+decimals, decimals,
unsigned_flag);
}
@ -3914,15 +3992,17 @@ void Item_func_get_user_var::fix_length_and_dec()
switch (var_entry->type) {
case REAL_RESULT:
max_length= DBL_DIG + 8;
break;
case INT_RESULT:
max_length= MAX_BIGINT_WIDTH;
decimals=0;
break;
case STRING_RESULT:
max_length= MAX_BLOB_WIDTH;
break;
case DECIMAL_RESULT:
max_length= DECIMAL_MAX_LENGTH;
decimals= min(DECIMAL_MAX_LENGTH / 2, NOT_FIXED_DEC - 1);
max_length= DECIMAL_MAX_STR_LENGTH;
decimals= DECIMAL_MAX_SCALE;
break;
case ROW_RESULT: // Keep compiler happy
default:
@ -4773,7 +4853,7 @@ Item_func_sp::fix_length_and_dec()
if (result_field)
{
decimals= result_field->decimals();
max_length= result_field->representation_length();
max_length= result_field->field_length;
DBUG_VOID_RETURN;
}
@ -4785,29 +4865,12 @@ Item_func_sp::fix_length_and_dec()
}
else
{
if (!field)
field= sp_result_field();
field= sp_result_field();
decimals= field->decimals();
max_length= field->representation_length();
switch (field->result_type()) {
case STRING_RESULT:
maybe_null= 1;
case REAL_RESULT:
case INT_RESULT:
case DECIMAL_RESULT:
break;
case ROW_RESULT:
default:
// This case should never be chosen
DBUG_ASSERT(0);
break;
}
if (field != result_field)
delete field;
max_length= field->field_length;
maybe_null= 1;
}
delete field;
DBUG_VOID_RETURN;
}

View file

@ -267,6 +267,8 @@ public:
void fix_length_and_dec()
{ max_length=args[0]->max_length; unsigned_flag=0; }
void print(String *str);
uint decimal_precision() const { return args[0]->decimal_precision(); }
};
@ -296,7 +298,7 @@ public:
longlong val_int();
my_decimal *val_decimal(my_decimal*);
enum Item_result result_type () const { return DECIMAL_RESULT; }
enum_field_types field_type() const { return MYSQL_TYPE_DECIMAL; }
enum_field_types field_type() const { return MYSQL_TYPE_NEWDECIMAL; }
void fix_length_and_dec() {};
};
@ -346,6 +348,7 @@ public:
class Item_func_div :public Item_num_op
{
public:
uint prec_increment;
Item_func_div(Item *a,Item *b) :Item_num_op(a,b) {}
longlong int_op() { DBUG_ASSERT(0); return 0; }
double real_op();
@ -390,6 +393,7 @@ public:
const char *func_name() const { return "-"; }
void fix_length_and_dec();
void fix_num_length_and_dec();
uint decimal_precision() const { return args[0]->decimal_precision(); }
};
@ -593,7 +597,7 @@ public:
double real_op();
longlong int_op();
my_decimal *decimal_op(my_decimal *);
void fix_num_length_and_dec();
void fix_length_and_dec();
};

View file

@ -156,8 +156,8 @@ Field *Item_sum::create_tmp_field(bool group, TABLE *table,
collation.collation);
return make_string_field(table);
case DECIMAL_RESULT:
return new Field_new_decimal(max_length - (decimals?1:0),
maybe_null, name, table, decimals);
return new Field_new_decimal(max_length, maybe_null, name, table,
decimals, unsigned_flag);
case ROW_RESULT:
default:
// This case should never be choosen
@ -372,13 +372,16 @@ void Item_sum_sum::fix_length_and_dec()
break;
case INT_RESULT:
case DECIMAL_RESULT:
{
/* SUM result can't be longer than length(arg) + length(MAX_ROWS) */
max_length= min(args[0]->max_length + DECIMAL_LONGLONG_DIGITS,
DECIMAL_MAX_LENGTH);
int precision= args[0]->decimal_precision() + DECIMAL_LONGLONG_DIGITS;
max_length= my_decimal_precision_to_length(precision, decimals,
unsigned_flag);
curr_dec_buff= 0;
hybrid_type= DECIMAL_RESULT;
my_decimal_set_zero(dec_buffs);
break;
}
case ROW_RESULT:
default:
DBUG_ASSERT(0);
@ -725,11 +728,12 @@ void
Item_sum_avg_distinct::fix_length_and_dec()
{
Item_sum_distinct::fix_length_and_dec();
prec_increment= current_thd->variables.div_precincrement;
/*
AVG() will divide val by count. We need to reserve digits
after decimal point as the result can be fractional.
*/
decimals= min(decimals + 4, NOT_FIXED_DEC);
decimals= min(decimals + prec_increment, NOT_FIXED_DEC);
}
@ -790,14 +794,19 @@ void Item_sum_avg::fix_length_and_dec()
{
Item_sum_sum::fix_length_and_dec();
maybe_null=null_value=1;
decimals= min(args[0]->decimals + 4, NOT_FIXED_DEC);
prec_increment= current_thd->variables.div_precincrement;
if (hybrid_type == DECIMAL_RESULT)
{
f_scale= args[0]->decimals;
max_length= DECIMAL_MAX_LENGTH + (f_scale ? 1 : 0);
f_precision= DECIMAL_MAX_LENGTH;
int precision= args[0]->decimal_precision() + prec_increment;
decimals= min(args[0]->decimals + prec_increment, DECIMAL_MAX_SCALE);
max_length= my_decimal_precision_to_length(precision, decimals,
unsigned_flag);
f_precision= min(precision+DECIMAL_LONGLONG_DIGITS, DECIMAL_MAX_PRECISION);
f_scale= args[0]->decimals;
dec_bin_size= my_decimal_get_binary_size(f_precision, f_scale);
}
else
decimals= min(args[0]->decimals + prec_increment, NOT_FIXED_DEC);
}
@ -822,8 +831,8 @@ Field *Item_sum_avg::create_tmp_field(bool group, TABLE *table,
0, name, table, &my_charset_bin);
}
if (hybrid_type == DECIMAL_RESULT)
return new Field_new_decimal(f_precision,
maybe_null, name, table, f_scale);
return new Field_new_decimal(max_length, maybe_null, name, table,
decimals, unsigned_flag);
return new Field_double(max_length, maybe_null, name, table, decimals);
}
@ -868,7 +877,7 @@ my_decimal *Item_sum_avg::val_decimal(my_decimal *val)
}
sum_dec= Item_sum_sum::val_decimal(&sum);
int2my_decimal(E_DEC_FATAL_ERROR, count, 0, &cnt);
my_decimal_div(E_DEC_FATAL_ERROR, val, sum_dec, &cnt, 4);
my_decimal_div(E_DEC_FATAL_ERROR, val, sum_dec, &cnt, prec_increment);
return val;
}
@ -905,7 +914,8 @@ Item *Item_sum_std::copy_or_same(THD* thd)
Item_sum_variance::Item_sum_variance(THD *thd, Item_sum_variance *item):
Item_sum_num(thd, item), hybrid_type(item->hybrid_type),
cur_dec(item->cur_dec), count(item->count), sample(item->sample)
cur_dec(item->cur_dec), count(item->count), sample(item->sample),
prec_increment(item->prec_increment)
{
if (hybrid_type == DECIMAL_RESULT)
{
@ -929,20 +939,21 @@ void Item_sum_variance::fix_length_and_dec()
{
DBUG_ENTER("Item_sum_variance::fix_length_and_dec");
maybe_null= null_value= 1;
decimals= min(args[0]->decimals + 4, NOT_FIXED_DEC);
prec_increment= current_thd->variables.div_precincrement;
switch (args[0]->result_type()) {
case REAL_RESULT:
case STRING_RESULT:
decimals= min(args[0]->decimals + 4, NOT_FIXED_DEC);
hybrid_type= REAL_RESULT;
sum= 0.0;
break;
case INT_RESULT:
case DECIMAL_RESULT:
/*
SUM result can't be longer than length(arg)*2 +
digits_after_the_point_to_add
*/
max_length= args[0]->max_length*2 + 4;
{
int precision= args[0]->decimal_precision()*2 + prec_increment;
decimals= min(args[0]->decimals + prec_increment, DECIMAL_MAX_SCALE);
max_length= my_decimal_precision_to_length(precision, decimals,
unsigned_flag);
cur_dec= 0;
hybrid_type= DECIMAL_RESULT;
my_decimal_set_zero(dec_sum);
@ -954,12 +965,15 @@ void Item_sum_variance::fix_length_and_dec()
column_value * column_value
*/
f_scale0= args[0]->decimals;
f_precision0= DECIMAL_MAX_LENGTH / 2;
f_scale1= min(f_scale0 * 2, NOT_FIXED_DEC - 1);
f_precision1= DECIMAL_MAX_LENGTH;
f_precision0= min(args[0]->decimal_precision() + DECIMAL_LONGLONG_DIGITS,
DECIMAL_MAX_PRECISION);
f_scale1= min(args[0]->decimals * 2, DECIMAL_MAX_SCALE);
f_precision1= min(args[0]->decimal_precision()*2 + DECIMAL_LONGLONG_DIGITS,
DECIMAL_MAX_PRECISION);
dec_bin_size0= my_decimal_get_binary_size(f_precision0, f_scale0);
dec_bin_size1= my_decimal_get_binary_size(f_precision1, f_scale1);
break;
}
case ROW_RESULT:
default:
DBUG_ASSERT(0);
@ -997,8 +1011,8 @@ Field *Item_sum_variance::create_tmp_field(bool group, TABLE *table,
0, name, table, &my_charset_bin);
}
if (hybrid_type == DECIMAL_RESULT)
return new Field_new_decimal(DECIMAL_MAX_LENGTH,
maybe_null, name, table, f_scale1 + 4);
return new Field_new_decimal(max_length, maybe_null, name, table,
decimals, unsigned_flag);
return new Field_double(max_length, maybe_null,name,table,decimals);
}
@ -1083,9 +1097,11 @@ my_decimal *Item_sum_variance::val_decimal(my_decimal *dec_buf)
int2my_decimal(E_DEC_FATAL_ERROR, count-sample, 0, &count1_buf);
my_decimal_mul(E_DEC_FATAL_ERROR, &sum_sqr_buf,
dec_sum+cur_dec, dec_sum+cur_dec);
my_decimal_div(E_DEC_FATAL_ERROR, dec_buf, &sum_sqr_buf, &count_buf, 2);
my_decimal_div(E_DEC_FATAL_ERROR, dec_buf,
&sum_sqr_buf, &count_buf, prec_increment);
my_decimal_sub(E_DEC_FATAL_ERROR, &sum_sqr_buf, dec_sqr+cur_dec, dec_buf);
my_decimal_div(E_DEC_FATAL_ERROR, dec_buf, &sum_sqr_buf, &count1_buf, 2);
my_decimal_div(E_DEC_FATAL_ERROR, dec_buf,
&sum_sqr_buf, &count1_buf, prec_increment);
return dec_buf;
}
@ -1929,10 +1945,12 @@ Item_avg_field::Item_avg_field(Item_result res_type, Item_sum_avg *item)
{
name=item->name;
decimals=item->decimals;
max_length=item->max_length;
max_length= item->max_length;
unsigned_flag= item->unsigned_flag;
field=item->result_field;
maybe_null=1;
hybrid_type= res_type;
prec_increment= item->prec_increment;
if (hybrid_type == DECIMAL_RESULT)
{
f_scale= item->f_scale;
@ -1941,7 +1959,6 @@ Item_avg_field::Item_avg_field(Item_result res_type, Item_sum_avg *item)
}
}
double Item_avg_field::val_real()
{
// fix_fields() never calls for this Item
@ -1982,7 +1999,8 @@ my_decimal *Item_avg_field::val_decimal(my_decimal *dec_buf)
binary2my_decimal(E_DEC_FATAL_ERROR,
field->ptr, &dec_field, f_precision, f_scale);
int2my_decimal(E_DEC_FATAL_ERROR, count, 0, &dec_count);
my_decimal_div(E_DEC_FATAL_ERROR, dec_buf, &dec_field, &dec_count, 4);
my_decimal_div(E_DEC_FATAL_ERROR, dec_buf,
&dec_field, &dec_count, prec_increment);
return dec_buf;
}
@ -2054,9 +2072,11 @@ Item_variance_field::Item_variance_field(Item_sum_variance *item)
name=item->name;
decimals=item->decimals;
max_length=item->max_length;
unsigned_flag= item->unsigned_flag;
field=item->result_field;
maybe_null=1;
sample= item->sample;
prec_increment= item->prec_increment;
if ((hybrid_type= item->hybrid_type) == DECIMAL_RESULT)
{
f_scale0= item->f_scale0;
@ -2116,9 +2136,10 @@ my_decimal *Item_variance_field::val_decimal(my_decimal *dec_buf)
binary2my_decimal(E_DEC_FATAL_ERROR, field->ptr+dec_bin_size0,
&dec_sqr, f_precision1, f_scale1);
my_decimal_mul(E_DEC_FATAL_ERROR, &tmp, &dec_sum, &dec_sum);
my_decimal_div(E_DEC_FATAL_ERROR, dec_buf, &tmp, &dec_count, 2);
my_decimal_div(E_DEC_FATAL_ERROR, dec_buf, &tmp, &dec_count, prec_increment);
my_decimal_sub(E_DEC_FATAL_ERROR, &dec_sum, &dec_sqr, dec_buf);
my_decimal_div(E_DEC_FATAL_ERROR, dec_buf, &dec_sum, &dec1_count, 2);
my_decimal_div(E_DEC_FATAL_ERROR, dec_buf,
&dec_sum, &dec1_count, prec_increment);
return dec_buf;
}

View file

@ -237,6 +237,7 @@ private:
Item_sum_avg_distinct(THD *thd, Item_sum_avg_distinct *original)
:Item_sum_distinct(thd, original) {}
public:
uint prec_increment;
Item_sum_avg_distinct(Item *item_arg) : Item_sum_distinct(item_arg) {}
void fix_length_and_dec();
@ -343,8 +344,8 @@ class Item_avg_field :public Item_result_field
public:
Field *field;
Item_result hybrid_type;
uint f_precision, f_scale;
uint dec_bin_size;
uint f_precision, f_scale, dec_bin_size;
uint prec_increment;
Item_avg_field(Item_result res_type, Item_sum_avg *item);
enum Type type() const { return FIELD_AVG_ITEM; }
double val_real();
@ -366,12 +367,14 @@ class Item_sum_avg :public Item_sum_sum
{
public:
ulonglong count;
uint f_precision, f_scale;
uint dec_bin_size;
uint prec_increment;
uint f_precision, f_scale, dec_bin_size;
Item_sum_avg(Item *item_par) :Item_sum_sum(item_par), count(0) {}
Item_sum_avg(THD *thd, Item_sum_avg *item)
:Item_sum_sum(thd, item), count(item->count) {}
:Item_sum_sum(thd, item), count(item->count),
prec_increment(item->prec_increment) {}
void fix_length_and_dec();
enum Sumfunctype sum_func () const {return AVG_FUNC;}
void clear();
@ -402,6 +405,7 @@ public:
uint f_precision1, f_scale1;
uint dec_bin_size0, dec_bin_size1;
uint sample;
uint prec_increment;
Item_variance_field(Item_sum_variance *item);
enum Type type() const {return FIELD_VARIANCE_ITEM; }
double val_real();
@ -446,6 +450,7 @@ public:
uint f_precision1, f_scale1;
uint dec_bin_size0, dec_bin_size1;
uint sample;
uint prec_increment;
Item_sum_variance(Item *item_par, uint sample_arg) :Item_sum_num(item_par),
hybrid_type(REAL_RESULT), cur_dec(0), count(0), sample(sample_arg)

View file

@ -81,7 +81,7 @@ int decimal_operation_results(int result)
*/
int my_decimal2string(uint mask, const my_decimal *d,
int fixed_prec, int fixed_dec,
uint fixed_prec, uint fixed_dec,
char filler, String *str)
{
int length= (fixed_prec ? (fixed_prec + 1) : my_decimal_string_length(d));
@ -89,7 +89,7 @@ int my_decimal2string(uint mask, const my_decimal *d,
if (str->alloc(length))
return check_result(mask, E_DEC_OOM);
result= decimal2string((decimal_t*) d, (char*) str->ptr(),
&length, fixed_prec, fixed_dec,
&length, (int)fixed_prec, fixed_dec,
filler);
str->length(length);
return check_result(mask, result);
@ -123,7 +123,7 @@ int my_decimal2binary(uint mask, const my_decimal *d, char *bin, int prec,
int err1= E_DEC_OK, err2;
my_decimal rounded;
my_decimal2decimal(d, &rounded);
decimal_optimize_fraction(&rounded);
rounded.frac= decimal_actual_fraction(&rounded);
if (scale < rounded.frac)
{
err1= E_DEC_TRUNCATED;
@ -220,18 +220,16 @@ print_decimal_buff(const my_decimal *dec, const byte* ptr, int length)
}
void dbug_print_decimal(const char *tag, const char *format, my_decimal *val)
const char *dbug_decimal_as_string(char *buff, const my_decimal *val)
{
char buff[DECIMAL_MAX_STR_LENGTH];
String str(buff, sizeof(buff), &my_charset_bin);
int length= DECIMAL_MAX_STR_LENGTH;
if (!val)
str.set("NULL", 4, &my_charset_bin);
else
my_decimal2string(0, val, 0, 0, 0, &str);
DBUG_PRINT(tag, (format, (char*) str.ptr()));
return "NULL";
(void)decimal2string((decimal_t*) val, buff, &length, 0,0,0);
return buff;
}
#endif
#endif /*DBUG_OFF*/
#endif /*MYSQL_CLIENT*/

View file

@ -35,27 +35,27 @@ C_MODE_END
#define DECIMAL_LONG_DIGITS 10
#define DECIMAL_LONG3_DIGITS 8
/* number of digits on which we increase scale of devision result */
#define DECIMAL_DIV_SCALE_INCREASE 5
/* maximum length of buffer in our big digits (uint32) */
#define DECIMAL_BUFF_LENGTH 8
#define DECIMAL_BUFF_LENGTH 9
/*
maximum guaranteed length of number in decimal digits (number of our
maximum guaranteed precision of number in decimal digits (number of our
digits * number of decimal digits in one our big digit - number of decimal
digits in one our big digit decreased on 1 (because we always put decimal
point on the border of our big digits))
*/
#define DECIMAL_MAX_LENGTH ((8 * 9) - 8)
#define DECIMAL_MAX_PRECISION ((DECIMAL_BUFF_LENGTH * 9) - 8*2)
#define DECIMAL_MAX_SCALE 30
#define DECIMAL_NOT_SPECIFIED 31
/*
maximum length of string representation (number of maximum decimal
digits + 1 position for sign + 1 position for decimal point)
*/
#define DECIMAL_MAX_STR_LENGTH (DECIMAL_MAX_LENGTH + 2)
#define DECIMAL_MAX_STR_LENGTH (DECIMAL_MAX_PRECISION + 2)
/*
maximum size of packet length
*/
#define DECIMAL_MAX_FIELD_SIZE DECIMAL_MAX_LENGTH
#define DECIMAL_MAX_FIELD_SIZE DECIMAL_MAX_PRECISION
inline uint my_decimal_size(uint precision, uint scale)
@ -68,6 +68,12 @@ inline uint my_decimal_size(uint precision, uint scale)
}
inline int my_decimal_int_part(uint precision, uint decimals)
{
return precision - ((decimals == DECIMAL_NOT_SPECIFIED) ? 0 : decimals);
}
/*
my_decimal class limits 'decimal_t' type to what we need in MySQL
It contains internally all necessary space needed by the instance so
@ -99,15 +105,16 @@ public:
bool sign() const { return decimal_t::sign; }
void sign(bool s) { decimal_t::sign= s; }
uint precision() const { return intg + frac; }
};
#ifndef DBUG_OFF
void print_decimal(const my_decimal *dec);
void print_decimal_buff(const my_decimal *dec, const byte* ptr, int length);
void dbug_print_decimal(const char *tag, const char *format, my_decimal *val);
const char *dbug_decimal_as_string(char *buff, const my_decimal *val);
#else
#define dbug_print_decimal(A,B,C)
#define dbug_decimal_as_string(A) NULL
#endif
#ifndef MYSQL_CLIENT
@ -126,6 +133,18 @@ inline int check_result(uint mask, int result)
return result;
}
inline uint my_decimal_length_to_precision(uint length, uint scale,
bool unsigned_flag)
{
return (uint) (length - (scale>0 ? 1:0) - (unsigned_flag ? 0:1));
}
inline uint32 my_decimal_precision_to_length(uint precision, uint8 scale,
bool unsigned_flag)
{
set_if_smaller(precision, DECIMAL_MAX_PRECISION);
return (uint32)(precision + (scale>0 ? 1:0) + (unsigned_flag ? 0:1));
}
inline
int my_decimal_string_length(const my_decimal *d)
@ -209,8 +228,8 @@ int my_decimal_ceiling(uint mask, const my_decimal *from, my_decimal *to)
#ifndef MYSQL_CLIENT
int my_decimal2string(uint mask, const my_decimal *d, int fixed_prec,
int fixed_dec, char filler, String *str);
int my_decimal2string(uint mask, const my_decimal *d, uint fixed_prec,
uint fixed_dec, char filler, String *str);
#endif
inline
@ -326,7 +345,8 @@ int my_decimal_cmp(const my_decimal *a, const my_decimal *b)
inline
void max_my_decimal(my_decimal *to, int precision, int frac)
{
DBUG_ASSERT(precision <= DECIMAL_MAX_LENGTH);
DBUG_ASSERT((precision <= DECIMAL_MAX_PRECISION)&&
(frac <= DECIMAL_MAX_SCALE));
max_decimal(precision, frac, (decimal_t*) to);
}

View file

@ -4219,7 +4219,8 @@ enum options_mysqld
OPT_PRELOAD_BUFFER_SIZE,
OPT_QUERY_CACHE_LIMIT, OPT_QUERY_CACHE_MIN_RES_UNIT, OPT_QUERY_CACHE_SIZE,
OPT_QUERY_CACHE_TYPE, OPT_QUERY_CACHE_WLOCK_INVALIDATE, OPT_RECORD_BUFFER,
OPT_RECORD_RND_BUFFER, OPT_RELAY_LOG_SPACE_LIMIT, OPT_RELAY_LOG_PURGE,
OPT_RECORD_RND_BUFFER, OPT_DIV_PRECINCREMENT, OPT_RELAY_LOG_SPACE_LIMIT,
OPT_RELAY_LOG_PURGE,
OPT_SLAVE_NET_TIMEOUT, OPT_SLAVE_COMPRESSED_PROTOCOL, OPT_SLOW_LAUNCH_TIME,
OPT_SLAVE_TRANS_RETRIES, OPT_READONLY, OPT_DEBUGGING,
OPT_SORT_BUFFER, OPT_TABLE_CACHE,
@ -5451,6 +5452,11 @@ The minimum value for this variable is 4096.",
(gptr*) &max_system_variables.read_rnd_buff_size, 0,
GET_ULONG, REQUIRED_ARG, 256*1024L, IO_SIZE*2+MALLOC_OVERHEAD,
~0L, MALLOC_OVERHEAD, IO_SIZE, 0},
{"div_precision_increment", OPT_DIV_PRECINCREMENT,
"Precision of the result of '/' operator will be increased on that value.",
(gptr*) &global_system_variables.div_precincrement,
(gptr*) &max_system_variables.div_precincrement, 0, GET_ULONG,
REQUIRED_ARG, 4, 0, DECIMAL_MAX_SCALE, 0, 0, 0},
{"record_buffer", OPT_RECORD_BUFFER,
"Alias for read_buffer_size",
(gptr*) &global_system_variables.read_buff_size,

View file

@ -298,6 +298,8 @@ sys_var_thd_ulong sys_read_buff_size("read_buffer_size",
sys_var_bool_ptr sys_readonly("read_only", &opt_readonly);
sys_var_thd_ulong sys_read_rnd_buff_size("read_rnd_buffer_size",
&SV::read_rnd_buff_size);
sys_var_thd_ulong sys_div_precincrement("div_precision_increment",
&SV::div_precincrement);
#ifdef HAVE_REPLICATION
sys_var_bool_ptr sys_relay_log_purge("relay_log_purge",
&relay_log_purge);
@ -570,6 +572,7 @@ sys_var *sys_variables[]=
&sys_connect_timeout,
&sys_date_format,
&sys_datetime_format,
&sys_div_precincrement,
&sys_default_week_format,
&sys_delay_key_write,
&sys_delayed_insert_limit,
@ -758,6 +761,7 @@ struct show_var_st init_vars[]= {
{"datadir", mysql_real_data_home, SHOW_CHAR},
{sys_date_format.name, (char*) &sys_date_format, SHOW_SYS},
{sys_datetime_format.name, (char*) &sys_datetime_format, SHOW_SYS},
{sys_div_precincrement.name,(char*) &sys_div_precincrement,SHOW_SYS},
{sys_default_week_format.name, (char*) &sys_default_week_format, SHOW_SYS},
{sys_delay_key_write.name, (char*) &sys_delay_key_write, SHOW_SYS},
{sys_delayed_insert_limit.name, (char*) &sys_delayed_insert_limit,SHOW_SYS},

View file

@ -164,7 +164,10 @@ sp_eval_func_item(THD *thd, Item *it, enum enum_field_types type)
it= new Item_null();
else
it= new Item_decimal(val);
dbug_print_decimal("info", "DECIMAL_RESULT: %s", val);
#ifndef DBUG_OFF
char dbug_buff[DECIMAL_MAX_STR_LENGTH+1];
DBUG_PRINT("info", ("DECIMAL_RESULT: %s", dbug_decimal_as_string(dbug_buff, val)));
#endif
break;
}
case STRING_RESULT:

View file

@ -523,6 +523,7 @@ struct system_variables
ulong query_cache_type;
ulong read_buff_size;
ulong read_rnd_buff_size;
ulong div_precincrement;
ulong sortbuff_size;
ulong table_type;
ulong tmp_table_size;

View file

@ -5471,9 +5471,14 @@ new_create_field(THD *thd, char *field_name, enum_field_types type,
}
new_field->pack_length=
my_decimal_get_binary_size(new_field->length, new_field->decimals);
if (new_field->length <= DECIMAL_MAX_LENGTH &&
if (new_field->length <= DECIMAL_MAX_PRECISION &&
new_field->length >= new_field->decimals)
{
new_field->length=
my_decimal_precision_to_length(new_field->length, new_field->decimals,
type_modifier & UNSIGNED_FLAG);
break;
}
my_error(ER_WRONG_FIELD_SPEC, MYF(0), field_name);
DBUG_RETURN(NULL);
case MYSQL_TYPE_VARCHAR:

View file

@ -7781,9 +7781,8 @@ static Field *create_tmp_field_from_item(THD *thd, Item *item, TABLE *table,
new_field= item->make_string_field(table);
break;
case DECIMAL_RESULT:
new_field= new Field_new_decimal(item->max_length - (item->decimals?1:0),
maybe_null,
item->name, table, item->decimals);
new_field= new Field_new_decimal(item->max_length, maybe_null, item->name,
table, item->decimals, item->unsigned_flag);
break;
case ROW_RESULT:
default:

View file

@ -2362,10 +2362,10 @@ static int get_schema_column_record(THD *thd, struct st_table_list *tables,
strlen((const char*) pos), cs);
if (field->has_charset())
{
table->field[8]->store((longlong) field->representation_length()/
table->field[8]->store((longlong) field->field_length/
field->charset()->mbmaxlen);
table->field[8]->set_notnull();
table->field[9]->store((longlong) field->representation_length());
table->field[9]->store((longlong) field->field_length);
table->field[9]->set_notnull();
}
@ -2373,7 +2373,8 @@ static int get_schema_column_record(THD *thd, struct st_table_list *tables,
uint dec =field->decimals();
switch (field->type()) {
case FIELD_TYPE_NEWDECIMAL:
table->field[10]->store((longlong) field->field_length);
table->field[10]->store((longlong)
((Field_new_decimal*)field)->precision);
table->field[10]->set_notnull();
table->field[11]->store((longlong) field->decimals());
table->field[11]->set_notnull();

View file

@ -274,20 +274,20 @@ static dec1 *remove_leading_zeroes(decimal_t *from, int *intg_result)
/*
Remove ending 0 digits from fraction part
Count actual length of fraction part (without ending zeroes)
SYNOPSIS
decimal_optimize_fraction()
decimal_actual_fraction()
from number for processing
*/
void decimal_optimize_fraction(decimal_t *from)
int decimal_actual_fraction(decimal_t *from)
{
int frac= from->frac, i;
dec1 *buf0= from->buf + ROUND_UP(from->intg) + ROUND_UP(frac) - 1;
if (frac == 0)
return;
return 0;
i= ((frac - 1) % DIG_PER_DEC1 + 1);
while (frac > 0 && *buf0 == 0)
@ -302,7 +302,7 @@ void decimal_optimize_fraction(decimal_t *from)
*buf0 % powers10[i++] == 0;
frac--);
}
from->frac= frac;
return frac;
}
@ -332,23 +332,15 @@ int decimal2string(decimal_t *from, char *to, int *to_len,
int fixed_precision, int fixed_decimals,
char filler)
{
int len, intg, frac=from->frac, i, intg_len, frac_len, fill;
int len, intg, frac= from->frac, i, intg_len, frac_len, fill;
/* number digits before decimal point */
int fixed_intg= (fixed_precision ?
(fixed_precision -
(from->sign ? 1 : 0) -
(fixed_decimals ? 1 : 0) -
fixed_decimals) :
0);
(fixed_precision - fixed_decimals) : 0);
int error=E_DEC_OK;
char *s=to;
dec1 *buf, *buf0=from->buf, tmp;
DBUG_ASSERT(*to_len >= 2+from->sign);
DBUG_ASSERT(fixed_precision == 0 ||
(fixed_precision < *to_len &&
fixed_precision > ((from->sign ? 1 : 0) +
(fixed_decimals ? 1 : 0))));
/* removing leading zeroes */
buf0= remove_leading_zeroes(from, &intg);
@ -2609,7 +2601,7 @@ void test_fr(const char *s1, const char *orig)
printf("%-40s => ", s);
end= strend(s1);
string2decimal(s1, &a, &end);
decimal_optimize_fraction(&a);
a.frac= decimal_actual_fraction(&a);
print_decimal(&a, orig, 0, 0);
printf("\n");
}
@ -2947,7 +2939,7 @@ int main()
test_sh("123456789.987654321", 0, "123456789.987654321", 0);
a.len= sizeof(buf1)/sizeof(dec1);
printf("==== decimal_optimize_fraction ====\n");
printf("==== decimal_actual_fraction ====\n");
test_fr("1.123456789000000000", "1.123456789");
test_fr("1.12345678000000000", "1.12345678");
test_fr("1.1234567000000000", "1.1234567");