From abbf7ad01461284d8c92fbc385caa4b37fa50765 Mon Sep 17 00:00:00 2001 From: unknown Date: Wed, 12 Jul 2006 16:33:29 -0700 Subject: Bug #17608: String literals lost during INSERT query on FEDERATED table The Federated storage engine used Field methods that had arbitrary limits on the amount of data they could process, which caused problems with data over that limit (4K). By removing those Field methods and just using features of the String class, we can avoid this problem. mysql-test/r/federated.result: Add new results mysql-test/t/federated.test: Add new regression test sql/field.cc: Remove unnecessary methods sql/field.h: Remove unnecessary methods sql/ha_federated.cc: Remove use of quote_data, use String::print() to get escaping of strings, and don't bother with needs_quotes, just always quote values. --- mysql-test/r/federated.result | 13 +++++++++++++ 1 file changed, 13 insertions(+) (limited to 'mysql-test/r/federated.result') diff --git a/mysql-test/r/federated.result b/mysql-test/r/federated.result index 709e44579e2..d17aedf22f9 100644 --- a/mysql-test/r/federated.result +++ b/mysql-test/r/federated.result @@ -1733,6 +1733,19 @@ id val 2 0 drop table t1; drop table t1; +create table t1 (a longblob not null); +create table t1 +(a longblob not null) engine=federated +connection='mysql://root@127.0.0.1:SLAVE_PORT/test/t1'; +insert into t1 values (repeat('a',5000)); +select length(a) from t1; +length(a) +5000 +select length(a) from t1; +length(a) +5000 +drop table t1; +drop table t1; DROP TABLE IF EXISTS federated.t1; DROP DATABASE IF EXISTS federated; DROP TABLE IF EXISTS federated.t1; -- cgit v1.2.1