summaryrefslogtreecommitdiff
path: root/mysql-test/t/select.test
diff options
context:
space:
mode:
authoranozdrin/alik@station. <>2007-10-23 18:03:51 +0400
committeranozdrin/alik@station. <>2007-10-23 18:03:51 +0400
commitb2264ff81040fa021671181d8098778964458033 (patch)
treeeaae216f32a03ef82da350e4dcf6edb1038c090f /mysql-test/t/select.test
parent6fa35a5d3b3647682d1ee211a7afd20d220f8151 (diff)
downloadmariadb-git-b2264ff81040fa021671181d8098778964458033.tar.gz
Patch for BUG#30736: Row Size Too Large Error Creating a Table and
Inserting Data. The problem was that under some circumstances Field class was not properly initialized before calling create_length_to_internal_length() function, which led to assert failure. The fix is to do the proper initialization. The user-visible problem was that under some circumstances CREATE TABLE ... SELECT statement crashed the server or led to wrong error message (wrong results).
Diffstat (limited to 'mysql-test/t/select.test')
-rw-r--r--mysql-test/t/select.test48
1 files changed, 48 insertions, 0 deletions
diff --git a/mysql-test/t/select.test b/mysql-test/t/select.test
index 5c30a17e08e..6deb951c4e8 100644
--- a/mysql-test/t/select.test
+++ b/mysql-test/t/select.test
@@ -3484,4 +3484,52 @@ DROP VIEW v1, v2, v3;
--enable_ps_protocol
+###########################################################################
+
+--echo
+--echo #
+--echo # Bug#30736: Row Size Too Large Error Creating a Table and
+--echo # Inserting Data.
+--echo #
+
+--disable_warnings
+DROP TABLE IF EXISTS t1;
+DROP TABLE IF EXISTS t2;
+--enable_warnings
+
+--echo
+
+CREATE TABLE t1(
+ c1 DECIMAL(10, 2),
+ c2 FLOAT);
+
+--echo
+
+INSERT INTO t1 VALUES (0, 1), (2, 3), (4, 5);
+
+--echo
+
+CREATE TABLE t2(
+ c3 DECIMAL(10, 2))
+ SELECT
+ c1 * c2 AS c3
+ FROM t1;
+
+--echo
+
+SELECT * FROM t1;
+
+--echo
+
+SELECT * FROM t2;
+
+--echo
+
+DROP TABLE t1;
+DROP TABLE t2;
+
+--echo
+
+###########################################################################
+
--echo End of 5.0 tests