summaryrefslogtreecommitdiff
path: root/storage/connect/mysql-test/connect
diff options
context:
space:
mode:
authorOlivier Bertrand <bertrandop@gmail.com>2014-08-22 17:30:22 +0200
committerOlivier Bertrand <bertrandop@gmail.com>2014-08-22 17:30:22 +0200
commitf930f4eda9dd849b48e67eaecc8c130bb9310107 (patch)
tree9b4cee3b93a6a2d5e7445f088449718c75786186 /storage/connect/mysql-test/connect
parent8b9ed85b8a198e4de71677e3e9478c9162471e1b (diff)
downloadmariadb-git-f930f4eda9dd849b48e67eaecc8c130bb9310107.tar.gz
- Add a new CONNECT global variable allowing to tell whether or not
a temporary file should be used for UPDATE/DELETE of file tables. Also use the "sorted" argument of index_init to help decide if sorting of positions must be done. modified: storage/connect/checklvl.h storage/connect/connect.cc storage/connect/connect.h storage/connect/filamdbf.cpp storage/connect/filamfix.cpp storage/connect/filamfix.h storage/connect/filamtxt.cpp storage/connect/ha_connect.cc storage/connect/mysql-test/connect/r/part_table.result storage/connect/plgdbsem.h storage/connect/plgdbutl.cpp storage/connect/reldef.cpp storage/connect/tabdos.cpp storage/connect/tabdos.h storage/connect/tabfix.cpp storage/connect/tabfmt.cpp storage/connect/tabvct.cpp storage/connect/tabvct.h storage/connect/xindex.cpp - Fix a bug in TDBASE::ColDB that caused some special columns not to be found in the column list and reallocated without their Value causing a crash of some queries. modified: storage/connect/table.cpp - Fix a bug causing RestoreNrec to be called before closing a table causing a wrong value given to Spos modified: storage/connect/tabdos.cpp storage/connect/xindex.cpp - Add a new CONNECT global variable connect_exact_info. Set to ON, it tells CONNECT to return exact record numbers on info queries. If OFF it just gives an estimate. In version 10.0.13 this was unconditionally ON and caused info queries on remote tables to be extremely long and was the subject of MDEV-6612. modified: storage/connect/ha_connect.cc storage/connect/tabdos.cpp storage/connect/tabmysql.cpp storage/connect/tabodbc.cpp
Diffstat (limited to 'storage/connect/mysql-test/connect')
-rw-r--r--storage/connect/mysql-test/connect/r/part_file.result2
-rw-r--r--storage/connect/mysql-test/connect/r/part_table.result3
-rw-r--r--storage/connect/mysql-test/connect/t/part_file.test4
-rw-r--r--storage/connect/mysql-test/connect/t/part_table.test7
4 files changed, 16 insertions, 0 deletions
diff --git a/storage/connect/mysql-test/connect/r/part_file.result b/storage/connect/mysql-test/connect/r/part_file.result
index bd5c258a4e2..c679ed95062 100644
--- a/storage/connect/mysql-test/connect/r/part_file.result
+++ b/storage/connect/mysql-test/connect/r/part_file.result
@@ -1,3 +1,4 @@
+set @@global.connect_exact_info=ON;
# This will be used to see what data files are created
CREATE TABLE dr1 (
fname VARCHAR(256) NOT NULL FLAG=2,
@@ -342,3 +343,4 @@ part2 .txt
part3 .txt
DROP TABLE t1;
DROP TABLE dr1;
+set @@global.connect_exact_info=OFF;
diff --git a/storage/connect/mysql-test/connect/r/part_table.result b/storage/connect/mysql-test/connect/r/part_table.result
index 09d46687f00..e447caca615 100644
--- a/storage/connect/mysql-test/connect/r/part_table.result
+++ b/storage/connect/mysql-test/connect/r/part_table.result
@@ -1,3 +1,4 @@
+set @@global.connect_exact_info=ON;
CREATE TABLE xt1 (
id INT KEY NOT NULL,
msg VARCHAR(32))
@@ -147,6 +148,7 @@ UPDATE t1 SET msg = 'number' WHERE id in (60,72);
Warnings:
Note 1105 xt3: 2 affected rows
Note 1105 xt3: 0 affected rows
+Warning 1105 xt3: (1105) Position array is null
UPDATE t1 SET msg = 'soixante' WHERE id = 60;
Warnings:
Note 1105 xt3: 1 affected rows
@@ -193,3 +195,4 @@ DROP TABLE t1;
DROP TABLE xt1;
DROP TABLE xt2;
DROP TABLE xt3;
+set @@global.connect_exact_info=OFF;
diff --git a/storage/connect/mysql-test/connect/t/part_file.test b/storage/connect/mysql-test/connect/t/part_file.test
index 159908b6d9b..6efd2b9b580 100644
--- a/storage/connect/mysql-test/connect/t/part_file.test
+++ b/storage/connect/mysql-test/connect/t/part_file.test
@@ -1,6 +1,8 @@
--source include/have_partition.inc
let $MYSQLD_DATADIR= `select @@datadir`;
+set @@global.connect_exact_info=ON;
+
--echo # This will be used to see what data files are created
CREATE TABLE dr1 (
fname VARCHAR(256) NOT NULL FLAG=2,
@@ -153,6 +155,8 @@ DROP TABLE dr1;
#
# Clean up
#
+set @@global.connect_exact_info=OFF;
+
--remove_file $MYSQLD_DATADIR/test/part1.txt
--remove_file $MYSQLD_DATADIR/test/part2.txt
--remove_file $MYSQLD_DATADIR/test/part3.txt
diff --git a/storage/connect/mysql-test/connect/t/part_table.test b/storage/connect/mysql-test/connect/t/part_table.test
index 34e224efa6f..c5358d63c8e 100644
--- a/storage/connect/mysql-test/connect/t/part_table.test
+++ b/storage/connect/mysql-test/connect/t/part_table.test
@@ -1,6 +1,8 @@
--source include/not_embedded.inc
--source include/have_partition.inc
+set @@global.connect_exact_info=ON;
+
#
# These will be used by the t1 table partition table
#
@@ -83,3 +85,8 @@ DROP TABLE t1;
DROP TABLE xt1;
DROP TABLE xt2;
DROP TABLE xt3;
+
+#
+# Clean up
+#
+set @@global.connect_exact_info=OFF;