Commit 414299f4 authored by mleich@five.local.lan's avatar mleich@five.local.lan

Post merge fix for

   ChangeSet@1.2583, 2008-03-31
   Merge five.local.lan:/work/merge/mysql-5.0-Bug
   into  five.local.lan:/work/merge/mysql-5.1-Bug
   Addditional manual fixes will be needed.
   MERGE: 1.1810.3667.16

   Which contains
      ChangeSet@1.1810.3667.16, 2008-03-31
      Fix for Bug
        #35335 funcs_1: Some tests fail within load_file during
                        pushbuild runs
   ...
parent 6a835464
...@@ -46,6 +46,7 @@ dist-hook: ...@@ -46,6 +46,7 @@ dist-hook:
$(distdir)/std_data/ndb_backup51_data_le \ $(distdir)/std_data/ndb_backup51_data_le \
$(distdir)/std_data/parts \ $(distdir)/std_data/parts \
$(distdir)/lib \ $(distdir)/lib \
$(distdir)/funcs_1 \
$(distdir)/lib/My $(distdir)/lib/My
-$(INSTALL_DATA) $(srcdir)/t/*.def $(distdir)/t -$(INSTALL_DATA) $(srcdir)/t/*.def $(distdir)/t
$(INSTALL_DATA) $(srcdir)/t/*.test $(distdir)/t $(INSTALL_DATA) $(srcdir)/t/*.test $(distdir)/t
...@@ -75,6 +76,7 @@ dist-hook: ...@@ -75,6 +76,7 @@ dist-hook:
$(INSTALL_DATA) $(srcdir)/std_data/ndb_backup51_data_be/BACKUP* $(distdir)/std_data/ndb_backup51_data_be $(INSTALL_DATA) $(srcdir)/std_data/ndb_backup51_data_be/BACKUP* $(distdir)/std_data/ndb_backup51_data_be
$(INSTALL_DATA) $(srcdir)/std_data/ndb_backup51_data_le/BACKUP* $(distdir)/std_data/ndb_backup51_data_le $(INSTALL_DATA) $(srcdir)/std_data/ndb_backup51_data_le/BACKUP* $(distdir)/std_data/ndb_backup51_data_le
$(INSTALL_DATA) $(srcdir)/std_data/parts/part_* $(distdir)/std_data/parts $(INSTALL_DATA) $(srcdir)/std_data/parts/part_* $(distdir)/std_data/parts
$(INSTALL_DATA) $(srcdir)/std_data/funcs_1/* $(distdir)/std_data/funcs_1
$(INSTALL_DATA) $(srcdir)/lib/*.pl $(distdir)/lib $(INSTALL_DATA) $(srcdir)/lib/*.pl $(distdir)/lib
$(INSTALL_DATA) $(srcdir)/lib/My/*.pm $(distdir)/lib/My $(INSTALL_DATA) $(srcdir)/lib/My/*.pm $(distdir)/lib/My
-rm -rf `find $(distdir)/suite -type d -name SCCS` $(distdir)/suite/row_lock -rm -rf `find $(distdir)/suite -type d -name SCCS` $(distdir)/suite/row_lock
...@@ -93,6 +95,7 @@ install-data-local: ...@@ -93,6 +95,7 @@ install-data-local:
$(DESTDIR)$(testdir)/std_data/ndb_backup51_data_le \ $(DESTDIR)$(testdir)/std_data/ndb_backup51_data_le \
$(DESTDIR)$(testdir)/std_data/parts \ $(DESTDIR)$(testdir)/std_data/parts \
$(DESTDIR)$(testdir)/lib \ $(DESTDIR)$(testdir)/lib \
$(DESTDIR)$(testdir)/funcs_1 \
$(DESTDIR)$(testdir)/lib/My $(DESTDIR)$(testdir)/lib/My
$(INSTALL_DATA) $(srcdir)/README $(DESTDIR)$(testdir) $(INSTALL_DATA) $(srcdir)/README $(DESTDIR)$(testdir)
-$(INSTALL_DATA) $(srcdir)/t/*.def $(DESTDIR)$(testdir)/t -$(INSTALL_DATA) $(srcdir)/t/*.def $(DESTDIR)$(testdir)/t
...@@ -127,6 +130,7 @@ install-data-local: ...@@ -127,6 +130,7 @@ install-data-local:
$(INSTALL_DATA) $(srcdir)/std_data/ndb_backup51_data_be/BACKUP* $(DESTDIR)$(testdir)/std_data/ndb_backup51_data_be $(INSTALL_DATA) $(srcdir)/std_data/ndb_backup51_data_be/BACKUP* $(DESTDIR)$(testdir)/std_data/ndb_backup51_data_be
$(INSTALL_DATA) $(srcdir)/std_data/ndb_backup51_data_le/BACKUP* $(DESTDIR)$(testdir)/std_data/ndb_backup51_data_le $(INSTALL_DATA) $(srcdir)/std_data/ndb_backup51_data_le/BACKUP* $(DESTDIR)$(testdir)/std_data/ndb_backup51_data_le
$(INSTALL_DATA) $(srcdir)/std_data/parts/part_* $(DESTDIR)$(testdir)/std_data/parts $(INSTALL_DATA) $(srcdir)/std_data/parts/part_* $(DESTDIR)$(testdir)/std_data/parts
$(INSTALL_DATA) $(srcdir)/std_data/funcs_1/* $(distdir)/std_data/funcs_1
$(INSTALL_DATA) $(srcdir)/lib/*.pl $(DESTDIR)$(testdir)/lib $(INSTALL_DATA) $(srcdir)/lib/*.pl $(DESTDIR)$(testdir)/lib
$(INSTALL_DATA) $(srcdir)/lib/My/*.pm $(DESTDIR)$(testdir)/lib/My $(INSTALL_DATA) $(srcdir)/lib/My/*.pm $(DESTDIR)$(testdir)/lib/My
for f in `(cd $(srcdir); find suite -type f | egrep -v 'SCCS|row_lock')`; \ for f in `(cd $(srcdir); find suite -type f | egrep -v 'SCCS|row_lock')`; \
......
...@@ -12,14 +12,14 @@ ...@@ -12,14 +12,14 @@
--disable_query_log --disable_query_log
# ------------------------------------------------------------------------------ # ------------------------------------------------------------------------------
# Get the size of ONE known colum and check the size against some values to # Get the size of ONE known colum and check the size against some values to
# be able to use the correct --replace_result statement. Using this only the # be able to use the correct --replace_result statement. Using this only the
# one pair of 'wrong' values is replaced and not all occurrencies of all # one pair of 'wrong' values is replaced and not all occurrencies of all
# possible pairs of values. See bug #12777 for details. # possible pairs of values. See bug #12777 for details.
SELECT character_maximum_length INTO @CML SELECT character_maximum_length INTO @CML
FROM information_schema.columns FROM information_schema.columns
WHERE table_schema = 'information_schema' WHERE table_schema = 'information_schema'
AND table_name = 'columns' AND table_name = 'columns'
AND column_name = 'table_catalog'; AND column_name = 'table_catalog';
let $bug_12777_0512= `SELECT @CML = 512`; let $bug_12777_0512= `SELECT @CML = 512`;
...@@ -53,7 +53,7 @@ let $SERVER_NAME= `SELECT DISTINCT host FROM mysql.user WHERE host NOT In ("loca ...@@ -53,7 +53,7 @@ let $SERVER_NAME= `SELECT DISTINCT host FROM mysql.user WHERE host NOT In ("loca
# load tables # load tables
# ----------- # -----------
# #
# this was part of the 4 files $<engine>_datadict.test, but it has been moved # this was part of the 4 files $<engine>_datadict.test, but it has been moved
# here to have only one place where all preparation for the test is done. # here to have only one place where all preparation for the test is done.
# #
################################################################################ ################################################################################
......
...@@ -123,7 +123,7 @@ let $wait_timeout= 4; ...@@ -123,7 +123,7 @@ let $wait_timeout= 4;
let $wait_condition= SELECT id,user,host,db,command,@time2:=time,state,info FROM INFORMATION_SCHEMA.PROCESSLIST let $wait_condition= SELECT id,user,host,db,command,@time2:=time,state,info FROM INFORMATION_SCHEMA.PROCESSLIST
WHERE TIME > @time; WHERE TIME > @time;
--source include/wait_condition.inc --source include/wait_condition.inc
# #
# Expect to hit TIME > @time # Expect to hit TIME > @time
SELECT @time < @time2; SELECT @time < @time2;
# #
......
...@@ -4,66 +4,67 @@ ...@@ -4,66 +4,67 @@
drop table if exists tb1 ; drop table if exists tb1 ;
--enable_warnings --enable_warnings
create table tb1 ( create table tb1 (
f1 char(0), f1 char(0),
f2 char(0) binary, f2 char(0) binary,
f3 char(0) ascii, f3 char(0) ascii,
f4 tinytext unicode, f4 tinytext unicode,
f5 text, f5 text,
f6 mediumtext, f6 mediumtext,
f7 longtext, f7 longtext,
f8 tinyblob, f8 tinyblob,
f9 blob, f9 blob,
f10 mediumblob, f10 mediumblob,
f11 longblob, f11 longblob,
f12 binary, f12 binary,
f13 tinyint, f13 tinyint,
f14 tinyint unsigned, f14 tinyint unsigned,
f15 tinyint zerofill, f15 tinyint zerofill,
f16 tinyint unsigned zerofill, f16 tinyint unsigned zerofill,
f17 smallint, f17 smallint,
f18 smallint unsigned, f18 smallint unsigned,
f19 smallint zerofill, f19 smallint zerofill,
f20 smallint unsigned zerofill, f20 smallint unsigned zerofill,
f21 mediumint, f21 mediumint,
f22 mediumint unsigned, f22 mediumint unsigned,
f23 mediumint zerofill, f23 mediumint zerofill,
f24 mediumint unsigned zerofill, f24 mediumint unsigned zerofill,
f25 int, f25 int,
f26 int unsigned, f26 int unsigned,
f27 int zerofill, f27 int zerofill,
f28 int unsigned zerofill, f28 int unsigned zerofill,
f29 bigint, f29 bigint,
f30 bigint unsigned, f30 bigint unsigned,
f31 bigint zerofill, f31 bigint zerofill,
f32 bigint unsigned zerofill, f32 bigint unsigned zerofill,
f33 decimal, f33 decimal,
f34 decimal unsigned, f34 decimal unsigned,
f35 decimal zerofill, f35 decimal zerofill,
f36 decimal unsigned zerofill not null DEFAULT 9.9, f36 decimal unsigned zerofill not null DEFAULT 9.9,
f37 decimal (0) not null DEFAULT 9.9, f37 decimal (0) not null DEFAULT 9.9,
f38 decimal (64) not null DEFAULT 9.9, f38 decimal (64) not null DEFAULT 9.9,
f39 decimal (0) unsigned not null DEFAULT 9.9, f39 decimal (0) unsigned not null DEFAULT 9.9,
f40 decimal (64) unsigned not null DEFAULT 9.9, f40 decimal (64) unsigned not null DEFAULT 9.9,
f41 decimal (0) zerofill not null DEFAULT 9.9, f41 decimal (0) zerofill not null DEFAULT 9.9,
f42 decimal (64) zerofill not null DEFAULT 9.9, f42 decimal (64) zerofill not null DEFAULT 9.9,
f43 decimal (0) unsigned zerofill not null DEFAULT 9.9, f43 decimal (0) unsigned zerofill not null DEFAULT 9.9,
f44 decimal (64) unsigned zerofill not null DEFAULT 9.9, f44 decimal (64) unsigned zerofill not null DEFAULT 9.9,
f45 decimal (0,0) not null DEFAULT 9.9, f45 decimal (0,0) not null DEFAULT 9.9,
f46 decimal (63,30) not null DEFAULT 9.9, f46 decimal (63,30) not null DEFAULT 9.9,
f47 decimal (0,0) unsigned not null DEFAULT 9.9, f47 decimal (0,0) unsigned not null DEFAULT 9.9,
f48 decimal (63,30) unsigned not null DEFAULT 9.9, f48 decimal (63,30) unsigned not null DEFAULT 9.9,
f49 decimal (0,0) zerofill not null DEFAULT 9.9, f49 decimal (0,0) zerofill not null DEFAULT 9.9,
f50 decimal (63,30) zerofill not null DEFAULT 9.9, f50 decimal (63,30) zerofill not null DEFAULT 9.9,
f51 decimal (0,0) unsigned zerofill not null DEFAULT 9.9, f51 decimal (0,0) unsigned zerofill not null DEFAULT 9.9,
f52 decimal (63,30) unsigned zerofill not null DEFAULT 9.9, f52 decimal (63,30) unsigned zerofill not null DEFAULT 9.9,
f53 numeric not null DEFAULT 99, f53 numeric not null DEFAULT 99,
f54 numeric unsigned not null DEFAULT 99, f54 numeric unsigned not null DEFAULT 99,
f55 numeric zerofill not null DEFAULT 99, f55 numeric zerofill not null DEFAULT 99,
f56 numeric unsigned zerofill not null DEFAULT 99, f56 numeric unsigned zerofill not null DEFAULT 99,
f57 numeric (0) not null DEFAULT 99, f57 numeric (0) not null DEFAULT 99,
f58 numeric (64) not null DEFAULT 99 f58 numeric (64) not null DEFAULT 99
) engine = ndb; ) engine = ndb;
--replace_result $MYSQLTEST_VARDIR <MYSQLTEST_VARDIR>
--replace_result $MYSQL_TEST_DIR MYSQL_TEST_DIR eval
eval load data infile '$MYSQL_TEST_DIR/suite/funcs_1/data/ndb_tb1.txt' into table tb1 ; load data infile '$MYSQLTEST_VARDIR/std_data_ln/funcs_1/ndb_tb1.txt'
into table tb1 ;
...@@ -4,58 +4,60 @@ ...@@ -4,58 +4,60 @@
drop table if exists tb2 ; drop table if exists tb2 ;
--enable_warnings --enable_warnings
create table tb2 ( create table tb2 (
f59 numeric (0) unsigned, f59 numeric (0) unsigned,
f60 numeric (64) unsigned, f60 numeric (64) unsigned,
f61 numeric (0) zerofill, f61 numeric (0) zerofill,
f62 numeric (64) zerofill, f62 numeric (64) zerofill,
f63 numeric (0) unsigned zerofill, f63 numeric (0) unsigned zerofill,
f64 numeric (64) unsigned zerofill, f64 numeric (64) unsigned zerofill,
f65 numeric (0,0), f65 numeric (0,0),
f66 numeric (63,30), f66 numeric (63,30),
f67 numeric (0,0) unsigned, f67 numeric (0,0) unsigned,
f68 numeric (63,30) unsigned, f68 numeric (63,30) unsigned,
f69 numeric (0,0) zerofill, f69 numeric (0,0) zerofill,
f70 numeric (63,30) zerofill, f70 numeric (63,30) zerofill,
f71 numeric (0,0) unsigned zerofill, f71 numeric (0,0) unsigned zerofill,
f72 numeric (63,30) unsigned zerofill, f72 numeric (63,30) unsigned zerofill,
f73 real, f73 real,
f74 real unsigned, f74 real unsigned,
f75 real zerofill, f75 real zerofill,
f76 real unsigned zerofill, f76 real unsigned zerofill,
f77 double default 7.7, f77 double default 7.7,
f78 double unsigned default 7.7, f78 double unsigned default 7.7,
f79 double zerofill default 7.7, f79 double zerofill default 7.7,
f80 double unsigned zerofill default 8.8, f80 double unsigned zerofill default 8.8,
f81 float not null default 8.8, f81 float not null default 8.8,
f82 float unsigned not null default 8.8, f82 float unsigned not null default 8.8,
f83 float zerofill not null default 8.8, f83 float zerofill not null default 8.8,
f84 float unsigned zerofill not null default 8.8, f84 float unsigned zerofill not null default 8.8,
f85 float(0) not null default 8.8, f85 float(0) not null default 8.8,
f86 float(23) not null default 8.8, f86 float(23) not null default 8.8,
f87 float(0) unsigned not null default 8.8, f87 float(0) unsigned not null default 8.8,
f88 float(23) unsigned not null default 8.8, f88 float(23) unsigned not null default 8.8,
f89 float(0) zerofill not null default 8.8, f89 float(0) zerofill not null default 8.8,
f90 float(23) zerofill not null default 8.8, f90 float(23) zerofill not null default 8.8,
f91 float(0) unsigned zerofill not null default 8.8, f91 float(0) unsigned zerofill not null default 8.8,
f92 float(23) unsigned zerofill not null default 8.8, f92 float(23) unsigned zerofill not null default 8.8,
f93 float(24) not null default 8.8, f93 float(24) not null default 8.8,
f94 float(53) not null default 8.8, f94 float(53) not null default 8.8,
f95 float(24) unsigned not null default 8.8, f95 float(24) unsigned not null default 8.8,
f96 float(53) unsigned not null default 8.8, f96 float(53) unsigned not null default 8.8,
f97 float(24) zerofill not null default 8.8, f97 float(24) zerofill not null default 8.8,
f98 float(53) zerofill not null default 8.8, f98 float(53) zerofill not null default 8.8,
f99 float(24) unsigned zerofill not null default 8.8, f99 float(24) unsigned zerofill not null default 8.8,
f100 float(53) unsigned zerofill not null default 8.8, f100 float(53) unsigned zerofill not null default 8.8,
f101 date not null default '2000-01-01', f101 date not null default '2000-01-01',
f102 time not null default 20, f102 time not null default 20,
f103 datetime not null default '2/2/2', f103 datetime not null default '2/2/2',
f104 timestamp not null default 20001231235959, f104 timestamp not null default 20001231235959,
f105 year not null default 2000, f105 year not null default 2000,
f106 year(3) not null default 2000, f106 year(3) not null default 2000,
f107 year(4) not null default 2000, f107 year(4) not null default 2000,
f108 enum("1enum","2enum") not null default "1enum", f108 enum("1enum","2enum") not null default "1enum",
f109 set("1set","2set") not null default "1set" f109 set("1set","2set") not null default "1set"
) engine = ndb; ) engine = ndb;
--replace_result $MYSQL_TEST_DIR MYSQL_TEST_DIR --replace_result $MYSQLTEST_VARDIR <MYSQLTEST_VARDIR>
eval load data infile '$MYSQL_TEST_DIR/suite/funcs_1/data/ndb_tb2.txt' into table tb2 ; eval
load data infile '$MYSQLTEST_VARDIR/std_data_ln/funcs_1/ndb_tb2.txt'
into table tb2 ;
...@@ -4,65 +4,67 @@ ...@@ -4,65 +4,67 @@
drop table if exists tb3 ; drop table if exists tb3 ;
--enable_warnings --enable_warnings
create table tb3 ( create table tb3 (
f118 char not null DEFAULT 'a', f118 char not null DEFAULT 'a',
f119 char binary not null DEFAULT b'101', f119 char binary not null DEFAULT b'101',
f120 char ascii not null DEFAULT b'101', f120 char ascii not null DEFAULT b'101',
f121 tinytext, f121 tinytext,
f122 text, f122 text,
f123 mediumtext, f123 mediumtext,
f124 longtext unicode, f124 longtext unicode,
f125 tinyblob, f125 tinyblob,
f126 blob, f126 blob,
f127 mediumblob, f127 mediumblob,
f128 longblob, f128 longblob,
f129 binary not null DEFAULT b'101', f129 binary not null DEFAULT b'101',
f130 tinyint not null DEFAULT 99, f130 tinyint not null DEFAULT 99,
f131 tinyint unsigned not null DEFAULT 99, f131 tinyint unsigned not null DEFAULT 99,
f132 tinyint zerofill not null DEFAULT 99, f132 tinyint zerofill not null DEFAULT 99,
f133 tinyint unsigned zerofill not null DEFAULT 99, f133 tinyint unsigned zerofill not null DEFAULT 99,
f134 smallint not null DEFAULT 999, f134 smallint not null DEFAULT 999,
f135 smallint unsigned not null DEFAULT 999, f135 smallint unsigned not null DEFAULT 999,
f136 smallint zerofill not null DEFAULT 999, f136 smallint zerofill not null DEFAULT 999,
f137 smallint unsigned zerofill not null DEFAULT 999, f137 smallint unsigned zerofill not null DEFAULT 999,
f138 mediumint not null DEFAULT 9999, f138 mediumint not null DEFAULT 9999,
f139 mediumint unsigned not null DEFAULT 9999, f139 mediumint unsigned not null DEFAULT 9999,
f140 mediumint zerofill not null DEFAULT 9999, f140 mediumint zerofill not null DEFAULT 9999,
f141 mediumint unsigned zerofill not null DEFAULT 9999, f141 mediumint unsigned zerofill not null DEFAULT 9999,
f142 int not null DEFAULT 99999, f142 int not null DEFAULT 99999,
f143 int unsigned not null DEFAULT 99999, f143 int unsigned not null DEFAULT 99999,
f144 int zerofill not null DEFAULT 99999, f144 int zerofill not null DEFAULT 99999,
f145 int unsigned zerofill not null DEFAULT 99999, f145 int unsigned zerofill not null DEFAULT 99999,
f146 bigint not null DEFAULT 999999, f146 bigint not null DEFAULT 999999,
f147 bigint unsigned not null DEFAULT 999999, f147 bigint unsigned not null DEFAULT 999999,
f148 bigint zerofill not null DEFAULT 999999, f148 bigint zerofill not null DEFAULT 999999,
f149 bigint unsigned zerofill not null DEFAULT 999999, f149 bigint unsigned zerofill not null DEFAULT 999999,
f150 decimal not null DEFAULT 999.999, f150 decimal not null DEFAULT 999.999,
f151 decimal unsigned not null DEFAULT 999.17, f151 decimal unsigned not null DEFAULT 999.17,
f152 decimal zerofill not null DEFAULT 999.999, f152 decimal zerofill not null DEFAULT 999.999,
f153 decimal unsigned zerofill, f153 decimal unsigned zerofill,
f154 decimal (0), f154 decimal (0),
f155 decimal (64), f155 decimal (64),
f156 decimal (0) unsigned, f156 decimal (0) unsigned,
f157 decimal (64) unsigned, f157 decimal (64) unsigned,
f158 decimal (0) zerofill, f158 decimal (0) zerofill,
f159 decimal (64) zerofill, f159 decimal (64) zerofill,
f160 decimal (0) unsigned zerofill, f160 decimal (0) unsigned zerofill,
f161 decimal (64) unsigned zerofill, f161 decimal (64) unsigned zerofill,
f162 decimal (0,0), f162 decimal (0,0),
f163 decimal (63,30), f163 decimal (63,30),
f164 decimal (0,0) unsigned, f164 decimal (0,0) unsigned,
f165 decimal (63,30) unsigned, f165 decimal (63,30) unsigned,
f166 decimal (0,0) zerofill, f166 decimal (0,0) zerofill,
f167 decimal (63,30) zerofill, f167 decimal (63,30) zerofill,
f168 decimal (0,0) unsigned zerofill, f168 decimal (0,0) unsigned zerofill,
f169 decimal (63,30) unsigned zerofill, f169 decimal (63,30) unsigned zerofill,
f170 numeric, f170 numeric,
f171 numeric unsigned, f171 numeric unsigned,
f172 numeric zerofill, f172 numeric zerofill,
f173 numeric unsigned zerofill, f173 numeric unsigned zerofill,
f174 numeric (0), f174 numeric (0),
f175 numeric (64) f175 numeric (64)
) engine = ndb; ) engine = ndb;
--replace_result $MYSQL_TEST_DIR MYSQL_TEST_DIR --replace_result $MYSQLTEST_VARDIR <MYSQLTEST_VARDIR>
eval load data infile '$MYSQL_TEST_DIR/suite/funcs_1/data/ndb_tb3.txt' into table tb3 ; eval
load data infile '$MYSQLTEST_VARDIR/std_data_ln/funcs_1/ndb_tb3.txt'
into table tb3;
...@@ -4,56 +4,56 @@ ...@@ -4,56 +4,56 @@
drop table if exists tb4; drop table if exists tb4;
--enable_warnings --enable_warnings
create table tb4 ( create table tb4 (
f176 numeric (0) unsigned not null DEFAULT 9, f176 numeric (0) unsigned not null DEFAULT 9,
f177 numeric (64) unsigned not null DEFAULT 9, f177 numeric (64) unsigned not null DEFAULT 9,
f178 numeric (0) zerofill not null DEFAULT 9, f178 numeric (0) zerofill not null DEFAULT 9,
f179 numeric (64) zerofill not null DEFAULT 9, f179 numeric (64) zerofill not null DEFAULT 9,
f180 numeric (0) unsigned zerofill not null DEFAULT 9, f180 numeric (0) unsigned zerofill not null DEFAULT 9,
f181 numeric (64) unsigned zerofill not null DEFAULT 9, f181 numeric (64) unsigned zerofill not null DEFAULT 9,
f182 numeric (0,0) not null DEFAULT 9, f182 numeric (0,0) not null DEFAULT 9,
f183 numeric (63,30) not null DEFAULT 9, f183 numeric (63,30) not null DEFAULT 9,
f184 numeric (0,0) unsigned not null DEFAULT 9, f184 numeric (0,0) unsigned not null DEFAULT 9,
f185 numeric (63,30) unsigned not null DEFAULT 9, f185 numeric (63,30) unsigned not null DEFAULT 9,
f186 numeric (0,0) zerofill not null DEFAULT 9, f186 numeric (0,0) zerofill not null DEFAULT 9,
f187 numeric (63,30) zerofill not null DEFAULT 9, f187 numeric (63,30) zerofill not null DEFAULT 9,
f188 numeric (0,0) unsigned zerofill not null DEFAULT 9, f188 numeric (0,0) unsigned zerofill not null DEFAULT 9,
f189 numeric (63,30) unsigned zerofill not null DEFAULT 9, f189 numeric (63,30) unsigned zerofill not null DEFAULT 9,
f190 real not null DEFAULT 88.8, f190 real not null DEFAULT 88.8,
f191 real unsigned not null DEFAULT 88.8, f191 real unsigned not null DEFAULT 88.8,
f192 real zerofill not null DEFAULT 88.8, f192 real zerofill not null DEFAULT 88.8,
f193 real unsigned zerofill not null DEFAULT 88.8, f193 real unsigned zerofill not null DEFAULT 88.8,
f194 double not null DEFAULT 55.5, f194 double not null DEFAULT 55.5,
f195 double unsigned not null DEFAULT 55.5, f195 double unsigned not null DEFAULT 55.5,
f196 double zerofill not null DEFAULT 55.5, f196 double zerofill not null DEFAULT 55.5,
f197 double unsigned zerofill not null DEFAULT 55.5, f197 double unsigned zerofill not null DEFAULT 55.5,
f198 float, f198 float,
f199 float unsigned, f199 float unsigned,
f200 float zerofill, f200 float zerofill,
f201 float unsigned zerofill, f201 float unsigned zerofill,
f202 float(0), f202 float(0),
f203 float(23), f203 float(23),
f204 float(0) unsigned, f204 float(0) unsigned,
f205 float(23) unsigned, f205 float(23) unsigned,
f206 float(0) zerofill, f206 float(0) zerofill,
f207 float(23) zerofill, f207 float(23) zerofill,
f208 float(0) unsigned zerofill, f208 float(0) unsigned zerofill,
f209 float(23) unsigned zerofill, f209 float(23) unsigned zerofill,
f210 float(24), f210 float(24),
f211 float(53), f211 float(53),
f212 float(24) unsigned, f212 float(24) unsigned,
f213 float(53) unsigned, f213 float(53) unsigned,
f214 float(24) zerofill, f214 float(24) zerofill,
f215 float(53) zerofill, f215 float(53) zerofill,
f216 float(24) unsigned zerofill, f216 float(24) unsigned zerofill,
f217 float(53) unsigned zerofill, f217 float(53) unsigned zerofill,
f218 date, f218 date,
f219 time, f219 time,
f220 datetime, f220 datetime,
f221 timestamp, f221 timestamp,
f222 year, f222 year,
f223 year(3), f223 year(3),
f224 year(4), f224 year(4),
f225 enum("1enum","2enum"), f225 enum("1enum","2enum"),
f226 set("1set","2set"), f226 set("1set","2set"),
f235 char(0) unicode, f235 char(0) unicode,
f236 char(90), f236 char(90),
...@@ -64,5 +64,7 @@ f240 varchar(2000) unicode, ...@@ -64,5 +64,7 @@ f240 varchar(2000) unicode,
f241 char(100) unicode f241 char(100) unicode
) engine = ndb; ) engine = ndb;
--replace_result $MYSQL_TEST_DIR MYSQL_TEST_DIR --replace_result $MYSQLTEST_VARDIR <MYSQLTEST_VARDIR>
eval load data infile '$MYSQL_TEST_DIR/suite/funcs_1/data/ndb_tb4.txt' into table tb4 ; eval
load data infile '$MYSQLTEST_VARDIR/std_data_ln/funcs_1/ndb_tb4.txt'
into table tb4 ;
...@@ -1202,16 +1202,16 @@ declare cur2 cursor for SELECT f1, f2, f4, f5 from t2 where f4 >= -5000 order by ...@@ -1202,16 +1202,16 @@ declare cur2 cursor for SELECT f1, f2, f4, f5 from t2 where f4 >= -5000 order by
open cur1; open cur1;
open cur2; open cur2;
BEGIN BEGIN
declare continue handler for sqlstate '02000' set count=1; declare continue handler for sqlstate '02000' set count = 1;
fetch cur1 into newf1, newf2, newf4, newf5; fetch cur1 into newf1, newf2, newf4, newf5;
SELECT '-1-', count, newf1, newf2, newf4, newf5; SELECT '-1-', count, newf1, newf2, newf4, newf5;
insert into temp1 values ('cur1_out', newf1, newf2, newf4, newf5); insert into temp1 values ('cur1_out', newf1, newf2, newf4, newf5);
set count= 4; set count = 4;
BEGIN BEGIN
while count> 0 do while count > 0 do
fetch cur1 into newf1, newf2, newf4, newf5; fetch cur1 into newf1, newf2, newf4, newf5;
SELECT '-2-', count, newf1, newf2, newf4, newf5; SELECT '-2-', count, newf1, newf2, newf4, newf5;
set count = count- 1; set count = count - 1;
END while; END while;
SELECT '-3-', count, newf1, newf2, newf4, newf4; SELECT '-3-', count, newf1, newf2, newf4, newf4;
END; END;
......
USE test; USE test;
drop table if exists tb3 ; drop table if exists tb3 ;
create table tb3 ( create table tb3 (
f118 char not null DEFAULT 'a', f118 char not null DEFAULT 'a',
f119 char binary not null DEFAULT b'101', f119 char binary not null DEFAULT b'101',
f120 char ascii not null DEFAULT b'101', f120 char ascii not null DEFAULT b'101',
f121 tinytext, f121 tinytext,
f122 text, f122 text,
f123 mediumtext, f123 mediumtext,
f124 longtext unicode, f124 longtext unicode,
f125 tinyblob, f125 tinyblob,
f126 blob, f126 blob,
f127 mediumblob, f127 mediumblob,
f128 longblob, f128 longblob,
f129 binary not null DEFAULT b'101', f129 binary not null DEFAULT b'101',
f130 tinyint not null DEFAULT 99, f130 tinyint not null DEFAULT 99,
f131 tinyint unsigned not null DEFAULT 99, f131 tinyint unsigned not null DEFAULT 99,
f132 tinyint zerofill not null DEFAULT 99, f132 tinyint zerofill not null DEFAULT 99,
f133 tinyint unsigned zerofill not null DEFAULT 99, f133 tinyint unsigned zerofill not null DEFAULT 99,
f134 smallint not null DEFAULT 999, f134 smallint not null DEFAULT 999,
f135 smallint unsigned not null DEFAULT 999, f135 smallint unsigned not null DEFAULT 999,
f136 smallint zerofill not null DEFAULT 999, f136 smallint zerofill not null DEFAULT 999,
f137 smallint unsigned zerofill not null DEFAULT 999, f137 smallint unsigned zerofill not null DEFAULT 999,
f138 mediumint not null DEFAULT 9999, f138 mediumint not null DEFAULT 9999,
f139 mediumint unsigned not null DEFAULT 9999, f139 mediumint unsigned not null DEFAULT 9999,
f140 mediumint zerofill not null DEFAULT 9999, f140 mediumint zerofill not null DEFAULT 9999,
f141 mediumint unsigned zerofill not null DEFAULT 9999, f141 mediumint unsigned zerofill not null DEFAULT 9999,
f142 int not null DEFAULT 99999, f142 int not null DEFAULT 99999,
f143 int unsigned not null DEFAULT 99999, f143 int unsigned not null DEFAULT 99999,
f144 int zerofill not null DEFAULT 99999, f144 int zerofill not null DEFAULT 99999,
f145 int unsigned zerofill not null DEFAULT 99999, f145 int unsigned zerofill not null DEFAULT 99999,
f146 bigint not null DEFAULT 999999, f146 bigint not null DEFAULT 999999,
f147 bigint unsigned not null DEFAULT 999999, f147 bigint unsigned not null DEFAULT 999999,
f148 bigint zerofill not null DEFAULT 999999, f148 bigint zerofill not null DEFAULT 999999,
f149 bigint unsigned zerofill not null DEFAULT 999999, f149 bigint unsigned zerofill not null DEFAULT 999999,
f150 decimal not null DEFAULT 999.999, f150 decimal not null DEFAULT 999.999,
f151 decimal unsigned not null DEFAULT 999.17, f151 decimal unsigned not null DEFAULT 999.17,
f152 decimal zerofill not null DEFAULT 999.999, f152 decimal zerofill not null DEFAULT 999.999,
f153 decimal unsigned zerofill, f153 decimal unsigned zerofill,
f154 decimal (0), f154 decimal (0),
f155 decimal (64), f155 decimal (64),
f156 decimal (0) unsigned, f156 decimal (0) unsigned,
f157 decimal (64) unsigned, f157 decimal (64) unsigned,
f158 decimal (0) zerofill, f158 decimal (0) zerofill,
f159 decimal (64) zerofill, f159 decimal (64) zerofill,
f160 decimal (0) unsigned zerofill, f160 decimal (0) unsigned zerofill,
f161 decimal (64) unsigned zerofill, f161 decimal (64) unsigned zerofill,
f162 decimal (0,0), f162 decimal (0,0),
f163 decimal (63,30), f163 decimal (63,30),
f164 decimal (0,0) unsigned, f164 decimal (0,0) unsigned,
f165 decimal (63,30) unsigned, f165 decimal (63,30) unsigned,
f166 decimal (0,0) zerofill, f166 decimal (0,0) zerofill,
f167 decimal (63,30) zerofill, f167 decimal (63,30) zerofill,
f168 decimal (0,0) unsigned zerofill, f168 decimal (0,0) unsigned zerofill,
f169 decimal (63,30) unsigned zerofill, f169 decimal (63,30) unsigned zerofill,
f170 numeric, f170 numeric,
f171 numeric unsigned, f171 numeric unsigned,
f172 numeric zerofill, f172 numeric zerofill,
f173 numeric unsigned zerofill, f173 numeric unsigned zerofill,
f174 numeric (0), f174 numeric (0),
f175 numeric (64) f175 numeric (64)
) engine = innodb; ) engine = innodb;
Warnings: Warnings:
Note 1265 Data truncated for column 'f150' at row 1 Note 1265 Data truncated for column 'f150' at row 1
Note 1265 Data truncated for column 'f151' at row 1 Note 1265 Data truncated for column 'f151' at row 1
Note 1265 Data truncated for column 'f152' at row 1 Note 1265 Data truncated for column 'f152' at row 1
load data infile 'MYSQL_TEST_DIR/suite/funcs_1/data/innodb_tb3.txt' into table tb3 ; load data infile '<MYSQLTEST_VARDIR>/std_data_ln/funcs_1/innodb_tb3.txt'
into table tb3;
Testcase 3.5.3: Testcase 3.5.3:
--------------- ---------------
...@@ -103,7 +104,7 @@ test_noprivs@localhost ...@@ -103,7 +104,7 @@ test_noprivs@localhost
use priv_db; use priv_db;
create trigger trg1_1 before INSERT on t1 for each row create trigger trg1_1 before INSERT on t1 for each row
set new.f1 = 'trig 3.5.3.2_1-no'; set new.f1 = 'trig 3.5.3.2_1-no';
Got one of the listed errors ERROR 42000: TRIGGER command denied to user 'test_noprivs'@'localhost' for table 't1'
use priv_db; use priv_db;
insert into t1 (f1) values ('insert 3.5.3.2-no'); insert into t1 (f1) values ('insert 3.5.3.2-no');
select f1 from t1 order by f1; select f1 from t1 order by f1;
...@@ -135,7 +136,7 @@ Testcase 3.5.3.6: ...@@ -135,7 +136,7 @@ Testcase 3.5.3.6:
----------------- -----------------
use priv_db; use priv_db;
drop trigger trg1_2; drop trigger trg1_2;
Got one of the listed errors ERROR 42000: TRIGGER command denied to user 'test_noprivs'@'localhost' for table 't1'
use priv_db; use priv_db;
insert into t1 (f1) values ('insert 3.5.3.6-yes'); insert into t1 (f1) values ('insert 3.5.3.6-yes');
select f1 from t1 order by f1; select f1 from t1 order by f1;
......
...@@ -989,7 +989,7 @@ root@localhost ...@@ -989,7 +989,7 @@ root@localhost
show triggers; show triggers;
Trigger Event Table Statement Timing Created sql_mode Definer character_set_client collation_connection Database Collation Trigger Event Table Statement Timing Created sql_mode Definer character_set_client collation_connection Database Collation
grant select, insert, update ,trigger grant select, insert, update ,trigger
on priv_db.t1 to test_yesprivs@localhost on priv_db.t1 to test_yesprivs@localhost
with grant option; with grant option;
grant select grant select
on priv_db.t1 to test_useprivs@localhost; on priv_db.t1 to test_useprivs@localhost;
...@@ -1214,7 +1214,7 @@ create definer=not_ex_user@localhost trigger trg1_0 ...@@ -1214,7 +1214,7 @@ create definer=not_ex_user@localhost trigger trg1_0
before INSERT on t1 for each row before INSERT on t1 for each row
set new.f1 = 'trig 1_0-yes'; set new.f1 = 'trig 1_0-yes';
Warnings: Warnings:
Note 1449 There is no 'not_ex_user'@'localhost' registered Note 1449 The user specified as a definer ('not_ex_user'@'localhost') does not exist
drop trigger trg1_0; drop trigger trg1_0;
create definer=test_yesprivs@localhost trigger trg1_0 create definer=test_yesprivs@localhost trigger trg1_0
before INSERT on t1 for each row before INSERT on t1 for each row
...@@ -1252,7 +1252,7 @@ create definer=not_ex_user@localhost trigger trg1_0 ...@@ -1252,7 +1252,7 @@ create definer=not_ex_user@localhost trigger trg1_0
before INSERT on t1 for each row before INSERT on t1 for each row
set new.f1 = 'trig 1_0-yes'; set new.f1 = 'trig 1_0-yes';
ERROR 42000: Access denied; you need the SUPER privilege for this operation ERROR 42000: Access denied; you need the SUPER privilege for this operation
create definer=current_user trigger trg1_1 create definer=current_user trigger trg1_1
before INSERT on t1 for each row before INSERT on t1 for each row
set new.f1 = 'trig 1_1-yes'; set new.f1 = 'trig 1_1-yes';
insert into t1 (f1) values ('insert-no'); insert into t1 (f1) values ('insert-no');
...@@ -1318,7 +1318,7 @@ current_user ...@@ -1318,7 +1318,7 @@ current_user
test_yesprivs@localhost test_yesprivs@localhost
use priv_db; use priv_db;
set autocommit=0; set autocommit=0;
create definer=current_user trigger trg1_1 create definer=current_user trigger trg1_1
before INSERT on t1 for each row before INSERT on t1 for each row
set new.f1 = 'trig 1_1-yes'; set new.f1 = 'trig 1_1-yes';
rollback work; rollback work;
...@@ -1564,7 +1564,7 @@ select current_user; ...@@ -1564,7 +1564,7 @@ select current_user;
current_user current_user
root@localhost root@localhost
revoke UPDATE(f1) on priv_db.t1 from test_yesprivs@localhost; revoke UPDATE(f1) on priv_db.t1 from test_yesprivs@localhost;
grant TRIGGER,UPDATE(f2),UPDATE(f3) on priv_db.t1 grant TRIGGER,UPDATE(f2),UPDATE(f3) on priv_db.t1
to test_yesprivs@localhost; to test_yesprivs@localhost;
show grants for test_yesprivs@localhost; show grants for test_yesprivs@localhost;
Grants for test_yesprivs@localhost Grants for test_yesprivs@localhost
......
USE test; USE test;
drop table if exists tb3 ; drop table if exists tb3 ;
create table tb3 ( create table tb3 (
f118 char not null DEFAULT 'a', f118 char not null DEFAULT 'a',
f119 char binary not null DEFAULT b'101', f119 char binary not null DEFAULT b'101',
f120 char ascii not null DEFAULT b'101', f120 char ascii not null DEFAULT b'101',
f121 tinytext, f121 tinytext,
f122 text, f122 text,
f123 mediumtext, f123 mediumtext,
f124 longtext unicode, f124 longtext unicode,
f125 tinyblob, f125 tinyblob,
f126 blob, f126 blob,
f127 mediumblob, f127 mediumblob,
f128 longblob, f128 longblob,
f129 binary not null DEFAULT b'101', f129 binary not null DEFAULT b'101',
f130 tinyint not null DEFAULT 99, f130 tinyint not null DEFAULT 99,
f131 tinyint unsigned not null DEFAULT 99, f131 tinyint unsigned not null DEFAULT 99,
f132 tinyint zerofill not null DEFAULT 99, f132 tinyint zerofill not null DEFAULT 99,
f133 tinyint unsigned zerofill not null DEFAULT 99, f133 tinyint unsigned zerofill not null DEFAULT 99,
f134 smallint not null DEFAULT 999, f134 smallint not null DEFAULT 999,
f135 smallint unsigned not null DEFAULT 999, f135 smallint unsigned not null DEFAULT 999,
f136 smallint zerofill not null DEFAULT 999, f136 smallint zerofill not null DEFAULT 999,
f137 smallint unsigned zerofill not null DEFAULT 999, f137 smallint unsigned zerofill not null DEFAULT 999,
f138 mediumint not null DEFAULT 9999, f138 mediumint not null DEFAULT 9999,
f139 mediumint unsigned not null DEFAULT 9999, f139 mediumint unsigned not null DEFAULT 9999,
f140 mediumint zerofill not null DEFAULT 9999, f140 mediumint zerofill not null DEFAULT 9999,
f141 mediumint unsigned zerofill not null DEFAULT 9999, f141 mediumint unsigned zerofill not null DEFAULT 9999,
f142 int not null DEFAULT 99999, f142 int not null DEFAULT 99999,
f143 int unsigned not null DEFAULT 99999, f143 int unsigned not null DEFAULT 99999,
f144 int zerofill not null DEFAULT 99999, f144 int zerofill not null DEFAULT 99999,
f145 int unsigned zerofill not null DEFAULT 99999, f145 int unsigned zerofill not null DEFAULT 99999,
f146 bigint not null DEFAULT 999999, f146 bigint not null DEFAULT 999999,
f147 bigint unsigned not null DEFAULT 999999, f147 bigint unsigned not null DEFAULT 999999,
f148 bigint zerofill not null DEFAULT 999999, f148 bigint zerofill not null DEFAULT 999999,
f149 bigint unsigned zerofill not null DEFAULT 999999, f149 bigint unsigned zerofill not null DEFAULT 999999,
f150 decimal not null DEFAULT 999.999, f150 decimal not null DEFAULT 999.999,
f151 decimal unsigned not null DEFAULT 999.17, f151 decimal unsigned not null DEFAULT 999.17,
f152 decimal zerofill not null DEFAULT 999.999, f152 decimal zerofill not null DEFAULT 999.999,
f153 decimal unsigned zerofill, f153 decimal unsigned zerofill,
f154 decimal (0), f154 decimal (0),
f155 decimal (64), f155 decimal (64),
f156 decimal (0) unsigned, f156 decimal (0) unsigned,
f157 decimal (64) unsigned, f157 decimal (64) unsigned,
f158 decimal (0) zerofill, f158 decimal (0) zerofill,
f159 decimal (64) zerofill, f159 decimal (64) zerofill,
f160 decimal (0) unsigned zerofill, f160 decimal (0) unsigned zerofill,
f161 decimal (64) unsigned zerofill, f161 decimal (64) unsigned zerofill,
f162 decimal (0,0), f162 decimal (0,0),
f163 decimal (63,30), f163 decimal (63,30),
f164 decimal (0,0) unsigned, f164 decimal (0,0) unsigned,
f165 decimal (63,30) unsigned, f165 decimal (63,30) unsigned,
f166 decimal (0,0) zerofill, f166 decimal (0,0) zerofill,
f167 decimal (63,30) zerofill, f167 decimal (63,30) zerofill,
f168 decimal (0,0) unsigned zerofill, f168 decimal (0,0) unsigned zerofill,
f169 decimal (63,30) unsigned zerofill, f169 decimal (63,30) unsigned zerofill,
f170 numeric, f170 numeric,
f171 numeric unsigned, f171 numeric unsigned,
f172 numeric zerofill, f172 numeric zerofill,
f173 numeric unsigned zerofill, f173 numeric unsigned zerofill,
f174 numeric (0), f174 numeric (0),
f175 numeric (64) f175 numeric (64)
) engine = innodb; ) engine = innodb;
Warnings: Warnings:
Note 1265 Data truncated for column 'f150' at row 1 Note 1265 Data truncated for column 'f150' at row 1
Note 1265 Data truncated for column 'f151' at row 1 Note 1265 Data truncated for column 'f151' at row 1
Note 1265 Data truncated for column 'f152' at row 1 Note 1265 Data truncated for column 'f152' at row 1
load data infile 'MYSQL_TEST_DIR/suite/funcs_1/data/innodb_tb3.txt' into table tb3 ; load data infile '<MYSQLTEST_VARDIR>/std_data_ln/funcs_1/innodb_tb3.txt'
into table tb3;
Testcase 3.5.9.1/2: Testcase 3.5.9.1/2:
------------------- -------------------
Create trigger trg1 BEFORE UPDATE on tb3 for each row Create trigger trg1 BEFORE UPDATE on tb3 for each row
set new.f142 = 94087, @counter=@counter+1; set new.f142 = 94087, @counter=@counter+1;
TotalRows TotalRows
10 10
...@@ -80,15 +81,15 @@ NewValuew ...@@ -80,15 +81,15 @@ NewValuew
0 0
set @counter=0; set @counter=0;
Update tb3 Set f142='1' where f130<100; Update tb3 Set f142='1' where f130<100;
select count(*) as ExpectedChanged, @counter as TrigCounter select count(*) as ExpectedChanged, @counter as TrigCounter
from tb3 where f142=94087; from tb3 where f142=94087;
ExpectedChanged TrigCounter ExpectedChanged TrigCounter
8 8 8 8
select count(*) as ExpectedNotChange from tb3 select count(*) as ExpectedNotChange from tb3
where f130<100 and f142<>94087; where f130<100 and f142<>94087;
ExpectedNotChange ExpectedNotChange
0 0
select count(*) as NonExpectedChanged from tb3 select count(*) as NonExpectedChanged from tb3
where f130>=130 and f142=94087; where f130>=130 and f142=94087;
NonExpectedChanged NonExpectedChanged
0 0
...@@ -116,17 +117,17 @@ set @tr_var_af_118=old.f118, @tr_var_af_121=old.f121, ...@@ -116,17 +117,17 @@ set @tr_var_af_118=old.f118, @tr_var_af_121=old.f121,
0 0 0 0 0 0 0 0 0 0
@tr_var_af_118 @tr_var_af_121 @tr_var_af_122 @tr_var_af_136 @tr_var_af_163 @tr_var_af_118 @tr_var_af_121 @tr_var_af_122 @tr_var_af_136 @tr_var_af_163
0 0 0 0 0 0 0 0 0 0
Insert into tb3 (f122, f136, f163) Insert into tb3 (f122, f136, f163)
values ('Test 3.5.9.3', 7, 123.17); values ('Test 3.5.9.3', 7, 123.17);
Update tb3 Set f136=8 where f122='Test 3.5.9.3'; Update tb3 Set f136=8 where f122='Test 3.5.9.3';
select f118, f121, f122, f136, f163 from tb3 where f122='Test 3.5.9.3' order by f136; select f118, f121, f122, f136, f163 from tb3 where f122='Test 3.5.9.3' order by f136;
f118 f121 f122 f136 f163 f118 f121 f122 f136 f163
a NULL Test 3.5.9.3 00008 123.170000000000000000000000000000 a NULL Test 3.5.9.3 00008 123.170000000000000000000000000000
select @tr_var_b4_118, @tr_var_b4_121, @tr_var_b4_122, select @tr_var_b4_118, @tr_var_b4_121, @tr_var_b4_122,
@tr_var_b4_136, @tr_var_b4_163; @tr_var_b4_136, @tr_var_b4_163;
@tr_var_b4_118 @tr_var_b4_121 @tr_var_b4_122 @tr_var_b4_136 @tr_var_b4_163 @tr_var_b4_118 @tr_var_b4_121 @tr_var_b4_122 @tr_var_b4_136 @tr_var_b4_163
a NULL Test 3.5.9.3 7 123.170000000000000000000000000000 a NULL Test 3.5.9.3 7 123.170000000000000000000000000000
select @tr_var_af_118, @tr_var_af_121, @tr_var_af_122, select @tr_var_af_118, @tr_var_af_121, @tr_var_af_122,
@tr_var_af_136, @tr_var_af_163; @tr_var_af_136, @tr_var_af_163;
@tr_var_af_118 @tr_var_af_121 @tr_var_af_122 @tr_var_af_136 @tr_var_af_163 @tr_var_af_118 @tr_var_af_121 @tr_var_af_122 @tr_var_af_136 @tr_var_af_163
a NULL Test 3.5.9.3 7 123.170000000000000000000000000000 a NULL Test 3.5.9.3 7 123.170000000000000000000000000000
...@@ -137,11 +138,11 @@ a NULL Test 3.5.9.3 7 123.170000000000000000000000000000 ...@@ -137,11 +138,11 @@ a NULL Test 3.5.9.3 7 123.170000000000000000000000000000
delete from tb3 where f122='Test 3.5.9.3'; delete from tb3 where f122='Test 3.5.9.3';
select f118, f121, f122, f136, f163 from tb3 where f122='Test 3.5.9.3' order by f136; select f118, f121, f122, f136, f163 from tb3 where f122='Test 3.5.9.3' order by f136;
f118 f121 f122 f136 f163 f118 f121 f122 f136 f163
select @tr_var_b4_118, @tr_var_b4_121, @tr_var_b4_122, select @tr_var_b4_118, @tr_var_b4_121, @tr_var_b4_122,
@tr_var_b4_136, @tr_var_b4_163; @tr_var_b4_136, @tr_var_b4_163;
@tr_var_b4_118 @tr_var_b4_121 @tr_var_b4_122 @tr_var_b4_136 @tr_var_b4_163 @tr_var_b4_118 @tr_var_b4_121 @tr_var_b4_122 @tr_var_b4_136 @tr_var_b4_163
a NULL Test 3.5.9.3 8 123.170000000000000000000000000000 a NULL Test 3.5.9.3 8 123.170000000000000000000000000000
select @tr_var_af_118, @tr_var_af_121, @tr_var_af_122, select @tr_var_af_118, @tr_var_af_121, @tr_var_af_122,
@tr_var_af_136, @tr_var_af_163; @tr_var_af_136, @tr_var_af_163;
@tr_var_af_118 @tr_var_af_121 @tr_var_af_122 @tr_var_af_136 @tr_var_af_163 @tr_var_af_118 @tr_var_af_121 @tr_var_af_122 @tr_var_af_136 @tr_var_af_163
a NULL Test 3.5.9.3 8 123.170000000000000000000000000000 a NULL Test 3.5.9.3 8 123.170000000000000000000000000000
...@@ -172,17 +173,17 @@ set @tr_var_af_118=new.f118, @tr_var_af_121=new.f121, ...@@ -172,17 +173,17 @@ set @tr_var_af_118=new.f118, @tr_var_af_121=new.f121,
0 0 0 0 0 0 0 0 0 0 0 0
@tr_var_af_118 @tr_var_af_121 @tr_var_af_122 @tr_var_af_136 @tr_var_af_151 @tr_var_af_163 @tr_var_af_118 @tr_var_af_121 @tr_var_af_122 @tr_var_af_136 @tr_var_af_151 @tr_var_af_163
0 0 0 0 0 0 0 0 0 0 0 0
Insert into tb3 (f122, f136, f151, f163) Insert into tb3 (f122, f136, f151, f163)
values ('Test 3.5.9.4', 7, DEFAULT, 995.24); values ('Test 3.5.9.4', 7, DEFAULT, 995.24);
select f118, f121, f122, f136, f151, f163 from tb3 select f118, f121, f122, f136, f151, f163 from tb3
where f122 like 'Test 3.5.9.4%' order by f163; where f122 like 'Test 3.5.9.4%' order by f163;
f118 f121 f122 f136 f151 f163 f118 f121 f122 f136 f151 f163
a NULL Test 3.5.9.4 00007 999 995.240000000000000000000000000000 a NULL Test 3.5.9.4 00007 999 995.240000000000000000000000000000
select @tr_var_b4_118, @tr_var_b4_121, @tr_var_b4_122, select @tr_var_b4_118, @tr_var_b4_121, @tr_var_b4_122,
@tr_var_b4_136, @tr_var_b4_151, @tr_var_b4_163; @tr_var_b4_136, @tr_var_b4_151, @tr_var_b4_163;
@tr_var_b4_118 @tr_var_b4_121 @tr_var_b4_122 @tr_var_b4_136 @tr_var_b4_151 @tr_var_b4_163 @tr_var_b4_118 @tr_var_b4_121 @tr_var_b4_122 @tr_var_b4_136 @tr_var_b4_151 @tr_var_b4_163
a NULL Test 3.5.9.4 7 999 995.240000000000000000000000000000 a NULL Test 3.5.9.4 7 999 995.240000000000000000000000000000
select @tr_var_af_118, @tr_var_af_121, @tr_var_af_122, select @tr_var_af_118, @tr_var_af_121, @tr_var_af_122,
@tr_var_af_136, @tr_var_af_151, @tr_var_af_163; @tr_var_af_136, @tr_var_af_151, @tr_var_af_163;
@tr_var_af_118 @tr_var_af_121 @tr_var_af_122 @tr_var_af_136 @tr_var_af_151 @tr_var_af_163 @tr_var_af_118 @tr_var_af_121 @tr_var_af_122 @tr_var_af_136 @tr_var_af_151 @tr_var_af_163
a NULL Test 3.5.9.4 7 999 995.240000000000000000000000000000 a NULL Test 3.5.9.4 7 999 995.240000000000000000000000000000
...@@ -195,15 +196,15 @@ where f122='Test 3.5.9.4'; ...@@ -195,15 +196,15 @@ where f122='Test 3.5.9.4';
ERROR 23000: Column 'f136' cannot be null ERROR 23000: Column 'f136' cannot be null
Update tb3 Set f122='Test 3.5.9.4-trig', f136=0, f151=DEFAULT, f163=NULL Update tb3 Set f122='Test 3.5.9.4-trig', f136=0, f151=DEFAULT, f163=NULL
where f122='Test 3.5.9.4'; where f122='Test 3.5.9.4';
select f118, f121, f122, f136, f151, f163 from tb3 select f118, f121, f122, f136, f151, f163 from tb3
where f122 like 'Test 3.5.9.4-trig' order by f163; where f122 like 'Test 3.5.9.4-trig' order by f163;
f118 f121 f122 f136 f151 f163 f118 f121 f122 f136 f151 f163
a NULL Test 3.5.9.4-trig 00000 999 NULL a NULL Test 3.5.9.4-trig 00000 999 NULL
select @tr_var_b4_118, @tr_var_b4_121, @tr_var_b4_122, select @tr_var_b4_118, @tr_var_b4_121, @tr_var_b4_122,
@tr_var_b4_136, @tr_var_b4_151, @tr_var_b4_163; @tr_var_b4_136, @tr_var_b4_151, @tr_var_b4_163;
@tr_var_b4_118 @tr_var_b4_121 @tr_var_b4_122 @tr_var_b4_136 @tr_var_b4_151 @tr_var_b4_163 @tr_var_b4_118 @tr_var_b4_121 @tr_var_b4_122 @tr_var_b4_136 @tr_var_b4_151 @tr_var_b4_163
a NULL Test 3.5.9.4-trig 0 999 NULL a NULL Test 3.5.9.4-trig 0 999 NULL
select @tr_var_af_118, @tr_var_af_121, @tr_var_af_122, select @tr_var_af_118, @tr_var_af_121, @tr_var_af_122,
@tr_var_af_136, @tr_var_af_151, @tr_var_af_163; @tr_var_af_136, @tr_var_af_151, @tr_var_af_163;
@tr_var_af_118 @tr_var_af_121 @tr_var_af_122 @tr_var_af_136 @tr_var_af_151 @tr_var_af_163 @tr_var_af_118 @tr_var_af_121 @tr_var_af_122 @tr_var_af_136 @tr_var_af_151 @tr_var_af_163
a NULL Test 3.5.9.4-trig 0 999 NULL a NULL Test 3.5.9.4-trig 0 999 NULL
...@@ -241,6 +242,7 @@ ERROR HY000: There is no NEW row in on DELETE trigger ...@@ -241,6 +242,7 @@ ERROR HY000: There is no NEW row in on DELETE trigger
create trigger trg5b after DELETE on tb3 for each row create trigger trg5b after DELETE on tb3 for each row
set new.f122='test'; set new.f122='test';
ERROR HY000: There is no NEW row in on DELETE trigger ERROR HY000: There is no NEW row in on DELETE trigger
drop trigger trg5a;
drop trigger trg5b; drop trigger trg5b;
Testcase 3.5.9.10: (implied in previous tests) Testcase 3.5.9.10: (implied in previous tests)
......
...@@ -1202,16 +1202,16 @@ declare cur2 cursor for SELECT f1, f2, f4, f5 from t2 where f4 >= -5000 order by ...@@ -1202,16 +1202,16 @@ declare cur2 cursor for SELECT f1, f2, f4, f5 from t2 where f4 >= -5000 order by
open cur1; open cur1;
open cur2; open cur2;
BEGIN BEGIN
declare continue handler for sqlstate '02000' set count=1; declare continue handler for sqlstate '02000' set count = 1;
fetch cur1 into newf1, newf2, newf4, newf5; fetch cur1 into newf1, newf2, newf4, newf5;
SELECT '-1-', count, newf1, newf2, newf4, newf5; SELECT '-1-', count, newf1, newf2, newf4, newf5;
insert into temp1 values ('cur1_out', newf1, newf2, newf4, newf5); insert into temp1 values ('cur1_out', newf1, newf2, newf4, newf5);
set count= 4; set count = 4;
BEGIN BEGIN
while count> 0 do while count > 0 do
fetch cur1 into newf1, newf2, newf4, newf5; fetch cur1 into newf1, newf2, newf4, newf5;
SELECT '-2-', count, newf1, newf2, newf4, newf5; SELECT '-2-', count, newf1, newf2, newf4, newf5;
set count = count- 1; set count = count - 1;
END while; END while;
SELECT '-3-', count, newf1, newf2, newf4, newf4; SELECT '-3-', count, newf1, newf2, newf4, newf4;
END; END;
......
USE test; USE test;
drop table if exists tb3; drop table if exists tb3;
create table tb3 ( create table tb3 (
f118 char not null DEFAULT 'a', f118 char not null DEFAULT 'a',
f119 char binary not null DEFAULT b'101', f119 char binary not null DEFAULT b'101',
f120 char ascii not null DEFAULT b'101', f120 char ascii not null DEFAULT b'101',
f121 char(50), f121 char(50),
f122 char(50), f122 char(50),
f129 binary not null DEFAULT b'101', f129 binary not null DEFAULT b'101',
f130 tinyint not null DEFAULT 99, f130 tinyint not null DEFAULT 99,
f131 tinyint unsigned not null DEFAULT 99, f131 tinyint unsigned not null DEFAULT 99,
f132 tinyint zerofill not null DEFAULT 99, f132 tinyint zerofill not null DEFAULT 99,
f133 tinyint unsigned zerofill not null DEFAULT 99, f133 tinyint unsigned zerofill not null DEFAULT 99,
f134 smallint not null DEFAULT 999, f134 smallint not null DEFAULT 999,
f135 smallint unsigned not null DEFAULT 999, f135 smallint unsigned not null DEFAULT 999,
f136 smallint zerofill not null DEFAULT 999, f136 smallint zerofill not null DEFAULT 999,
f137 smallint unsigned zerofill not null DEFAULT 999, f137 smallint unsigned zerofill not null DEFAULT 999,
f138 mediumint not null DEFAULT 9999, f138 mediumint not null DEFAULT 9999,
f139 mediumint unsigned not null DEFAULT 9999, f139 mediumint unsigned not null DEFAULT 9999,
f140 mediumint zerofill not null DEFAULT 9999, f140 mediumint zerofill not null DEFAULT 9999,
f141 mediumint unsigned zerofill not null DEFAULT 9999, f141 mediumint unsigned zerofill not null DEFAULT 9999,
f142 int not null DEFAULT 99999, f142 int not null DEFAULT 99999,
f143 int unsigned not null DEFAULT 99999, f143 int unsigned not null DEFAULT 99999,
f144 int zerofill not null DEFAULT 99999, f144 int zerofill not null DEFAULT 99999,
f145 int unsigned zerofill not null DEFAULT 99999, f145 int unsigned zerofill not null DEFAULT 99999,
f146 bigint not null DEFAULT 999999, f146 bigint not null DEFAULT 999999,
f147 bigint unsigned not null DEFAULT 999999, f147 bigint unsigned not null DEFAULT 999999,
f148 bigint zerofill not null DEFAULT 999999, f148 bigint zerofill not null DEFAULT 999999,
f149 bigint unsigned zerofill not null DEFAULT 999999, f149 bigint unsigned zerofill not null DEFAULT 999999,
f150 decimal not null DEFAULT 999.999, f150 decimal not null DEFAULT 999.999,
f151 decimal unsigned not null DEFAULT 999.17, f151 decimal unsigned not null DEFAULT 999.17,
f152 decimal zerofill not null DEFAULT 999.999, f152 decimal zerofill not null DEFAULT 999.999,
f153 decimal unsigned zerofill, f153 decimal unsigned zerofill,
f154 decimal (0), f154 decimal (0),
f155 decimal (64), f155 decimal (64),
f156 decimal (0) unsigned, f156 decimal (0) unsigned,
f157 decimal (64) unsigned, f157 decimal (64) unsigned,
f158 decimal (0) zerofill, f158 decimal (0) zerofill,
f159 decimal (64) zerofill, f159 decimal (64) zerofill,
f160 decimal (0) unsigned zerofill, f160 decimal (0) unsigned zerofill,
f161 decimal (64) unsigned zerofill, f161 decimal (64) unsigned zerofill,
f162 decimal (0,0), f162 decimal (0,0),
f163 decimal (63,30), f163 decimal (63,30),
f164 decimal (0,0) unsigned, f164 decimal (0,0) unsigned,
f165 decimal (63,30) unsigned, f165 decimal (63,30) unsigned,
f166 decimal (0,0) zerofill, f166 decimal (0,0) zerofill,
f167 decimal (63,30) zerofill, f167 decimal (63,30) zerofill,
f168 decimal (0,0) unsigned zerofill, f168 decimal (0,0) unsigned zerofill,
f169 decimal (63,30) unsigned zerofill, f169 decimal (63,30) unsigned zerofill,
f170 numeric, f170 numeric,
f171 numeric unsigned, f171 numeric unsigned,
f172 numeric zerofill, f172 numeric zerofill,
f173 numeric unsigned zerofill, f173 numeric unsigned zerofill,
f174 numeric (0), f174 numeric (0),
f175 numeric (64) f175 numeric (64)
) engine = memory; ) engine = memory;
Warnings: Warnings:
Note 1265 Data truncated for column 'f150' at row 1 Note 1265 Data truncated for column 'f150' at row 1
Note 1265 Data truncated for column 'f151' at row 1 Note 1265 Data truncated for column 'f151' at row 1
Note 1265 Data truncated for column 'f152' at row 1 Note 1265 Data truncated for column 'f152' at row 1
load data infile 'MYSQL_TEST_DIR/suite/funcs_1/data/memory_tb3.txt' into table tb3 ; load data infile '<MYSQLTEST_VARDIR>/std_data_ln/funcs_1/memory_tb3.txt'
into table tb3;
Testcase 3.5.3: Testcase 3.5.3:
--------------- ---------------
...@@ -97,7 +98,7 @@ test_noprivs@localhost ...@@ -97,7 +98,7 @@ test_noprivs@localhost
use priv_db; use priv_db;
create trigger trg1_1 before INSERT on t1 for each row create trigger trg1_1 before INSERT on t1 for each row
set new.f1 = 'trig 3.5.3.2_1-no'; set new.f1 = 'trig 3.5.3.2_1-no';
Got one of the listed errors ERROR 42000: TRIGGER command denied to user 'test_noprivs'@'localhost' for table 't1'
use priv_db; use priv_db;
insert into t1 (f1) values ('insert 3.5.3.2-no'); insert into t1 (f1) values ('insert 3.5.3.2-no');
select f1 from t1 order by f1; select f1 from t1 order by f1;
...@@ -129,7 +130,7 @@ Testcase 3.5.3.6: ...@@ -129,7 +130,7 @@ Testcase 3.5.3.6:
----------------- -----------------
use priv_db; use priv_db;
drop trigger trg1_2; drop trigger trg1_2;
Got one of the listed errors ERROR 42000: TRIGGER command denied to user 'test_noprivs'@'localhost' for table 't1'
use priv_db; use priv_db;
insert into t1 (f1) values ('insert 3.5.3.6-yes'); insert into t1 (f1) values ('insert 3.5.3.6-yes');
select f1 from t1 order by f1; select f1 from t1 order by f1;
......
...@@ -989,7 +989,7 @@ root@localhost ...@@ -989,7 +989,7 @@ root@localhost
show triggers; show triggers;
Trigger Event Table Statement Timing Created sql_mode Definer character_set_client collation_connection Database Collation Trigger Event Table Statement Timing Created sql_mode Definer character_set_client collation_connection Database Collation
grant select, insert, update ,trigger grant select, insert, update ,trigger
on priv_db.t1 to test_yesprivs@localhost on priv_db.t1 to test_yesprivs@localhost
with grant option; with grant option;
grant select grant select
on priv_db.t1 to test_useprivs@localhost; on priv_db.t1 to test_useprivs@localhost;
...@@ -1214,7 +1214,7 @@ create definer=not_ex_user@localhost trigger trg1_0 ...@@ -1214,7 +1214,7 @@ create definer=not_ex_user@localhost trigger trg1_0
before INSERT on t1 for each row before INSERT on t1 for each row
set new.f1 = 'trig 1_0-yes'; set new.f1 = 'trig 1_0-yes';
Warnings: Warnings:
Note 1449 There is no 'not_ex_user'@'localhost' registered Note 1449 The user specified as a definer ('not_ex_user'@'localhost') does not exist
drop trigger trg1_0; drop trigger trg1_0;
create definer=test_yesprivs@localhost trigger trg1_0 create definer=test_yesprivs@localhost trigger trg1_0
before INSERT on t1 for each row before INSERT on t1 for each row
...@@ -1252,7 +1252,7 @@ create definer=not_ex_user@localhost trigger trg1_0 ...@@ -1252,7 +1252,7 @@ create definer=not_ex_user@localhost trigger trg1_0
before INSERT on t1 for each row before INSERT on t1 for each row
set new.f1 = 'trig 1_0-yes'; set new.f1 = 'trig 1_0-yes';
ERROR 42000: Access denied; you need the SUPER privilege for this operation ERROR 42000: Access denied; you need the SUPER privilege for this operation
create definer=current_user trigger trg1_1 create definer=current_user trigger trg1_1
before INSERT on t1 for each row before INSERT on t1 for each row
set new.f1 = 'trig 1_1-yes'; set new.f1 = 'trig 1_1-yes';
insert into t1 (f1) values ('insert-no'); insert into t1 (f1) values ('insert-no');
...@@ -1507,7 +1507,7 @@ select current_user; ...@@ -1507,7 +1507,7 @@ select current_user;
current_user current_user
root@localhost root@localhost
revoke UPDATE(f1) on priv_db.t1 from test_yesprivs@localhost; revoke UPDATE(f1) on priv_db.t1 from test_yesprivs@localhost;
grant TRIGGER,UPDATE(f2),UPDATE(f3) on priv_db.t1 grant TRIGGER,UPDATE(f2),UPDATE(f3) on priv_db.t1
to test_yesprivs@localhost; to test_yesprivs@localhost;
show grants for test_yesprivs@localhost; show grants for test_yesprivs@localhost;
Grants for test_yesprivs@localhost Grants for test_yesprivs@localhost
......
USE test; USE test;
drop table if exists tb3; drop table if exists tb3;
create table tb3 ( create table tb3 (
f118 char not null DEFAULT 'a', f118 char not null DEFAULT 'a',
f119 char binary not null DEFAULT b'101', f119 char binary not null DEFAULT b'101',
f120 char ascii not null DEFAULT b'101', f120 char ascii not null DEFAULT b'101',
f121 char(50), f121 char(50),
f122 char(50), f122 char(50),
f129 binary not null DEFAULT b'101', f129 binary not null DEFAULT b'101',
f130 tinyint not null DEFAULT 99, f130 tinyint not null DEFAULT 99,
f131 tinyint unsigned not null DEFAULT 99, f131 tinyint unsigned not null DEFAULT 99,
f132 tinyint zerofill not null DEFAULT 99, f132 tinyint zerofill not null DEFAULT 99,
f133 tinyint unsigned zerofill not null DEFAULT 99, f133 tinyint unsigned zerofill not null DEFAULT 99,
f134 smallint not null DEFAULT 999, f134 smallint not null DEFAULT 999,
f135 smallint unsigned not null DEFAULT 999, f135 smallint unsigned not null DEFAULT 999,
f136 smallint zerofill not null DEFAULT 999, f136 smallint zerofill not null DEFAULT 999,
f137 smallint unsigned zerofill not null DEFAULT 999, f137 smallint unsigned zerofill not null DEFAULT 999,
f138 mediumint not null DEFAULT 9999, f138 mediumint not null DEFAULT 9999,
f139 mediumint unsigned not null DEFAULT 9999, f139 mediumint unsigned not null DEFAULT 9999,
f140 mediumint zerofill not null DEFAULT 9999, f140 mediumint zerofill not null DEFAULT 9999,
f141 mediumint unsigned zerofill not null DEFAULT 9999, f141 mediumint unsigned zerofill not null DEFAULT 9999,
f142 int not null DEFAULT 99999, f142 int not null DEFAULT 99999,
f143 int unsigned not null DEFAULT 99999, f143 int unsigned not null DEFAULT 99999,
f144 int zerofill not null DEFAULT 99999, f144 int zerofill not null DEFAULT 99999,
f145 int unsigned zerofill not null DEFAULT 99999, f145 int unsigned zerofill not null DEFAULT 99999,
f146 bigint not null DEFAULT 999999, f146 bigint not null DEFAULT 999999,
f147 bigint unsigned not null DEFAULT 999999, f147 bigint unsigned not null DEFAULT 999999,
f148 bigint zerofill not null DEFAULT 999999, f148 bigint zerofill not null DEFAULT 999999,
f149 bigint unsigned zerofill not null DEFAULT 999999, f149 bigint unsigned zerofill not null DEFAULT 999999,
f150 decimal not null DEFAULT 999.999, f150 decimal not null DEFAULT 999.999,
f151 decimal unsigned not null DEFAULT 999.17, f151 decimal unsigned not null DEFAULT 999.17,
f152 decimal zerofill not null DEFAULT 999.999, f152 decimal zerofill not null DEFAULT 999.999,
f153 decimal unsigned zerofill, f153 decimal unsigned zerofill,
f154 decimal (0), f154 decimal (0),
f155 decimal (64), f155 decimal (64),
f156 decimal (0) unsigned, f156 decimal (0) unsigned,
f157 decimal (64) unsigned, f157 decimal (64) unsigned,
f158 decimal (0) zerofill, f158 decimal (0) zerofill,
f159 decimal (64) zerofill, f159 decimal (64) zerofill,
f160 decimal (0) unsigned zerofill, f160 decimal (0) unsigned zerofill,
f161 decimal (64) unsigned zerofill, f161 decimal (64) unsigned zerofill,
f162 decimal (0,0), f162 decimal (0,0),
f163 decimal (63,30), f163 decimal (63,30),
f164 decimal (0,0) unsigned, f164 decimal (0,0) unsigned,
f165 decimal (63,30) unsigned, f165 decimal (63,30) unsigned,
f166 decimal (0,0) zerofill, f166 decimal (0,0) zerofill,
f167 decimal (63,30) zerofill, f167 decimal (63,30) zerofill,
f168 decimal (0,0) unsigned zerofill, f168 decimal (0,0) unsigned zerofill,
f169 decimal (63,30) unsigned zerofill, f169 decimal (63,30) unsigned zerofill,
f170 numeric, f170 numeric,
f171 numeric unsigned, f171 numeric unsigned,
f172 numeric zerofill, f172 numeric zerofill,
f173 numeric unsigned zerofill, f173 numeric unsigned zerofill,
f174 numeric (0), f174 numeric (0),
f175 numeric (64) f175 numeric (64)
) engine = memory; ) engine = memory;
Warnings: Warnings:
Note 1265 Data truncated for column 'f150' at row 1 Note 1265 Data truncated for column 'f150' at row 1
Note 1265 Data truncated for column 'f151' at row 1 Note 1265 Data truncated for column 'f151' at row 1
Note 1265 Data truncated for column 'f152' at row 1 Note 1265 Data truncated for column 'f152' at row 1
load data infile 'MYSQL_TEST_DIR/suite/funcs_1/data/memory_tb3.txt' into table tb3 ; load data infile '<MYSQLTEST_VARDIR>/std_data_ln/funcs_1/memory_tb3.txt'
into table tb3;
Testcase 3.5.9.1/2: Testcase 3.5.9.1/2:
------------------- -------------------
Create trigger trg1 BEFORE UPDATE on tb3 for each row Create trigger trg1 BEFORE UPDATE on tb3 for each row
set new.f142 = 94087, @counter=@counter+1; set new.f142 = 94087, @counter=@counter+1;
TotalRows TotalRows
10 10
...@@ -74,15 +75,15 @@ NewValuew ...@@ -74,15 +75,15 @@ NewValuew
0 0
set @counter=0; set @counter=0;
Update tb3 Set f142='1' where f130<100; Update tb3 Set f142='1' where f130<100;
select count(*) as ExpectedChanged, @counter as TrigCounter select count(*) as ExpectedChanged, @counter as TrigCounter
from tb3 where f142=94087; from tb3 where f142=94087;
ExpectedChanged TrigCounter ExpectedChanged TrigCounter
9 9 9 9
select count(*) as ExpectedNotChange from tb3 select count(*) as ExpectedNotChange from tb3
where f130<100 and f142<>94087; where f130<100 and f142<>94087;
ExpectedNotChange ExpectedNotChange
0 0
select count(*) as NonExpectedChanged from tb3 select count(*) as NonExpectedChanged from tb3
where f130>=130 and f142=94087; where f130>=130 and f142=94087;
NonExpectedChanged NonExpectedChanged
0 0
...@@ -110,17 +111,17 @@ set @tr_var_af_118=old.f118, @tr_var_af_121=old.f121, ...@@ -110,17 +111,17 @@ set @tr_var_af_118=old.f118, @tr_var_af_121=old.f121,
0 0 0 0 0 0 0 0 0 0
@tr_var_af_118 @tr_var_af_121 @tr_var_af_122 @tr_var_af_136 @tr_var_af_163 @tr_var_af_118 @tr_var_af_121 @tr_var_af_122 @tr_var_af_136 @tr_var_af_163
0 0 0 0 0 0 0 0 0 0
Insert into tb3 (f122, f136, f163) Insert into tb3 (f122, f136, f163)
values ('Test 3.5.9.3', 7, 123.17); values ('Test 3.5.9.3', 7, 123.17);
Update tb3 Set f136=8 where f122='Test 3.5.9.3'; Update tb3 Set f136=8 where f122='Test 3.5.9.3';
select f118, f121, f122, f136, f163 from tb3 where f122='Test 3.5.9.3' order by f136; select f118, f121, f122, f136, f163 from tb3 where f122='Test 3.5.9.3' order by f136;
f118 f121 f122 f136 f163 f118 f121 f122 f136 f163
a NULL Test 3.5.9.3 00008 123.170000000000000000000000000000 a NULL Test 3.5.9.3 00008 123.170000000000000000000000000000
select @tr_var_b4_118, @tr_var_b4_121, @tr_var_b4_122, select @tr_var_b4_118, @tr_var_b4_121, @tr_var_b4_122,
@tr_var_b4_136, @tr_var_b4_163; @tr_var_b4_136, @tr_var_b4_163;
@tr_var_b4_118 @tr_var_b4_121 @tr_var_b4_122 @tr_var_b4_136 @tr_var_b4_163 @tr_var_b4_118 @tr_var_b4_121 @tr_var_b4_122 @tr_var_b4_136 @tr_var_b4_163
a NULL Test 3.5.9.3 7 123.170000000000000000000000000000 a NULL Test 3.5.9.3 7 123.170000000000000000000000000000
select @tr_var_af_118, @tr_var_af_121, @tr_var_af_122, select @tr_var_af_118, @tr_var_af_121, @tr_var_af_122,
@tr_var_af_136, @tr_var_af_163; @tr_var_af_136, @tr_var_af_163;
@tr_var_af_118 @tr_var_af_121 @tr_var_af_122 @tr_var_af_136 @tr_var_af_163 @tr_var_af_118 @tr_var_af_121 @tr_var_af_122 @tr_var_af_136 @tr_var_af_163
a NULL Test 3.5.9.3 7 123.170000000000000000000000000000 a NULL Test 3.5.9.3 7 123.170000000000000000000000000000
...@@ -131,11 +132,11 @@ a NULL Test 3.5.9.3 7 123.170000000000000000000000000000 ...@@ -131,11 +132,11 @@ a NULL Test 3.5.9.3 7 123.170000000000000000000000000000
delete from tb3 where f122='Test 3.5.9.3'; delete from tb3 where f122='Test 3.5.9.3';
select f118, f121, f122, f136, f163 from tb3 where f122='Test 3.5.9.3' order by f136; select f118, f121, f122, f136, f163 from tb3 where f122='Test 3.5.9.3' order by f136;
f118 f121 f122 f136 f163 f118 f121 f122 f136 f163
select @tr_var_b4_118, @tr_var_b4_121, @tr_var_b4_122, select @tr_var_b4_118, @tr_var_b4_121, @tr_var_b4_122,
@tr_var_b4_136, @tr_var_b4_163; @tr_var_b4_136, @tr_var_b4_163;
@tr_var_b4_118 @tr_var_b4_121 @tr_var_b4_122 @tr_var_b4_136 @tr_var_b4_163 @tr_var_b4_118 @tr_var_b4_121 @tr_var_b4_122 @tr_var_b4_136 @tr_var_b4_163
a NULL Test 3.5.9.3 8 123.170000000000000000000000000000 a NULL Test 3.5.9.3 8 123.170000000000000000000000000000
select @tr_var_af_118, @tr_var_af_121, @tr_var_af_122, select @tr_var_af_118, @tr_var_af_121, @tr_var_af_122,
@tr_var_af_136, @tr_var_af_163; @tr_var_af_136, @tr_var_af_163;
@tr_var_af_118 @tr_var_af_121 @tr_var_af_122 @tr_var_af_136 @tr_var_af_163 @tr_var_af_118 @tr_var_af_121 @tr_var_af_122 @tr_var_af_136 @tr_var_af_163
a NULL Test 3.5.9.3 8 123.170000000000000000000000000000 a NULL Test 3.5.9.3 8 123.170000000000000000000000000000
...@@ -166,17 +167,17 @@ set @tr_var_af_118=new.f118, @tr_var_af_121=new.f121, ...@@ -166,17 +167,17 @@ set @tr_var_af_118=new.f118, @tr_var_af_121=new.f121,
0 0 0 0 0 0 0 0 0 0 0 0
@tr_var_af_118 @tr_var_af_121 @tr_var_af_122 @tr_var_af_136 @tr_var_af_151 @tr_var_af_163 @tr_var_af_118 @tr_var_af_121 @tr_var_af_122 @tr_var_af_136 @tr_var_af_151 @tr_var_af_163
0 0 0 0 0 0 0 0 0 0 0 0
Insert into tb3 (f122, f136, f151, f163) Insert into tb3 (f122, f136, f151, f163)
values ('Test 3.5.9.4', 7, DEFAULT, 995.24); values ('Test 3.5.9.4', 7, DEFAULT, 995.24);
select f118, f121, f122, f136, f151, f163 from tb3 select f118, f121, f122, f136, f151, f163 from tb3
where f122 like 'Test 3.5.9.4%' order by f163; where f122 like 'Test 3.5.9.4%' order by f163;
f118 f121 f122 f136 f151 f163 f118 f121 f122 f136 f151 f163
a NULL Test 3.5.9.4 00007 999 995.240000000000000000000000000000 a NULL Test 3.5.9.4 00007 999 995.240000000000000000000000000000
select @tr_var_b4_118, @tr_var_b4_121, @tr_var_b4_122, select @tr_var_b4_118, @tr_var_b4_121, @tr_var_b4_122,
@tr_var_b4_136, @tr_var_b4_151, @tr_var_b4_163; @tr_var_b4_136, @tr_var_b4_151, @tr_var_b4_163;
@tr_var_b4_118 @tr_var_b4_121 @tr_var_b4_122 @tr_var_b4_136 @tr_var_b4_151 @tr_var_b4_163 @tr_var_b4_118 @tr_var_b4_121 @tr_var_b4_122 @tr_var_b4_136 @tr_var_b4_151 @tr_var_b4_163
a NULL Test 3.5.9.4 7 999 995.240000000000000000000000000000 a NULL Test 3.5.9.4 7 999 995.240000000000000000000000000000
select @tr_var_af_118, @tr_var_af_121, @tr_var_af_122, select @tr_var_af_118, @tr_var_af_121, @tr_var_af_122,
@tr_var_af_136, @tr_var_af_151, @tr_var_af_163; @tr_var_af_136, @tr_var_af_151, @tr_var_af_163;
@tr_var_af_118 @tr_var_af_121 @tr_var_af_122 @tr_var_af_136 @tr_var_af_151 @tr_var_af_163 @tr_var_af_118 @tr_var_af_121 @tr_var_af_122 @tr_var_af_136 @tr_var_af_151 @tr_var_af_163
a NULL Test 3.5.9.4 7 999 995.240000000000000000000000000000 a NULL Test 3.5.9.4 7 999 995.240000000000000000000000000000
...@@ -189,15 +190,15 @@ where f122='Test 3.5.9.4'; ...@@ -189,15 +190,15 @@ where f122='Test 3.5.9.4';
ERROR 23000: Column 'f136' cannot be null ERROR 23000: Column 'f136' cannot be null
Update tb3 Set f122='Test 3.5.9.4-trig', f136=0, f151=DEFAULT, f163=NULL Update tb3 Set f122='Test 3.5.9.4-trig', f136=0, f151=DEFAULT, f163=NULL
where f122='Test 3.5.9.4'; where f122='Test 3.5.9.4';
select f118, f121, f122, f136, f151, f163 from tb3 select f118, f121, f122, f136, f151, f163 from tb3
where f122 like 'Test 3.5.9.4-trig' order by f163; where f122 like 'Test 3.5.9.4-trig' order by f163;
f118 f121 f122 f136 f151 f163 f118 f121 f122 f136 f151 f163
a NULL Test 3.5.9.4-trig 00000 999 NULL a NULL Test 3.5.9.4-trig 00000 999 NULL
select @tr_var_b4_118, @tr_var_b4_121, @tr_var_b4_122, select @tr_var_b4_118, @tr_var_b4_121, @tr_var_b4_122,
@tr_var_b4_136, @tr_var_b4_151, @tr_var_b4_163; @tr_var_b4_136, @tr_var_b4_151, @tr_var_b4_163;
@tr_var_b4_118 @tr_var_b4_121 @tr_var_b4_122 @tr_var_b4_136 @tr_var_b4_151 @tr_var_b4_163 @tr_var_b4_118 @tr_var_b4_121 @tr_var_b4_122 @tr_var_b4_136 @tr_var_b4_151 @tr_var_b4_163
a NULL Test 3.5.9.4-trig 0 999 NULL a NULL Test 3.5.9.4-trig 0 999 NULL
select @tr_var_af_118, @tr_var_af_121, @tr_var_af_122, select @tr_var_af_118, @tr_var_af_121, @tr_var_af_122,
@tr_var_af_136, @tr_var_af_151, @tr_var_af_163; @tr_var_af_136, @tr_var_af_151, @tr_var_af_163;
@tr_var_af_118 @tr_var_af_121 @tr_var_af_122 @tr_var_af_136 @tr_var_af_151 @tr_var_af_163 @tr_var_af_118 @tr_var_af_121 @tr_var_af_122 @tr_var_af_136 @tr_var_af_151 @tr_var_af_163
a NULL Test 3.5.9.4-trig 0 999 NULL a NULL Test 3.5.9.4-trig 0 999 NULL
...@@ -235,6 +236,7 @@ ERROR HY000: There is no NEW row in on DELETE trigger ...@@ -235,6 +236,7 @@ ERROR HY000: There is no NEW row in on DELETE trigger
create trigger trg5b after DELETE on tb3 for each row create trigger trg5b after DELETE on tb3 for each row
set new.f122='test'; set new.f122='test';
ERROR HY000: There is no NEW row in on DELETE trigger ERROR HY000: There is no NEW row in on DELETE trigger
drop trigger trg5a;
drop trigger trg5b; drop trigger trg5b;
Testcase 3.5.9.10: (implied in previous tests) Testcase 3.5.9.10: (implied in previous tests)
......
...@@ -1202,16 +1202,16 @@ declare cur2 cursor for SELECT f1, f2, f4, f5 from t2 where f4 >= -5000 order by ...@@ -1202,16 +1202,16 @@ declare cur2 cursor for SELECT f1, f2, f4, f5 from t2 where f4 >= -5000 order by
open cur1; open cur1;
open cur2; open cur2;
BEGIN BEGIN
declare continue handler for sqlstate '02000' set count=1; declare continue handler for sqlstate '02000' set count = 1;
fetch cur1 into newf1, newf2, newf4, newf5; fetch cur1 into newf1, newf2, newf4, newf5;
SELECT '-1-', count, newf1, newf2, newf4, newf5; SELECT '-1-', count, newf1, newf2, newf4, newf5;
insert into temp1 values ('cur1_out', newf1, newf2, newf4, newf5); insert into temp1 values ('cur1_out', newf1, newf2, newf4, newf5);
set count= 4; set count = 4;
BEGIN BEGIN
while count> 0 do while count > 0 do
fetch cur1 into newf1, newf2, newf4, newf5; fetch cur1 into newf1, newf2, newf4, newf5;
SELECT '-2-', count, newf1, newf2, newf4, newf5; SELECT '-2-', count, newf1, newf2, newf4, newf5;
set count = count- 1; set count = count - 1;
END while; END while;
SELECT '-3-', count, newf1, newf2, newf4, newf4; SELECT '-3-', count, newf1, newf2, newf4, newf4;
END; END;
......
USE test; USE test;
drop table if exists tb3 ; drop table if exists tb3 ;
create table tb3 ( create table tb3 (
f118 char not null DEFAULT 'a', f118 char not null DEFAULT 'a',
f119 char binary not null DEFAULT b'101', f119 char binary not null DEFAULT b'101',
f120 char ascii not null DEFAULT b'101', f120 char ascii not null DEFAULT b'101',
f121 tinytext, f121 tinytext,
f122 text, f122 text,
f123 mediumtext, f123 mediumtext,
f124 longtext unicode, f124 longtext unicode,
f125 tinyblob, f125 tinyblob,
f126 blob, f126 blob,
f127 mediumblob, f127 mediumblob,
f128 longblob, f128 longblob,
f129 binary not null DEFAULT b'101', f129 binary not null DEFAULT b'101',
f130 tinyint not null DEFAULT 99, f130 tinyint not null DEFAULT 99,
f131 tinyint unsigned not null DEFAULT 99, f131 tinyint unsigned not null DEFAULT 99,
f132 tinyint zerofill not null DEFAULT 99, f132 tinyint zerofill not null DEFAULT 99,
f133 tinyint unsigned zerofill not null DEFAULT 99, f133 tinyint unsigned zerofill not null DEFAULT 99,
f134 smallint not null DEFAULT 999, f134 smallint not null DEFAULT 999,
f135 smallint unsigned not null DEFAULT 999, f135 smallint unsigned not null DEFAULT 999,
f136 smallint zerofill not null DEFAULT 999, f136 smallint zerofill not null DEFAULT 999,
f137 smallint unsigned zerofill not null DEFAULT 999, f137 smallint unsigned zerofill not null DEFAULT 999,
f138 mediumint not null DEFAULT 9999, f138 mediumint not null DEFAULT 9999,
f139 mediumint unsigned not null DEFAULT 9999, f139 mediumint unsigned not null DEFAULT 9999,
f140 mediumint zerofill not null DEFAULT 9999, f140 mediumint zerofill not null DEFAULT 9999,
f141 mediumint unsigned zerofill not null DEFAULT 9999, f141 mediumint unsigned zerofill not null DEFAULT 9999,
f142 int not null DEFAULT 99999, f142 int not null DEFAULT 99999,
f143 int unsigned not null DEFAULT 99999, f143 int unsigned not null DEFAULT 99999,
f144 int zerofill not null DEFAULT 99999, f144 int zerofill not null DEFAULT 99999,
f145 int unsigned zerofill not null DEFAULT 99999, f145 int unsigned zerofill not null DEFAULT 99999,
f146 bigint not null DEFAULT 999999, f146 bigint not null DEFAULT 999999,
f147 bigint unsigned not null DEFAULT 999999, f147 bigint unsigned not null DEFAULT 999999,
f148 bigint zerofill not null DEFAULT 999999, f148 bigint zerofill not null DEFAULT 999999,
f149 bigint unsigned zerofill not null DEFAULT 999999, f149 bigint unsigned zerofill not null DEFAULT 999999,
f150 decimal not null DEFAULT 999.999, f150 decimal not null DEFAULT 999.999,
f151 decimal unsigned not null DEFAULT 999.17, f151 decimal unsigned not null DEFAULT 999.17,
f152 decimal zerofill not null DEFAULT 999.999, f152 decimal zerofill not null DEFAULT 999.999,
f153 decimal unsigned zerofill, f153 decimal unsigned zerofill,
f154 decimal (0), f154 decimal (0),
f155 decimal (64), f155 decimal (64),
f156 decimal (0) unsigned, f156 decimal (0) unsigned,
f157 decimal (64) unsigned, f157 decimal (64) unsigned,
f158 decimal (0) zerofill, f158 decimal (0) zerofill,
f159 decimal (64) zerofill, f159 decimal (64) zerofill,
f160 decimal (0) unsigned zerofill, f160 decimal (0) unsigned zerofill,
f161 decimal (64) unsigned zerofill, f161 decimal (64) unsigned zerofill,
f162 decimal (0,0), f162 decimal (0,0),
f163 decimal (63,30), f163 decimal (63,30),
f164 decimal (0,0) unsigned, f164 decimal (0,0) unsigned,
f165 decimal (63,30) unsigned, f165 decimal (63,30) unsigned,
f166 decimal (0,0) zerofill, f166 decimal (0,0) zerofill,
f167 decimal (63,30) zerofill, f167 decimal (63,30) zerofill,
f168 decimal (0,0) unsigned zerofill, f168 decimal (0,0) unsigned zerofill,
f169 decimal (63,30) unsigned zerofill, f169 decimal (63,30) unsigned zerofill,
f170 numeric, f170 numeric,
f171 numeric unsigned, f171 numeric unsigned,
f172 numeric zerofill, f172 numeric zerofill,
f173 numeric unsigned zerofill, f173 numeric unsigned zerofill,
f174 numeric (0), f174 numeric (0),
f175 numeric (64) f175 numeric (64)
) Engine = myisam; ) Engine = myisam;
Warnings: Warnings:
Note 1265 Data truncated for column 'f150' at row 1 Note 1265 Data truncated for column 'f150' at row 1
Note 1265 Data truncated for column 'f151' at row 1 Note 1265 Data truncated for column 'f151' at row 1
Note 1265 Data truncated for column 'f152' at row 1 Note 1265 Data truncated for column 'f152' at row 1
load data infile 'MYSQL_TEST_DIR/suite/funcs_1/data/myisam_tb3.txt' into table tb3 ; load data infile '<MYSQLTEST_VARDIR>/std_data_ln/funcs_1/myisam_tb3.txt'
into table tb3;
Testcase 3.5.3: Testcase 3.5.3:
--------------- ---------------
...@@ -103,7 +104,7 @@ test_noprivs@localhost ...@@ -103,7 +104,7 @@ test_noprivs@localhost
use priv_db; use priv_db;
create trigger trg1_1 before INSERT on t1 for each row create trigger trg1_1 before INSERT on t1 for each row
set new.f1 = 'trig 3.5.3.2_1-no'; set new.f1 = 'trig 3.5.3.2_1-no';
Got one of the listed errors ERROR 42000: TRIGGER command denied to user 'test_noprivs'@'localhost' for table 't1'
use priv_db; use priv_db;
insert into t1 (f1) values ('insert 3.5.3.2-no'); insert into t1 (f1) values ('insert 3.5.3.2-no');
select f1 from t1 order by f1; select f1 from t1 order by f1;
...@@ -135,7 +136,7 @@ Testcase 3.5.3.6: ...@@ -135,7 +136,7 @@ Testcase 3.5.3.6:
----------------- -----------------
use priv_db; use priv_db;
drop trigger trg1_2; drop trigger trg1_2;
Got one of the listed errors ERROR 42000: TRIGGER command denied to user 'test_noprivs'@'localhost' for table 't1'
use priv_db; use priv_db;
insert into t1 (f1) values ('insert 3.5.3.6-yes'); insert into t1 (f1) values ('insert 3.5.3.6-yes');
select f1 from t1 order by f1; select f1 from t1 order by f1;
......
...@@ -989,7 +989,7 @@ root@localhost ...@@ -989,7 +989,7 @@ root@localhost
show triggers; show triggers;
Trigger Event Table Statement Timing Created sql_mode Definer character_set_client collation_connection Database Collation Trigger Event Table Statement Timing Created sql_mode Definer character_set_client collation_connection Database Collation
grant select, insert, update ,trigger grant select, insert, update ,trigger
on priv_db.t1 to test_yesprivs@localhost on priv_db.t1 to test_yesprivs@localhost
with grant option; with grant option;
grant select grant select
on priv_db.t1 to test_useprivs@localhost; on priv_db.t1 to test_useprivs@localhost;
...@@ -1214,7 +1214,7 @@ create definer=not_ex_user@localhost trigger trg1_0 ...@@ -1214,7 +1214,7 @@ create definer=not_ex_user@localhost trigger trg1_0
before INSERT on t1 for each row before INSERT on t1 for each row
set new.f1 = 'trig 1_0-yes'; set new.f1 = 'trig 1_0-yes';
Warnings: Warnings:
Note 1449 There is no 'not_ex_user'@'localhost' registered Note 1449 The user specified as a definer ('not_ex_user'@'localhost') does not exist
drop trigger trg1_0; drop trigger trg1_0;
create definer=test_yesprivs@localhost trigger trg1_0 create definer=test_yesprivs@localhost trigger trg1_0
before INSERT on t1 for each row before INSERT on t1 for each row
...@@ -1252,7 +1252,7 @@ create definer=not_ex_user@localhost trigger trg1_0 ...@@ -1252,7 +1252,7 @@ create definer=not_ex_user@localhost trigger trg1_0
before INSERT on t1 for each row before INSERT on t1 for each row
set new.f1 = 'trig 1_0-yes'; set new.f1 = 'trig 1_0-yes';
ERROR 42000: Access denied; you need the SUPER privilege for this operation ERROR 42000: Access denied; you need the SUPER privilege for this operation
create definer=current_user trigger trg1_1 create definer=current_user trigger trg1_1
before INSERT on t1 for each row before INSERT on t1 for each row
set new.f1 = 'trig 1_1-yes'; set new.f1 = 'trig 1_1-yes';
insert into t1 (f1) values ('insert-no'); insert into t1 (f1) values ('insert-no');
...@@ -1507,7 +1507,7 @@ select current_user; ...@@ -1507,7 +1507,7 @@ select current_user;
current_user current_user
root@localhost root@localhost
revoke UPDATE(f1) on priv_db.t1 from test_yesprivs@localhost; revoke UPDATE(f1) on priv_db.t1 from test_yesprivs@localhost;
grant TRIGGER,UPDATE(f2),UPDATE(f3) on priv_db.t1 grant TRIGGER,UPDATE(f2),UPDATE(f3) on priv_db.t1
to test_yesprivs@localhost; to test_yesprivs@localhost;
show grants for test_yesprivs@localhost; show grants for test_yesprivs@localhost;
Grants for test_yesprivs@localhost Grants for test_yesprivs@localhost
......
USE test; USE test;
drop table if exists tb3 ; drop table if exists tb3 ;
create table tb3 ( create table tb3 (
f118 char not null DEFAULT 'a', f118 char not null DEFAULT 'a',
f119 char binary not null DEFAULT b'101', f119 char binary not null DEFAULT b'101',
f120 char ascii not null DEFAULT b'101', f120 char ascii not null DEFAULT b'101',
f121 tinytext, f121 tinytext,
f122 text, f122 text,
f123 mediumtext, f123 mediumtext,
f124 longtext unicode, f124 longtext unicode,
f125 tinyblob, f125 tinyblob,
f126 blob, f126 blob,
f127 mediumblob, f127 mediumblob,
f128 longblob, f128 longblob,
f129 binary not null DEFAULT b'101', f129 binary not null DEFAULT b'101',
f130 tinyint not null DEFAULT 99, f130 tinyint not null DEFAULT 99,
f131 tinyint unsigned not null DEFAULT 99, f131 tinyint unsigned not null DEFAULT 99,
f132 tinyint zerofill not null DEFAULT 99, f132 tinyint zerofill not null DEFAULT 99,
f133 tinyint unsigned zerofill not null DEFAULT 99, f133 tinyint unsigned zerofill not null DEFAULT 99,
f134 smallint not null DEFAULT 999, f134 smallint not null DEFAULT 999,
f135 smallint unsigned not null DEFAULT 999, f135 smallint unsigned not null DEFAULT 999,
f136 smallint zerofill not null DEFAULT 999, f136 smallint zerofill not null DEFAULT 999,
f137 smallint unsigned zerofill not null DEFAULT 999, f137 smallint unsigned zerofill not null DEFAULT 999,
f138 mediumint not null DEFAULT 9999, f138 mediumint not null DEFAULT 9999,
f139 mediumint unsigned not null DEFAULT 9999, f139 mediumint unsigned not null DEFAULT 9999,
f140 mediumint zerofill not null DEFAULT 9999, f140 mediumint zerofill not null DEFAULT 9999,
f141 mediumint unsigned zerofill not null DEFAULT 9999, f141 mediumint unsigned zerofill not null DEFAULT 9999,
f142 int not null DEFAULT 99999, f142 int not null DEFAULT 99999,
f143 int unsigned not null DEFAULT 99999, f143 int unsigned not null DEFAULT 99999,
f144 int zerofill not null DEFAULT 99999, f144 int zerofill not null DEFAULT 99999,
f145 int unsigned zerofill not null DEFAULT 99999, f145 int unsigned zerofill not null DEFAULT 99999,
f146 bigint not null DEFAULT 999999, f146 bigint not null DEFAULT 999999,
f147 bigint unsigned not null DEFAULT 999999, f147 bigint unsigned not null DEFAULT 999999,
f148 bigint zerofill not null DEFAULT 999999, f148 bigint zerofill not null DEFAULT 999999,
f149 bigint unsigned zerofill not null DEFAULT 999999, f149 bigint unsigned zerofill not null DEFAULT 999999,
f150 decimal not null DEFAULT 999.999, f150 decimal not null DEFAULT 999.999,
f151 decimal unsigned not null DEFAULT 999.17, f151 decimal unsigned not null DEFAULT 999.17,
f152 decimal zerofill not null DEFAULT 999.999, f152 decimal zerofill not null DEFAULT 999.999,
f153 decimal unsigned zerofill, f153 decimal unsigned zerofill,
f154 decimal (0), f154 decimal (0),
f155 decimal (64), f155 decimal (64),
f156 decimal (0) unsigned, f156 decimal (0) unsigned,
f157 decimal (64) unsigned, f157 decimal (64) unsigned,
f158 decimal (0) zerofill, f158 decimal (0) zerofill,
f159 decimal (64) zerofill, f159 decimal (64) zerofill,
f160 decimal (0) unsigned zerofill, f160 decimal (0) unsigned zerofill,
f161 decimal (64) unsigned zerofill, f161 decimal (64) unsigned zerofill,
f162 decimal (0,0), f162 decimal (0,0),
f163 decimal (63,30), f163 decimal (63,30),
f164 decimal (0,0) unsigned, f164 decimal (0,0) unsigned,
f165 decimal (63,30) unsigned, f165 decimal (63,30) unsigned,
f166 decimal (0,0) zerofill, f166 decimal (0,0) zerofill,
f167 decimal (63,30) zerofill, f167 decimal (63,30) zerofill,
f168 decimal (0,0) unsigned zerofill, f168 decimal (0,0) unsigned zerofill,
f169 decimal (63,30) unsigned zerofill, f169 decimal (63,30) unsigned zerofill,
f170 numeric, f170 numeric,
f171 numeric unsigned, f171 numeric unsigned,
f172 numeric zerofill, f172 numeric zerofill,
f173 numeric unsigned zerofill, f173 numeric unsigned zerofill,
f174 numeric (0), f174 numeric (0),
f175 numeric (64) f175 numeric (64)
) Engine = myisam; ) Engine = myisam;
Warnings: Warnings:
Note 1265 Data truncated for column 'f150' at row 1 Note 1265 Data truncated for column 'f150' at row 1
Note 1265 Data truncated for column 'f151' at row 1 Note 1265 Data truncated for column 'f151' at row 1
Note 1265 Data truncated for column 'f152' at row 1 Note 1265 Data truncated for column 'f152' at row 1
load data infile 'MYSQL_TEST_DIR/suite/funcs_1/data/myisam_tb3.txt' into table tb3 ; load data infile '<MYSQLTEST_VARDIR>/std_data_ln/funcs_1/myisam_tb3.txt'
into table tb3;
Testcase 3.5.9.1/2: Testcase 3.5.9.1/2:
------------------- -------------------
Create trigger trg1 BEFORE UPDATE on tb3 for each row Create trigger trg1 BEFORE UPDATE on tb3 for each row
set new.f142 = 94087, @counter=@counter+1; set new.f142 = 94087, @counter=@counter+1;
TotalRows TotalRows
10 10
...@@ -80,15 +81,15 @@ NewValuew ...@@ -80,15 +81,15 @@ NewValuew
0 0
set @counter=0; set @counter=0;
Update tb3 Set f142='1' where f130<100; Update tb3 Set f142='1' where f130<100;
select count(*) as ExpectedChanged, @counter as TrigCounter select count(*) as ExpectedChanged, @counter as TrigCounter
from tb3 where f142=94087; from tb3 where f142=94087;
ExpectedChanged TrigCounter ExpectedChanged TrigCounter
8 8 8 8
select count(*) as ExpectedNotChange from tb3 select count(*) as ExpectedNotChange from tb3
where f130<100 and f142<>94087; where f130<100 and f142<>94087;
ExpectedNotChange ExpectedNotChange
0 0
select count(*) as NonExpectedChanged from tb3 select count(*) as NonExpectedChanged from tb3
where f130>=130 and f142=94087; where f130>=130 and f142=94087;
NonExpectedChanged NonExpectedChanged
0 0
...@@ -116,17 +117,17 @@ set @tr_var_af_118=old.f118, @tr_var_af_121=old.f121, ...@@ -116,17 +117,17 @@ set @tr_var_af_118=old.f118, @tr_var_af_121=old.f121,
0 0 0 0 0 0 0 0 0 0
@tr_var_af_118 @tr_var_af_121 @tr_var_af_122 @tr_var_af_136 @tr_var_af_163 @tr_var_af_118 @tr_var_af_121 @tr_var_af_122 @tr_var_af_136 @tr_var_af_163
0 0 0 0 0 0 0 0 0 0
Insert into tb3 (f122, f136, f163) Insert into tb3 (f122, f136, f163)
values ('Test 3.5.9.3', 7, 123.17); values ('Test 3.5.9.3', 7, 123.17);
Update tb3 Set f136=8 where f122='Test 3.5.9.3'; Update tb3 Set f136=8 where f122='Test 3.5.9.3';
select f118, f121, f122, f136, f163 from tb3 where f122='Test 3.5.9.3' order by f136; select f118, f121, f122, f136, f163 from tb3 where f122='Test 3.5.9.3' order by f136;
f118 f121 f122 f136 f163 f118 f121 f122 f136 f163
a NULL Test 3.5.9.3 00008 123.170000000000000000000000000000 a NULL Test 3.5.9.3 00008 123.170000000000000000000000000000
select @tr_var_b4_118, @tr_var_b4_121, @tr_var_b4_122, select @tr_var_b4_118, @tr_var_b4_121, @tr_var_b4_122,
@tr_var_b4_136, @tr_var_b4_163; @tr_var_b4_136, @tr_var_b4_163;
@tr_var_b4_118 @tr_var_b4_121 @tr_var_b4_122 @tr_var_b4_136 @tr_var_b4_163 @tr_var_b4_118 @tr_var_b4_121 @tr_var_b4_122 @tr_var_b4_136 @tr_var_b4_163
a NULL Test 3.5.9.3 7 123.170000000000000000000000000000 a NULL Test 3.5.9.3 7 123.170000000000000000000000000000
select @tr_var_af_118, @tr_var_af_121, @tr_var_af_122, select @tr_var_af_118, @tr_var_af_121, @tr_var_af_122,
@tr_var_af_136, @tr_var_af_163; @tr_var_af_136, @tr_var_af_163;
@tr_var_af_118 @tr_var_af_121 @tr_var_af_122 @tr_var_af_136 @tr_var_af_163 @tr_var_af_118 @tr_var_af_121 @tr_var_af_122 @tr_var_af_136 @tr_var_af_163
a NULL Test 3.5.9.3 7 123.170000000000000000000000000000 a NULL Test 3.5.9.3 7 123.170000000000000000000000000000
...@@ -137,11 +138,11 @@ a NULL Test 3.5.9.3 7 123.170000000000000000000000000000 ...@@ -137,11 +138,11 @@ a NULL Test 3.5.9.3 7 123.170000000000000000000000000000
delete from tb3 where f122='Test 3.5.9.3'; delete from tb3 where f122='Test 3.5.9.3';
select f118, f121, f122, f136, f163 from tb3 where f122='Test 3.5.9.3' order by f136; select f118, f121, f122, f136, f163 from tb3 where f122='Test 3.5.9.3' order by f136;
f118 f121 f122 f136 f163 f118 f121 f122 f136 f163
select @tr_var_b4_118, @tr_var_b4_121, @tr_var_b4_122, select @tr_var_b4_118, @tr_var_b4_121, @tr_var_b4_122,
@tr_var_b4_136, @tr_var_b4_163; @tr_var_b4_136, @tr_var_b4_163;
@tr_var_b4_118 @tr_var_b4_121 @tr_var_b4_122 @tr_var_b4_136 @tr_var_b4_163 @tr_var_b4_118 @tr_var_b4_121 @tr_var_b4_122 @tr_var_b4_136 @tr_var_b4_163
a NULL Test 3.5.9.3 8 123.170000000000000000000000000000 a NULL Test 3.5.9.3 8 123.170000000000000000000000000000
select @tr_var_af_118, @tr_var_af_121, @tr_var_af_122, select @tr_var_af_118, @tr_var_af_121, @tr_var_af_122,
@tr_var_af_136, @tr_var_af_163; @tr_var_af_136, @tr_var_af_163;
@tr_var_af_118 @tr_var_af_121 @tr_var_af_122 @tr_var_af_136 @tr_var_af_163 @tr_var_af_118 @tr_var_af_121 @tr_var_af_122 @tr_var_af_136 @tr_var_af_163
a NULL Test 3.5.9.3 8 123.170000000000000000000000000000 a NULL Test 3.5.9.3 8 123.170000000000000000000000000000
...@@ -172,17 +173,17 @@ set @tr_var_af_118=new.f118, @tr_var_af_121=new.f121, ...@@ -172,17 +173,17 @@ set @tr_var_af_118=new.f118, @tr_var_af_121=new.f121,
0 0 0 0 0 0 0 0 0 0 0 0
@tr_var_af_118 @tr_var_af_121 @tr_var_af_122 @tr_var_af_136 @tr_var_af_151 @tr_var_af_163 @tr_var_af_118 @tr_var_af_121 @tr_var_af_122 @tr_var_af_136 @tr_var_af_151 @tr_var_af_163
0 0 0 0 0 0 0 0 0 0 0 0
Insert into tb3 (f122, f136, f151, f163) Insert into tb3 (f122, f136, f151, f163)
values ('Test 3.5.9.4', 7, DEFAULT, 995.24); values ('Test 3.5.9.4', 7, DEFAULT, 995.24);
select f118, f121, f122, f136, f151, f163 from tb3 select f118, f121, f122, f136, f151, f163 from tb3
where f122 like 'Test 3.5.9.4%' order by f163; where f122 like 'Test 3.5.9.4%' order by f163;
f118 f121 f122 f136 f151 f163 f118 f121 f122 f136 f151 f163
a NULL Test 3.5.9.4 00007 999 995.240000000000000000000000000000 a NULL Test 3.5.9.4 00007 999 995.240000000000000000000000000000
select @tr_var_b4_118, @tr_var_b4_121, @tr_var_b4_122, select @tr_var_b4_118, @tr_var_b4_121, @tr_var_b4_122,
@tr_var_b4_136, @tr_var_b4_151, @tr_var_b4_163; @tr_var_b4_136, @tr_var_b4_151, @tr_var_b4_163;
@tr_var_b4_118 @tr_var_b4_121 @tr_var_b4_122 @tr_var_b4_136 @tr_var_b4_151 @tr_var_b4_163 @tr_var_b4_118 @tr_var_b4_121 @tr_var_b4_122 @tr_var_b4_136 @tr_var_b4_151 @tr_var_b4_163
a NULL Test 3.5.9.4 7 999 995.240000000000000000000000000000 a NULL Test 3.5.9.4 7 999 995.240000000000000000000000000000
select @tr_var_af_118, @tr_var_af_121, @tr_var_af_122, select @tr_var_af_118, @tr_var_af_121, @tr_var_af_122,
@tr_var_af_136, @tr_var_af_151, @tr_var_af_163; @tr_var_af_136, @tr_var_af_151, @tr_var_af_163;
@tr_var_af_118 @tr_var_af_121 @tr_var_af_122 @tr_var_af_136 @tr_var_af_151 @tr_var_af_163 @tr_var_af_118 @tr_var_af_121 @tr_var_af_122 @tr_var_af_136 @tr_var_af_151 @tr_var_af_163
a NULL Test 3.5.9.4 7 999 995.240000000000000000000000000000 a NULL Test 3.5.9.4 7 999 995.240000000000000000000000000000
...@@ -195,15 +196,15 @@ where f122='Test 3.5.9.4'; ...@@ -195,15 +196,15 @@ where f122='Test 3.5.9.4';
ERROR 23000: Column 'f136' cannot be null ERROR 23000: Column 'f136' cannot be null
Update tb3 Set f122='Test 3.5.9.4-trig', f136=0, f151=DEFAULT, f163=NULL Update tb3 Set f122='Test 3.5.9.4-trig', f136=0, f151=DEFAULT, f163=NULL
where f122='Test 3.5.9.4'; where f122='Test 3.5.9.4';
select f118, f121, f122, f136, f151, f163 from tb3 select f118, f121, f122, f136, f151, f163 from tb3
where f122 like 'Test 3.5.9.4-trig' order by f163; where f122 like 'Test 3.5.9.4-trig' order by f163;
f118 f121 f122 f136 f151 f163 f118 f121 f122 f136 f151 f163
a NULL Test 3.5.9.4-trig 00000 999 NULL a NULL Test 3.5.9.4-trig 00000 999 NULL
select @tr_var_b4_118, @tr_var_b4_121, @tr_var_b4_122, select @tr_var_b4_118, @tr_var_b4_121, @tr_var_b4_122,
@tr_var_b4_136, @tr_var_b4_151, @tr_var_b4_163; @tr_var_b4_136, @tr_var_b4_151, @tr_var_b4_163;
@tr_var_b4_118 @tr_var_b4_121 @tr_var_b4_122 @tr_var_b4_136 @tr_var_b4_151 @tr_var_b4_163 @tr_var_b4_118 @tr_var_b4_121 @tr_var_b4_122 @tr_var_b4_136 @tr_var_b4_151 @tr_var_b4_163
a NULL Test 3.5.9.4-trig 0 999 NULL a NULL Test 3.5.9.4-trig 0 999 NULL
select @tr_var_af_118, @tr_var_af_121, @tr_var_af_122, select @tr_var_af_118, @tr_var_af_121, @tr_var_af_122,
@tr_var_af_136, @tr_var_af_151, @tr_var_af_163; @tr_var_af_136, @tr_var_af_151, @tr_var_af_163;
@tr_var_af_118 @tr_var_af_121 @tr_var_af_122 @tr_var_af_136 @tr_var_af_151 @tr_var_af_163 @tr_var_af_118 @tr_var_af_121 @tr_var_af_122 @tr_var_af_136 @tr_var_af_151 @tr_var_af_163
a NULL Test 3.5.9.4-trig 0 999 NULL a NULL Test 3.5.9.4-trig 0 999 NULL
...@@ -241,6 +242,7 @@ ERROR HY000: There is no NEW row in on DELETE trigger ...@@ -241,6 +242,7 @@ ERROR HY000: There is no NEW row in on DELETE trigger
create trigger trg5b after DELETE on tb3 for each row create trigger trg5b after DELETE on tb3 for each row
set new.f122='test'; set new.f122='test';
ERROR HY000: There is no NEW row in on DELETE trigger ERROR HY000: There is no NEW row in on DELETE trigger
drop trigger trg5a;
drop trigger trg5b; drop trigger trg5b;
Testcase 3.5.9.10: (implied in previous tests) Testcase 3.5.9.10: (implied in previous tests)
......
...@@ -989,7 +989,7 @@ root@localhost ...@@ -989,7 +989,7 @@ root@localhost
show triggers; show triggers;
Trigger Event Table Statement Timing Created sql_mode Definer character_set_client collation_connection Database Collation Trigger Event Table Statement Timing Created sql_mode Definer character_set_client collation_connection Database Collation
grant select, insert, update ,trigger grant select, insert, update ,trigger
on priv_db.t1 to test_yesprivs@localhost on priv_db.t1 to test_yesprivs@localhost
with grant option; with grant option;
grant select grant select
on priv_db.t1 to test_useprivs@localhost; on priv_db.t1 to test_useprivs@localhost;
...@@ -1214,7 +1214,7 @@ create definer=not_ex_user@localhost trigger trg1_0 ...@@ -1214,7 +1214,7 @@ create definer=not_ex_user@localhost trigger trg1_0
before INSERT on t1 for each row before INSERT on t1 for each row
set new.f1 = 'trig 1_0-yes'; set new.f1 = 'trig 1_0-yes';
Warnings: Warnings:
Note 1449 There is no 'not_ex_user'@'localhost' registered Note 1449 The user specified as a definer ('not_ex_user'@'localhost') does not exist
drop trigger trg1_0; drop trigger trg1_0;
create definer=test_yesprivs@localhost trigger trg1_0 create definer=test_yesprivs@localhost trigger trg1_0
before INSERT on t1 for each row before INSERT on t1 for each row
...@@ -1252,7 +1252,7 @@ create definer=not_ex_user@localhost trigger trg1_0 ...@@ -1252,7 +1252,7 @@ create definer=not_ex_user@localhost trigger trg1_0
before INSERT on t1 for each row before INSERT on t1 for each row
set new.f1 = 'trig 1_0-yes'; set new.f1 = 'trig 1_0-yes';
ERROR 42000: Access denied; you need the SUPER privilege for this operation ERROR 42000: Access denied; you need the SUPER privilege for this operation
create definer=current_user trigger trg1_1 create definer=current_user trigger trg1_1
before INSERT on t1 for each row before INSERT on t1 for each row
set new.f1 = 'trig 1_1-yes'; set new.f1 = 'trig 1_1-yes';
insert into t1 (f1) values ('insert-no'); insert into t1 (f1) values ('insert-no');
...@@ -1318,7 +1318,7 @@ current_user ...@@ -1318,7 +1318,7 @@ current_user
test_yesprivs@localhost test_yesprivs@localhost
use priv_db; use priv_db;
set autocommit=0; set autocommit=0;
create definer=current_user trigger trg1_1 create definer=current_user trigger trg1_1
before INSERT on t1 for each row before INSERT on t1 for each row
set new.f1 = 'trig 1_1-yes'; set new.f1 = 'trig 1_1-yes';
rollback work; rollback work;
...@@ -1564,7 +1564,7 @@ select current_user; ...@@ -1564,7 +1564,7 @@ select current_user;
current_user current_user
root@localhost root@localhost
revoke UPDATE(f1) on priv_db.t1 from test_yesprivs@localhost; revoke UPDATE(f1) on priv_db.t1 from test_yesprivs@localhost;
grant TRIGGER,UPDATE(f2),UPDATE(f3) on priv_db.t1 grant TRIGGER,UPDATE(f2),UPDATE(f3) on priv_db.t1
to test_yesprivs@localhost; to test_yesprivs@localhost;
show grants for test_yesprivs@localhost; show grants for test_yesprivs@localhost;
Grants for test_yesprivs@localhost Grants for test_yesprivs@localhost
......
This diff is collapsed.
...@@ -40,7 +40,7 @@ eval SHOW TABLES FROM information_schema LIKE '$is_table'; ...@@ -40,7 +40,7 @@ eval SHOW TABLES FROM information_schema LIKE '$is_table';
# Ensure that the INFORMATION_SCHEMA.ENGINES table has the following columns, # Ensure that the INFORMATION_SCHEMA.ENGINES table has the following columns,
# in the following order: # in the following order:
# #
# ENGINE # ENGINE
# SUPPORT # SUPPORT
# COMMENT # COMMENT
# TRANSACTIONS # TRANSACTIONS
......
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment