mirror of
https://github.com/MariaDB/server.git
synced 2025-01-17 04:22:27 +01:00
429382c29f
These tests produced different results in case they were run with the option --ps-protocol. These tests produced different result sets since a value of Feature_subquery and handler_read_key status system variables are updated one time more for ps-protocol (the first time it is updated on Prepare phase and the second time on Execute phase of PS protocol) So different result sets are expected for both tests. To make tests successfully runnable both for case it is run with and without the option --ps-protocol the new protocol combination [ps, nm] and protocol specific result files have been added. Moreover, the perl script mysql-test/mariadb-test-run.pl has been updated to make the variable opt_ps_protocol visible outside perl file containing this variable.
150 lines
3.5 KiB
Text
150 lines
3.5 KiB
Text
# Testing of feature statistics
|
|
|
|
-- source include/have_geometry.inc
|
|
-- source include/protocol.inc
|
|
|
|
--disable_warnings
|
|
drop table if exists t1;
|
|
--enable_warnings
|
|
|
|
set sql_mode="";
|
|
|
|
flush status;
|
|
|
|
show status like "feature%";
|
|
|
|
--echo #
|
|
--echo # Feature GIS
|
|
--echo #
|
|
|
|
CREATE TABLE t1 (g POINT);
|
|
SHOW FIELDS FROM t1;
|
|
INSERT INTO t1 VALUES
|
|
(PointFromText('POINT(10 10)')),
|
|
(PointFromText('POINT(20 10)')),
|
|
(PointFromText('POINT(20 20)')),
|
|
(PointFromWKB(AsWKB(PointFromText('POINT(10 20)'))));
|
|
drop table t1;
|
|
|
|
show status like "feature_gis";
|
|
|
|
--echo #
|
|
--echo # Feature dynamic columns
|
|
--echo #
|
|
set @a= COLUMN_CREATE(1, 1212 AS int);
|
|
set @b= column_add(@a, 2, 1212 as integer);
|
|
select column_get(@b, 2 as integer);
|
|
|
|
show status like "feature_dynamic_columns";
|
|
|
|
--echo #
|
|
--echo # Feature fulltext
|
|
--echo #
|
|
|
|
CREATE TABLE t1 (a VARCHAR(200), b TEXT, FULLTEXT (a,b)) engine=myisam;
|
|
INSERT INTO t1 VALUES('MySQL has now support', 'for full-text search'),
|
|
('Full-text indexes', 'are called collections'),
|
|
('Only MyISAM tables','support collections'),
|
|
('Function MATCH ... AGAINST()','is used to do a search'),
|
|
('Full-text search in MySQL', 'implements vector space model');
|
|
select * from t1 where MATCH(a,b) AGAINST ("collections");
|
|
select * from t1 where MATCH(a,b) AGAINST ("indexes");
|
|
drop table t1;
|
|
|
|
# We need the following when running with --ps-protocol
|
|
--replace_result 4 2
|
|
show status like "feature_fulltext";
|
|
|
|
|
|
--echo #
|
|
--echo # Feature locale
|
|
--echo #
|
|
|
|
SET lc_messages=sr_RS;
|
|
SET lc_messages=en_US;
|
|
show status like "feature_locale";
|
|
|
|
--echo #
|
|
--echo # Feature subquery
|
|
--echo #
|
|
|
|
select (select 2);
|
|
SELECT (SELECT 1) UNION SELECT (SELECT 2);
|
|
|
|
create table t1 (a int);
|
|
insert into t1 values (2);
|
|
select (select a from t1 where t1.a=t2.a), a from t1 as t2;
|
|
drop table t1;
|
|
--replace_result 8 4
|
|
show status like "feature_subquery";
|
|
|
|
--echo #
|
|
--echo # Feature timezone
|
|
--echo #
|
|
|
|
SELECT FROM_UNIXTIME(unix_timestamp()) > "1970-01-01";
|
|
set time_zone="+03:00";
|
|
SELECT FROM_UNIXTIME(unix_timestamp()) > "1970-01-01";
|
|
set time_zone= @@global.time_zone;
|
|
show status like "feature_timezone";
|
|
|
|
--echo #
|
|
--echo # Feature triggers
|
|
--echo #
|
|
|
|
create table t1 (i int);
|
|
--echo # let us test some very simple trigger
|
|
create trigger trg before insert on t1 for each row set @a:=1;
|
|
set @a:=0;
|
|
select @a;
|
|
insert into t1 values (1),(2);
|
|
select @a;
|
|
--replace_column 6 #
|
|
SHOW TRIGGERS IN test like 't1';
|
|
drop trigger trg;
|
|
drop table t1;
|
|
|
|
show status like "%trigger%";
|
|
|
|
--echo #
|
|
--echo # Feature xml
|
|
--echo #
|
|
SET @xml='<a aa1="aa1" aa2="aa2">a1<b ba1="ba1">b1<c>c1</c>b2</b>a2</a>';
|
|
SELECT extractValue(@xml,'/a');
|
|
select updatexml('<div><div><span>1</span><span>2</span></div></div>',
|
|
'/','<tr><td>1</td><td>2</td></tr>') as upd1;
|
|
--replace_result 4 2
|
|
show status like "feature_xml";
|
|
|
|
|
|
--echo #
|
|
--echo # Feature delayed_keys
|
|
--echo #
|
|
|
|
create table t1 (a int, key(a)) engine=myisam delay_key_write=1;
|
|
insert into t1 values(1);
|
|
insert into t1 values(2);
|
|
drop table t1;
|
|
|
|
create table t1 (a int, key(a)) engine=aria delay_key_write=1;
|
|
insert into t1 values(1);
|
|
insert into t1 values(2);
|
|
drop table t1;
|
|
|
|
show status like "feature_delay_key_write";
|
|
|
|
--echo #
|
|
--echo # Feature CHECK CONSTRAINT
|
|
--echo #
|
|
create table t1 (a int check (a > 5));
|
|
create table t2 (b int, constraint foo check (b < 10));
|
|
drop table t1, t2;
|
|
show status like "feature_check_constraint";
|
|
|
|
--echo #
|
|
--echo # Feature insert...returning
|
|
--echo #
|
|
create table t1(id1 int);
|
|
insert into t1 values (1),(2) returning *;
|
|
drop table t1;
|
|
show status like "feature_insert_returning";
|