2812 lars-erik.bjork@stripped 2008-09-08
This is a fix for bug#38304 - Data contents becomes NULL if
column name in Falcon table uses accented letters.
In StorageInterface::encodeRecord the value for fields with
international character(s) in their names are coded as
NULL (encodeNULL). This is because there is no entry for these
fields in the fieldMap. The values for these fields are therefore
never written to the database.
When populating the fieldMap ( in StorageInterface::mapFields),
the fieldId of every field is looked up by calling
StorageTableShare::getFieldId, which in turn calls
Table::findField.
Table::findField, is not able to match the field name looked up
in the SymbolManager (SymbolManager::getSymbol), with the field
name in the Table.
This is because SymbolManager::getSymbol tries to uppercase
every Symbol it looks up, but the uppercasing does not handle
international characters. The name it tries to look up, and
eventually returns, is the partial name of the field, up to the
first international character.
Because we "can't find" the correct field, a NULL entry is added
to the fieldMap for this field.
According to Jim Starkey, the fix for this would be to replace
the call to SymbolManager::getSymbol, with a call to
SymbolManager::getString, which does not uppercase the input.
This seems to work, and I have added a test-case that tests this
for different combinations of the SQL modes (also suggested by
Jim)
There are some twenty different SQL modes, which would result in
millions of different combinations, so I have picked the modes
that to the best of my knowledge, are the most interesting ones.
added:
mysql-test/suite/falcon/r/falcon_bug_38304.result
mysql-test/suite/falcon/t/falcon_bug_38304.test
modified:
storage/falcon/Table.cpp
2811 Vladislav Vaintroub 2008-09-06
Correct typo in previous push (permission flags on open() ORed with open flags).
It caused a funny behaviour on Windows - files were created with readonly
attribute and hence could not be removed with unlink()
modified:
storage/falcon/IO.cpp
=== added file 'mysql-test/suite/falcon/r/falcon_bug_38304.result'
--- a/mysql-test/suite/falcon/r/falcon_bug_38304.result 1970-01-01 00:00:00 +0000
+++ b/mysql-test/suite/falcon/r/falcon_bug_38304.result 2008-09-08 11:51:19 +0000
@@ -0,0 +1,646 @@
+*** Bug #<38304> ***
+SET @@storage_engine = 'Falcon';
+DROP TABLE IF EXISTS t1;
+SET LOCAL SQL_MODE="";
+CREATE TABLE t1 (`äëïôæø` varchar(30) character set utf8);
+INSERT INTO t1 VALUES ('this'),('is'), ('a'), ('test');
+SELECT * FROM t1;
+äëïôæø
+this
+is
+a
+test
+DROP TABLE t1;
+SET LOCAL SQL_MODE="STRICT_ALL_TABLES";
+CREATE TABLE t1 (`äëïôæø` varchar(30) character set utf8);
+INSERT INTO t1 VALUES ('this'),('is'), ('a'), ('test');
+SELECT * FROM t1;
+äëïôæø
+this
+is
+a
+test
+DROP TABLE t1;
+SET LOCAL SQL_MODE="STRICT_TRANS_TABLES";
+CREATE TABLE t1 (`äëïôæø` varchar(30) character set utf8);
+INSERT INTO t1 VALUES ('this'),('is'), ('a'), ('test');
+SELECT * FROM t1;
+äëïôæø
+this
+is
+a
+test
+DROP TABLE t1;
+SET LOCAL SQL_MODE="STRICT_TRANS_TABLES,STRICT_ALL_TABLES";
+CREATE TABLE t1 (`äëïôæø` varchar(30) character set utf8);
+INSERT INTO t1 VALUES ('this'),('is'), ('a'), ('test');
+SELECT * FROM t1;
+äë_MODE="NO_BACKSLASH_ESCAPES";
+CREATE TABLE t1 (`äëïôæø` varchar(30) character set utf8);
+INSERT INTO t1 VALUES ('this'),('is'), ('a'), ('test');
+SELECT * FROM t1;
+äëïôæø
+this
+is
+a
+test
+DROP TABLE t1;
+SET LOCAL SQL_MODE="NO_BACKSLASH_ESCAPES,STRICT_ALL_TABLES";
+CREATE TABLE t1 (`äëïôæø` varchar(30) character set utf8);
+INSERT INTO t1 VALUES ('this'),('is'), ('a'), ('test');
+SELECT * FROM t1;
+äëïôæø
+this
+is
+a
+test
+DROP TABLE t1;
+SET LOCAL SQL_MODE="NO_BACKSLASH_ESCAPES,STRICT_TRANS_TABLES";
+CREATE TABLE t1 (`äëïôæø` varchar(30) character set utf8);
+INSERT INTO t1 VALUES ('this'),('is'), ('a'), ('test');
+SELECT * FROM t1;
+äQL_MODE="NO_BACKSLASH_ESCAPES,STRICT_TRANS_TABLES,STRICT_ALL_TABLES";
+CREATE TABLE t1 (`äëïôæø` varchar(30) character set utf8);
+INSERT INTO t1 VALUES ('this'),('is'), ('a'), ('test');
+SELECT * FROM t1;
+äëïôæø
+this
+is
+a
+test
+DROP TABLE t1;
+SET LOCAL SQL_MODE="ANSI";
+CREATE TABLE t1 (`äëïôæø` varchar(30) character set utf8);
+INSERT INTO t1 VALUES ('this'),('is'), ('a'), ('test');
+SELECT * FROM t1;
+äëïôæø
+this
+is
+a
+test
+DROP TABLE t1;
+SET LOCAL SQL_MODE="ANSI,STRICT_ALL_TABLES";
+CREATE TABLE t1 (`äëïôæø` varchar(30) character set utf8);
+INSERT INTO t1 VALUES ('this'),('is'), ('a'), ('test');
+SELECT * FROM t1;
+äëïôæø
+this
+is
+a
+test
+DROP TABLE t1;
+SET LOCAL SQL_MODE="ANSI,STRICT_TRANS_TABLES";
+CREATE TABLE t1 (`äëïôæø` varchar(30) character set utf8);
+INSERT INTO t1 VALUES ('this'),('is'), ('a'), ('test');
+SELECT * FROM t1;
+äëïôæø
+this
+is
+a
+test
+DROP TABLE t1;
+SET LOCAL SQL_MODE="ANSI,STRICT_TRANS_TABLES,STRICT_ALL_TABLES";
+CREATE TABLE t1 (`äëïôæø` varchar(30) character set utf8);
+INSERT INTO t1 VALUES ('this'),('is'), ('a'), ('test');
+SELECT * FROM t1;
+äëïôæø
+this
+is
+a
+test
+DROP TABLE t1;
+SET LOCAL SQL_MODE="ANSI,NO_BACKSLASH_ESCAPES";
+CREATE TABLE t1 (`äëïôæø` varchar(30) character set utf8);
+INSERT INTO t1 VALUES ('this'),('is'), ('a'), ('test');
+SELECT * FROM t1;
+äëïôæø
+this
+is
+a
+test
+DROP TABLE t1;
+SET LOCAL SQL_MODE="ANSI,NO_BACKSLASH_ESCAPES,STRICT_ALL_TABLES";
+CREATE TABLE t1 (`äëïôæø` varchar(30) character set utf8);
+INSERT INTO t1 VALUES ('this'),('is'), ('a'), ('test');
+SELECT * FROM t1;
+äëïôæø
+this
+is
+a
+test
+DROP TABLE t1;
+SET LOCAL SQL_MODE="ANSI,NO_BACKSLASH_ESCAPES,STRICT_TRANS_TABLES";
+CREATE TABLE t1 (`äëïôæø` varchar(30) character set utf8);
+INSERT INTO t1 VALUES ('this'),('is'), ('a'), ('test');
+SELECT * FROM t1;
+äëïôæø
+this
+is
+a
+test
+DROP TABLE t1;
+SET LOCAL SQL_MODE="ANSI,NO_BACKSLASH_ESCAPES,STRICT_TRANS_TABLES,STRICT_ALL_TABLES";
+CREATE TABLE t1 (`äëïôæø` varchar(30) character set utf8);
+INSERT INTO t1 VALUES ('this'),('is'), ('a'), ('test');
+SELECT * FROM t1;
+äëïôæø
+this
+is
+a
+test
+DROP TABLE t1;
+SET LOCAL SQL_MODE="ANSI_QUOTES";
+CREATE TABLE t1 (`äëïôæø` varchar(30) character set utf8);
+INSERT INTO t1 VALUES ('this'),('is'), ('a'), ('test');
+SELECT * FROM t1;
+äëïôæø
+this
+is
+a
+test
+DROP TABLE t1;
+SET LOCAL SQL_MODE="ANSI_QUOTES,STRICT_ALL_TABLES";
+CREATE TABLE t1 (`äëïôæø` varchar(30) character set utf8);
+INSERT INTO t1 VALUES ('this'),('is'), ('a'), ('test');
+SELECT * FROM t1;
+äëïôæø
+this
+is
+a
+test
+DROP TABLE t1;
+SET LOCAL SQL_MODE="ANSI_QUOTES,STRICT_TRANS_TABLES";
+CREATE TABLE t1 (`äëïôæø` varchar(30) character set utf8);
+INSERT INTO t1 VALUES ('this'),('is'), ('a'), ('test');
+SELECT * FROM t1;
+äëïôæø
+this
+is
+a
+test
+DROP TABLE t1;
+SET LOCAL SQL_MODE="ANSI_QUOTES,STRICT_TRANS_TABLES,STRICT_ALL_TABLES";
+CREATE TABLE t1 (`äëïôæø` varchar(30) character set utf8);
+INSERT INTO t1 VALUES ('this'),('is'), ('a'), ('test');
+SELECT * FROM t1;
+äëïôæ"ANSI_QUOTES,NO_BACKSLASH_ESCAPES";
+CREATE TABLE t1 (`äëïôæø` varchar(30) character set utf8);
+INSERT INTO t1 VALUES ('this'),('is'), ('a'), ('test');
+SELECT * FROM t1;
+äëïôæø
+this
+is
+a
+test
+DROP TABLE t1;
+SET LOCAL SQL_MODE="ANSI_QUOTES,NO_BACKSLASH_ESCAPES,STRICT_ALL_TABLES";
+CREATE TABLE t1 (`äëïôæø` varchar(30) character set utf8);
+INSERT INTO t1 VALUES ('this'),('is'), ('a'), ('test');
+SELECT * FROM t1;
+äëïôæø
+this
+is
+a
+test
+DROP TABLE t1;
+SET LOCAL SQL_MODE="ANSI_QUOTES,NO_BACKSLASH_ESCAPES,STRICT_TRANS_TABLES";
+CREATE TABLE t1 (`äëïôæø` varchar(30) character set utf8);
+INSERT INTO t1 VALUES ('this'),('is'), ('a'), ('test');
+SELECT * FROM t1;
+äëïôæø
+this
+is
+a
+test
+DROP TABLE t1;
+SET LOCAL SQL_MODE="ANSI_QUOTES,NO_BACKSLASH_ESCAPES,STRICT_TRANS_TABLES,STRICT_ALL_TABLES";
+CREATE TABLE t1 (`äëïôæø` varchar(30) character set utf8);
+INSERT INTO t1 VALUES ('this'),('is'), ('a'), ('test');
+SELECT * FROM t1;
+äëïôæø
+this
+is
+a
+test
+DROP TABLE t1;
+SET LOCAL SQL_MODE="ANSI_QUOTES,ANSI";
+CREATE TABLE t1 (`äëïôæø` varchar(30) character set utf8);
+INSERT INTO t1 VALUES ('this'),('is'), ('a'), ('test');
+SELECT * FROM t1;
+äëïôæø
+this
+is
+a
+test
+DROP TABLE t1;
+SET LOCAL SQL_MODE="ANSI_QUOTES,ANSI,STRICT_ALL_TABLES";
+CREATE TABLE t1 (`äëïôæø` varchar(30) character set utf8);
+INSERT INTO t1 VALUES ('this'),('is'), ('a'), ('test');
+SELECT * FROM t1;
+äëïôæø
+this
+is
+a
+test
+DROP TABLE t1;
+SET LOCAL SQL_MODE="ANSI_QUOTES,ANSI,STRICT_TRANS_TABLES";
+CREATE TABLE t1 (`äëïôæø` varchar(30) character set utf8);
+INSERT INTO t1 VALUES ('this'),('is'), ('a'), ('test');
+SELECT * FROM t1;
+äëïôæø
+this
+is
+a
+test
+DROP TABLE t1;
+SET LOCAL SQL_MODE="ANSI_QUOTES,ANSI,STRICT_TRANS_TABLES,STRICT_ALL_TABLES";
+CREATE TABLE t1 (`äëïôUES ('this'),('is'), ('a'), ('test');
+SELECT * FROM t1;
+äëïôæø
+this
+is
+a
+test
+DROP TABLE t1;
+SET LOCAL SQL_MODE="ANSI_QUOTES,ANSI,NO_BACKSLASH_ESCAPES";
+CREATE TABLE t1 (`äëïôæø` varchar(30) character set utf8);
+INSERT INTO t1 VALUES ('this'),('is'), ('a'), ('test');
+SELECT * FROM t1;
+äëïôæø
+this
+is
+a
+test
+DROP TABLE t1;
+SET LOCAL SQL_MODE="ANSI_QUOTES,ANSI,NO_BACKSLASH_ESCAPES,STRICT_ALL_TABLES";
+CREATE TABLE t1 (`äëïôæø` varchar(30) character set utf8);
+INSERT INTO t1 VALUES ('this'),('is'), ('a'), ('test');
+SELECT * FROM t1;
+äëïôæø
+this
+is
+a
+test
+DROP TABLE t1;
+SET LOCAL SQL_MODE="ANSI_QUOTES,ANSI,NO_BACKSLASH_ESCAPES,STRICT_TRANS_TABLES";
+CREATE TABLE t1 (`äëïôæø` varchar(30) character set utf8);
+INSERT INTO t1 VALUES ('this'),('is'), ('a'), ('test');
+SELECT * FROM t1;
+äQL_MODE="ANSI_QUOTES,ANSI,NO_BACKSLASH_ESCAPES,STRICT_TRANS_TABLES,STRICT_ALL_TABLES";
+CREATE TABLE t1 (`äëïôæø` varchar(30) character set utf8);
+INSERT INTO t1 VALUES ('this'),('is'), ('a'), ('test');
+SELECT * FROM t1;
+äëïôæø
+this
+is
+a
+test
+DROP TABLE t1;
+SET LOCAL SQL_MODE="PIPES_AS_CONCAT";
+CREATE TABLE t1 (`äëïôæø` varchar(30) character set utf8);
+INSERT INTO t1 VALUES ('this'),('is'), ('a'), ('test');
+SELECT * FROM t1;
+äëïôæø
+this
+is
+a
+test
+DROP TABLE t1;
+SET LOCAL SQL_MODE="PIPES_AS_CONCAT,STRICT_ALL_TABLES";
+CREATE TABLE t1 (`äëïôæø` varchar(30) character set utf8);
+INSERT INTO t1 VALUES ('this'),('is'), ('a'), ('test');
+SELECT * FROM t1;
+äëïôæø
+this
+is
+a
+test
+DROP TABLE t1;
+SET LOCAL SQL_MODE="PIPES_AS_CONCAT,STRICT_TRANS_TABLES";
+CREATE TABLE t1 (`äëïôæø` varchar(30) character set utf8);
+INSERT INTO t1 VALUES ('this'),('is'), ('a'), ('test');
+SELECT * FROM t1;
+äëïôæ"PIPES_AS_CONCAT,STRICT_TRANS_TABLES,STRICT_ALL_TABLES";
+CREATE TABLE t1 (`äëïôæø` varchar(30) character set utf8);
+INSERT INTO t1 VALUES ('this'),('is'), ('a'), ('test');
+SELECT * FROM t1;
+äëïôæø
+this
+is
+a
+test
+DROP TABLE t1;
+SET LOCAL SQL_MODE="PIPES_AS_CONCAT,NO_BACKSLASH_ESCAPES";
+CREATE TABLE t1 (`äëïôæø` varchar(30) character set utf8);
+INSERT INTO t1 VALUES ('this'),('is'), ('a'), ('test');
+SELECT * FROM t1;
+äë_MODE="PIPES_AS_CONCAT,NO_BACKSLASH_ESCAPES,STRICT_ALL_TABLES";
+CREATE TABLE t1 (`äëïôæø` varchar(30) character set utf8);
+INSERT INTO t1 VALUES ('this'),('is'), ('a'), ('test');
+SELECT * FROM t1;
+äëïôæø
+this
+is
+a
+test
+DROP TABLE t1;
+SET LOCAL SQL_MODE="PIPES_AS_CONCAT,NO_BACKSLASH_ESCAPES,STRICT_TRANS_TABLES";
+CREATE TABLE t1 (`äëïôæø` varchar(30) character set utf8);
+INSERT INTO t1 VALUES ('this'),('is'), ('a'), ('test');
+SELECT * FROM t1;
+äëïôæø
+this
+is
+a
+test
+DROP TABLE t1;
+SET LOCAL SQL_MODE="PIPES_AS_CONCAT,NO_BACKSLASH_ESCAPES,STRICT_TRANS_TABLES,STRICT_ALL_TABLES";
+CREATE TABLE t1 (`äëïôæø` varchar(30) character set utf8);
+INSERT INTO t1 VALUES ('this'),('is'), ('a'), ('test');
+SELECT * FROM t1;
+äëïôæø
+this
+is
+a
+test
+DROP TABLE t1;
+SET LOCAL SQL_MODE="PIPES_AS_CONCAT,ANSI";
+CREATE TABLE t1 (`äëïôæø` varchar(30) character set utf8);
+INSERT INTO t1 VALUES ('this'),('is'), ('a'), ('test');
+SELECT * FROM t1;
+äëïôæø
+this
+is
+a
+test
+DROP TABLE t1;
+SET LOCAL SQL_MODE="PIPES_AS_CONCAT,ANSI,STRICT_ALL_TABLES";
+CREATE TABLE t1 (`äëïôUES ('this'),('is'), ('a'), ('test');
+SELECT * FROM t1;
+äëïôæø
+this
+is
+a
+test
+DROP TABLE t1;
+SET LOCAL SQL_MODE="PIPES_AS_CONCAT,ANSI,STRICT_TRANS_TABLES";
+CREATE TABLE t1 (`äëïôæø` varchar(30) character set utf8);
+INSERT INTO t1 VALUES ('this'),('is'), ('a'), ('test');
+SELECT * FROM t1;
+äëïôæø
+this
+is
+a
+test
+DROP TABLE t1;
+SET LOCAL SQL_MODE="PIPES_AS_CONCAT,ANSI,STRICT_TRANS_TABLES,STRICT_ALL_TABLES";
+CREATE TABLE t1 (`äëïôæø` varchar(30) character set utf8);
+INSERT INTO t1 VALUES ('this'),('is'), ('a'), ('test');
+SELECT * FROM t1;
+äëïôæø
+this
+is
+a
+test
+DROP TABLE t1;
+SET LOCAL SQL_MODE="PIPES_AS_CONCAT,ANSI,NO_BACKSLASH_ESCAPES";
+CREATE TABLE t1 (`äëïôæø` varchar(30) character set utf8);
+INSERT INTO t1 VALUES ('this'),('is'), ('a'), ('test');
+SELECT * FROM t1;
+äëïôæø
+this
+is
+a
+test
+DROP TABLE t1;
+SET LOCAL SQL_MODE="PIPES_AS_CONCAT,ANSI,NO_BACKSLASH_ESCAPES,STRICT_ALL_TABLES";
+CREATE TABLE t1 (`äëïôæø` varchar(30) character set utf8);
+INSERT INTO t1 VALUES ('this'),('is'), ('a'), ('test');
+SELECT * FROM t1;
+äëïôæø
+this
+is
+a
+test
+DROP TABLE t1;
+SET LOCAL SQL_MODE="PIPES_AS_CONCAT,ANSI,NO_BACKSLASH_ESCAPES,STRICT_TRANS_TABLES";
+CREATE TABLE t1 (`äëïôæø` varchar(30) character set utf8);
+INSERT INTO t1 VALUES ('this'),('is'), ('a'), ('test');
+SELECT * FROM t1;
+äëïôæø
+this
+is
+a
+test
+DROP TABLE t1;
+SET LOCAL SQL_MODE="PIPES_AS_CONCAT,ANSI,NO_BACKSLASH_ESCAPES,STRICT_TRANS_TABLES,STRICT_ALL_TABLES";
+CREATE TABLE t1 (`äëïôæø` varchar(30) character set utf8);
+INSERT INTO t1 VALUES ('this'),('is'), ('a'), ('test');
+SELECT * FROM t1;
+äëïôæø
+this
+is
+a
+test
+DROP TABLE t1;
+SET LOCAL SQL_MODE="PIPES_AS_CONCAT,ANSI_QUOTES";
+CREATE TABLE t1 (`äëïôæø` varchar(30) character set utf8);
+INSERT INTO t1 VALUES ('this'),('is'), ('a'), ('test');
+SELECT * FROM t1;
+äëïôæø
+this
+is
+a
+test
+DROP TABLE t1;
+SET LOCAL SQL_MODE="PIPES_AS_CONCAT,ANSI_QUOTES,STRICT_ALL_TABLES";
+CREATE TABLE t1 (`äëïôæø` varchar(30) character set utf8);
+INSERT INTO t1 VALUES ('this'),('is'), ('a'), ('test');
+SELECT * FROM t1;
+äëïôæø
+this
+is
+a
+test
+DROP TABLE t1;
+SET LOCAL SQL_MODE="PIPES_AS_CONCAT,ANSI_QUOTES,STRICT_TRANS_TABLES";
+CREATE TABLE t1 (`äëïôæS ('this'),('is'), ('a'), ('test');
+SELECT * FROM t1;
+ SQL_MODE="PIPES_AS_CONCAT,ANSI_QUOTES,STRICT_TRANS_TABLES,STRICT_ALL_TABLES";
+CREATE TABLE t1 (`äëïôæø` varchar(30) character set utf8);
+INSERT INTO t1 VALUES ('this'),('is'), ('a'), ('test');
+SELECT * FROM t1;
+äëïôæø
+this
+is
+a
+test
+DROP TABLE t1;
+SET LOCAL SQL_MODE="PIPES_AS_CONCAT,ANSI_QUOTES,NO_BACKSLASH_ESCAPES";
+CREATE TABLE t1 (`äëïôæø` varchar(30) character set utf8);
+INSERT INTO t1 VALUES ('this'),('is'), ('a'), ('test');
+SELECT * FROM t1;
+äëïôæø
+this
+is
+a
+test
+DROP TABLE t1;
+SET LOCAL SQL_MODE="PIPES_AS_CONCAT,ANSI_QUOTES,NO_BACKSLASH_ESCAPES,STRICT_ALL_TABLES";
+CREATE TABLE t1 (`äëïôæø` varchar(30) character set utf8);
+INSERT INTO t1 VALUES ('this'),('is'), ('a'), ('test');
+SELECT * FROM t1;
+äëïôæø
+this
+is
+a
+test
+DROP TABLE t1;
+SET LOCAL SQL_MODE="PIPES_AS_CONCAT,ANSI_QUOTES,NO_BACKSLASH_ESCAPES,STRICT_TRANS_TABLES";
+CREATE TABLE t1 (`äëïôæø` varchar(30) character set utf8);
+INSERT INTO t1 VALUES ('this'),('is'), ('a'), ('test');
+SELECT * FROM t1;
+äëïôæø
+this
+is
+a
+test
+DROP TABLE t1;
+SET LOCAL SQL_MODE="PIPES_AS_CONCAT,ANSI_QUOTES,NO_BACKSLASH_ESCAPES,STRICT_TRANS_TABLES,STRICT_ALL_TABLES";
+CREATE TABLE t1 (`äëïôæø` varchar(30) character set utf8);
+INSERT INTO t1 VALUES ('this'),('is'), ('a'), ('test');
+SELECT * FROM t1;
+äëïôæø
+this
+is
+a
+test
+DROP TABLE t1;
+SET LOCAL SQL_MODE="PIPES_AS_CONCAT,ANSI_QUOTES,ANSI";
+CREATE TABLE t1 (`äëïôUES ('this'),('is'), ('a'), ('test');
+SELECT * FROM t1;
+äëïôæø
+this
+is
+a
+test
+DROP TABLE t1;
+SET LOCAL SQL_MODE="PIPES_AS_CONCAT,ANSI_QUOTES,ANSI,STRICT_ALL_TABLES";
+CREATE TABLE t1 (`äëïôæø` varchar(30) character set utf8);
+INSERT INTO t1 VALUES ('this'),('is'), ('a'), ('test');
+SELECT * FROM t1;
+äëïôæø
+this
+is
+a
+test
+DROP TABLE t1;
+SET LOCAL SQL_MODE="PIPES_AS_CONCAT,ANSI_QUOTES,ANSI,STRICT_TRANS_TABLES";
+CREATE TABLE t1 (`äëïôæø` varchar(30) character set utf8);
+INSERT INTO t1 VALUES ('this'),('is'), ('a'), ('test');
+SELECT * FROM t1;
+äëïôæø
+this
+is
+a
+test
+DROP TABLE t1;
+SET LOCAL SQL_MODE="PIPES_AS_CONCAT,ANSI_QUOTES,ANSI,STRICT_TRANS_TABLES,STRICT_ALL_TABLES";
+CREATE TABLE t1 (`äëïôæø` varchar(30) character set utf8);
+INSERT INTO t1 VALUES ('this'),('is'), ('a'), ('test');
+SELECT * FROM t1;
+äëïôæø
+this
+is
+a
+test
+DROP TABLE t1;
+SET LOCAL SQL_MODE="PIPES_AS_CONCAT,ANSI_QUOTES,ANSI,NO_BACKSLASH_ESCAPES";
+CREATE TABLE t1 (`äëïALUES ('this'),('is'), ('a'), ('test');
+SELECT * FROM t1;
+äëïôæø
+this
+is
+a
+test
+DROP TABLE t1;
+SET LOCAL SQL_MODE="PIPES_AS_CONCAT,ANSI_QUOTES,ANSI,NO_BACKSLASH_ESCAPES,STRICT_ALL_TABLES";
+CREATE TABLE t1 (`äëïôæø` varchar(30) character set utf8);
+INSERT INTO t1 VALUES ('this'),('is'), ('a'), ('test');
+SELECT * FROM t1;
+äëïôæø
+this
+is
+a
+test
+DROP TABLE t1;
+SET LOCAL SQL_MODE="PIPES_AS_CONCAT,ANSI_QUOTES,ANSI,NO_BACKSLASH_ESCAPES,STRICT_TRANS_TABLES";
+CREATE TABLE t1 (`ät1 VALUES ('this'),('is'), ('a'), ('test');
+SELECT * FROM t1;
+äëïôæø
+this
+is
+a
+test
+DROP TABLE t1;
+SET LOCAL SQL_MODE="PIPES_AS_CONCAT,ANSI_QUOTES,ANSI,NO_BACKSLASH_ESCAPES,STRICT_TRANS_TABLES,STRICT_ALL_TABLES";
+CREATE TABLE t1 (`äëïôæø` varchar(30) character set utf8);
+INSERT INTO t1 VALUES ('this'),('is'), ('a'), ('test');
+SELECT * FROM t1;
+äëïôæø
+this
+is
+a
+test
+SELECT count(*) FROM t1;
+count(*)
+4
+DROP TABLE t1;
=== added file 'mysql-test/suite/falcon/t/falcon_bug_38304.test'
--- a/mysql-test/suite/falcon/t/falcon_bug_38304.test 1970-01-01 00:00:00 +0000
+++ b/mysql-test/suite/falcon/t/falcon_bug_38304.test 2008-09-08 11:51:19 +0000
@@ -0,0 +1,540 @@
+--source include/have_falcon.inc
+
+#
+# Bug #<38304>: <Data contents becomes NULL if column name in Falcon table uses accented letters>
+#
+--echo *** Bug #<38304> ***
+
+# ----------------------------------------------------- #
+# --- Initialisation --- #
+# ----------------------------------------------------- #
+let $engine = 'Falcon';
+eval SET @@storage_engine = $engine;
+
+--disable_warnings
+DROP TABLE IF EXISTS t1;
+--enable_warnings
+
+# ----------------------------------------------------- #
+# --- Test --- #
+# ----------------------------------------------------- #
+
+SET LOCAL SQL_MODE="";
+CREATE TABLE t1 (`äëïôæø` varchar(30) character set utf8);
+INSERT INTO t1 VALUES ('this'),('is'), ('a'), ('test');
+SELECT * FROM t1;
+
+DROP TABLE t1;
+
+
+SET LOCAL SQL_MODE="STRICT_ALL_TABLES";
+CREATE TABLE t1 (`äëïôæø` varchar(30) character set utf8);
+INSERT INTO t1 VALUES ('this'),('is'), ('a'), ('test');
+SELECT * FROM t1;
+
+DROP TABLE t1;
+
+
+SET LOCAL SQL_MODE="STRICT_TRANS_TABLES";
+CREATE TABLE t1 (`äëïôæø` varchar(30) character set utf8);
+INSERT INTO t1 VALUES ('this'),('is'), ('a'), ('test');
+SELECT * FROM t1;
+
+DROP TABLE t1;
+
+
+SET LOCAL SQL_MODE="STRICT_TRANS_TABLES,STRICT_ALL_TABLES";
+CREATE TABLE t1 (`äëïôæS ('this'),('is'), ('a'), ('test');
+SELECT * FROM t1;
+
+DROP TABLE t1;
+
+
+SET LOCAL SQL_MODE="NO_BACKSLASH_ESCAPES";
+CREATE TABLE t1 (`äëïôæø` varchar(30) character set utf8);
+INSERT INTO t1 VALUES ('this'),('is'), ('a'), ('test');
+SELECT * FROM t1;
+
+DROP TABLE t1;
+
+
+SET LOCAL SQL_MODE="NO_BACKSLASH_ESCAPES,STRICT_ALL_TABLES";
+CREATE TABLE t1 (`äëïôæø` varchar(30) character set utf8);
+INSERT INTO t1 VALUES ('this'),('is'), ('a'), ('test');
+SELECT * FROM t1;
+
+DROP TABLE t1;
+
+
+SET LOCAL SQL_MODE="NO_BACKSLASH_ESCAPES,STRICT_TRANS_TABLES";
+CREATE TABLE t1 (`äëïôæø` varchar(30) character set utf8);
+INSERT INTO t1 VALUES ('this'),('is'), ('a'), ('test');
+SELECT * FROM t1;
+
+DROP TABLE t1;
+
+
+SET LOCAL SQL_MODE="NO_BACKSLASH_ESCAPES,STRICT_TRANS_TABLES,STRICT_ALL_TABLES";
+CREATE TABLE t1 (`äëïôæø` varchar(30) character set utf8);
+INSERT INTO t1 VALUES ('this'),('is'), ('a'), ('test');
+SELECT * FROM t1;
+
+DROP TABLE t1;
+
+
+SET LOCAL SQL_MODE="ANSI";
+CREATE TABLE t1 (`äëïôæø` varchar(30) character set utf8);
+INSERT INTO t1 VALUES ('this'),('is'), ('a'), ('test');
+SELECT * FROM t1;
+
+DROP TABLE t1;
+
+
+SET LOCAL SQL_MODE="ANSI,STRICT_ALL_TABLES";
+CREATE TABLE t1 (`äëïôæø` varchar(30) character set utf8);
+INSERT INTO t1 VALUES ('this'),('is'), ('a'), ('test');
+SELECT * FROM t1;
+
+DROP TABLE t1;
+
+
+SET LOCAL SQL_MODE="ANSI,STRICT_TRANS_TABLES";
+CREATE TABLE t1 (`äëïôæø` varchar(30) character set utf8);
+INSERT INTO t1 VALUES ('this'),('is'), ('a'), ('test');
+SELECT * FROM t1;
+
+DROP TABLE t1;
+
+
+SET LOCAL SQL_MODE="ANSI,STRICT_TRANS_TABLES,STRICT_ALL_TABLES";
+CREATE TABLE t1 (`äëïôæø` varchar(30) character set utf8);
+INSERT INTO t1 VALUES ('this'),('is'), ('a'), ('test');
+SELECT * FROM t1;
+
+DROP TABLE t1;
+
+
+SET LOCAL SQL_MODE="ANSI,NO_BACKSLASH_ESCAPES";
+CREATE TABLE t1 (`äëïôæø` varchar(30) character set utf8);
+INSERT INTO t1 VALUES ('this'),('is'), ('a'), ('test');
+SELECT * FROM t1;
+
+DROP TABLE t1;
+
+
+SET LOCAL SQL_MODE="ANSI,NO_BACKSLASH_ESCAPES,STRICT_ALL_TABLES";
+CREATE TABLE t1 (`äëïôæø` varchar(30) character set utf8);
+INSERT INTO t1 VALUES ('this'),('is'), ('a'), ('test');
+SELECT * FROM t1;
+
+DROP TABLE t1;
+
+
+SET LOCAL SQL_MODE="ANSI,NO_BACKSLASH_ESCAPES,STRICT_TRANS_TABLES";
+CREATE TABLE t1 (`äëïôæø` varchar(30) character set utf8);
+INSERT INTO t1 VALUES ('this'),('is'), ('a'), ('test');
+SELECT * FROM t1;
+
+DROP TABLE t1;
+
+
+SET LOCAL SQL_MODE="ANSI,NO_BACKSLASH_ESCAPES,STRICT_TRANS_TABLES,STRICT_ALL_TABLES";
+CREATE TABLE t1 (`äëïôæø` varchar(30) character set utf8);
+INSERT INTO t1 VALUES ('this'),('is'), ('a'), ('test');
+SELECT * FROM t1;
+
+DROP TABLE t1;
+
+
+SET LOCAL SQL_MODE="ANSI_QUOTES";
+CREATE TABLE t1 (`äëïôæø` varchar(30) character set utf8);
+INSERT INTO t1 VALUES ('this'),('is'), ('a'), ('test');
+SELECT * FROM t1;
+
+DROP TABLE t1;
+
+
+SET LOCAL SQL_MODE="ANSI_QUOTES,STRICT_ALL_TABLES";
+CREATE TABLE t1 (`äëïôæø` varchar(30) character set utf8);
+INSERT INTO t1 VALUES ('this'),('is'), ('a'), ('test');
+SELECT * FROM t1;
+
+DROP TABLE t1;
+
+
+SET LOCAL SQL_MODE="ANSI_QUOTES,STRICT_TRANS_TABLES";
+CREATE TABLE t1 (`äëïôæø` varchar(30) character set utf8);
+INSERT INTO t1 VALUES ('this'),('is'), ('a'), ('test');
+SELECT * FROM t1;
+
+DROP TABLE t1;
+
+
+SET LOCAL SQL_MODE="ANSI_QUOTES,STRICT_TRANS_TABLES,STRICT_ALL_TABLES";
+CREATE TABLE t1 (`äëïôæø` varchar(30) character set utf8);
+INSERT INTO t1 VALUES ('this'),('is'), ('a'), ('test');
+SELECT * FROM t1;
+
+DROP TABLE t1;
+
+
+SET LOCAL SQL_MODE="ANSI_QUOTES,NO_BACKSLASH_ESCAPES";
+CREATE TABLE t1 (`O t1 VALUES ('this'),('is'), ('a'), ('test');
+SELECT * FROM t1;
+
+DROP TABLE t1;
+
+
+SET LOCAL SQL_MODE="ANSI_QUOTES,NO_BACKSLASH_ESCAPES,STRICT_ALL_TABLES";
+CREATE TABLE t1 (`äëïôæø` varchar(30) character set utf8);
+INSERT INTO t1 VALUES ('this'),('is'), ('a'), ('test');
+SELECT * FROM t1;
+
+DROP TABLE t1;
+
+
+SET LOCAL SQL_MODE="ANSI_QUOTES,NO_BACKSLASH_ESCAPES,STRICT_TRANS_TABLES";
+CREATE TABLE t1 (`äëïôæø` varchar(30) character set utf8);
+INSERT INTO t1 VALUES ('this'),('is'), ('a'), ('test');
+SELECT * FROM t1;
+
+DROP TABLE t1;
+
+
+SET LOCAL SQL_MODE="ANSI_QUOTES,NO_BACKSLASH_ESCAPES,STRICT_TRANS_TABLES,STRICT_ALL_TABLES";
+CREATE TABLE t1 (`äëïôæø` varchar(30) character set utf8);
+INSERT INTO t1 VALUES ('this'),('is'), ('a'), ('test');
+SELECT * FROM t1;
+
+DROP TABLE t1;
+
+
+SET LOCAL SQL_MODE="ANSI_QUOTES,ANSI";
+CREATE TABLE t1 (`äëïôæø` varchar(30) character set utf8);
+INSERT INTO t1 VALUES ('this'),('is'), ('a'), ('test');
+SELECT * FROM t1;
+
+DROP TABLE t1;
+
+
+SET LOCAL SQL_MODE="ANSI_QUOTES,ANSI,STRICT_ALL_TABLES";
+CREATE TABLE t1 (`äëïôæø` varchar(30) character set utf8);
+INSERT INTO t1 VALUES ('this'),('is'), ('a'), ('test');
+SELECT * FROM t1;
+
+DROP TABLE t1;
+
+
+SET LOCAL SQL_MODE="ANSI_QUOTES,ANSI,STRICT_TRANS_TABLES";
+CREATE TABLE t1 (`äëïôæø` varchar(30) character set utf8);
+INSERT INTO t1 VALUES ('this'),('is'), ('a'), ('test');
+SELECT * FROM t1;
+
+DROP TABLE t1;
+
+
+SET LOCAL SQL_MODE="ANSI_QUOTES,ANSI,STRICT_TRANS_TABLES,STRICT_ALL_TABLES";
+CREATE TABLE t1 (`äëïôæø` varchar(30) character set utf8);
+INSERT INTO t1 VALUES ('this'),('is'), ('a'), ('test');
+SELECT * FROM t1;
+
+DROP TABLE t1;
+
+
+SET LOCAL SQL_MODE="ANSI_QUOTES,ANSI,NO_BACKSLASH_ESCAPES";
+CREATE TABLE t1 (`äëïôæø` varchar(30) character set utf8);
+INSERT INTO t1 VALUES ('this'),('is'), ('a'), ('test');
+SELECT * FROM t1;
+
+DROP TABLE t1;
+
+
+SET LOCAL SQL_MODE="ANSI_QUOTES,ANSI,NO_BACKSLASH_ESCAPES,STRICT_ALL_TABLES";
+CREATE TABLE t1 (`äëïôæø` varchar(30) character set utf8);
+INSERT INTO t1 VALUES ('this'),('is'), ('a'), ('test');
+SELECT * FROM t1;
+
+DROP TABLE t1;
+
+
+SET LOCAL SQL_MODE="ANSI_QUOTES,ANSI,NO_BACKSLASH_ESCAPES,STRICT_TRANS_TABLES";
+CREATE TABLE t1 (`äëïôæø` varchar(30) character set utf8);
+INSERT INTO t1 VALUES ('this'),('is'), ('a'), ('test');
+SELECT * FROM t1;
+
+DROP TABLE t1;
+
+
+SET LOCAL SQL_MODE="ANSI_QUOTES,ANSI,NO_BACKSLASH_ESCAPES,STRICT_TRANS_TABLES,STRICT_ALL_TABLES";
+CREATE TABLE t1 (`äëïôæø` varchar(30) character set utf8);
+INSERT INTO t1 VALUES ('this'),('is'), ('a'), ('test');
+SELECT * FROM t1;
+
+DROP TABLE t1;
+
+
+SET LOCAL SQL_MODE="PIPES_AS_CONCAT";
+CREATE TABLE t1 (`äëïôæø` varchar(30) character set utf8);
+INSERT INTO t1 VALUES ('this'),('is'), ('a'), ('test');
+SELECT * FROM t1;
+
+DROP TABLE t1;
+
+
+SET LOCAL SQL_MODE="PIPES_AS_CONCAT,STRICT_ALL_TABLES";
+CREATE TABLE t1 (`äëïôæø` varchar(30) character set utf8);
+INSERT INTO t1 VALUES ('this'),('is'), ('a'), ('test');
+SELECT * FROM t1;
+
+DROP TABLE t1;
+
+
+SET LOCAL SQL_MODE="PIPES_AS_CONCAT,STRICT_TRANS_TABLES";
+CREATE TABLE t1 (`äëïôæø` varchar(30) character set utf8);
+INSERT INTO t1 VALUES ('this'),('is'), ('a'), ('test');
+SELECT * FROM t1;
+
+DROP TABLE t1;
+
+
+SET LOCAL SQL_MODE="PIPES_AS_CONCAT,STRICT_TRANS_TABLES,STRICT_ALL_TABLES";
+CREATE TABLE t1 (`äëïôæø` varchar(30) character set utf8);
+INSERT INTO t1 VALUES ('this'),('is'), ('a'), ('test');
+SELECT * FROM t1;
+
+DROP TABLE t1;
+
+
+SET LOCAL SQL_MODE="PIPES_AS_CONCAT,NO_BACKSLASH_ESCAPES";
+CREATE TABLE t1 (`äëïôæø` varchar(30) character set utf8);
+INSERT INTO t1 VALUES ('this'),('is'), ('a'), ('test');
+SELECT * FROM t1;
+
+DROP TABLE t1;
+
+
+SET LOCAL SQL_MODE="PIPES_AS_CONCAT,NO_BACKSLASH_ESCAPES,STRICT_ALL_TABLES";
+CREATE TABLE t1 (`äëïôæø` varchar(30) character set utf8);
+INSERT INTO t1 VALUES ('this'),('is'), ('a'), ('test');
+SELECT * FROM t1;
+
+DROP TABLE t1;
+
+
+SET LOCAL SQL_MODE="PIPES_AS_CONCAT,NO_BACKSLASH_ESCAPES,STRICT_TRANS_TABLES";
+CREATE TABLE t1 (`äëïôæø` varchar(30) character set utf8);
+INSERT INTO t1 VALUES ('this'),('is'), ('a'), ('test');
+SELECT * FROM t1;
+
+DROP TABLE t1;
+
+
+SET LOCAL SQL_MODE="PIPES_AS_CONCAT,NO_BACKSLASH_ESCAPES,STRICT_TRANS_TABLES,STRICT_ALL_TABLES";
+CREATE TABLE t1 (`äëïôæø` varchar(30) character set utf8);
+INSERT INTO t1 VALUES ('this'),('is'), ('a'), ('test');
+SELECT * FROM t1;
+
+DROP TABLE t1;
+
+
+SET LOCAL SQL_MODE="PIPES_AS_CONCAT,ANSI";
+CREATE TABLE t1 (`ät1 VALUES ('this'),('is'), ('a'), ('test');
+SELECT * FROM t1;
+
+DROP TABLE t1;
+
+
+SET LOCAL SQL_MODE="PIPES_AS_CONCAT,ANSI,STRICT_ALL_TABLES";
+CREATE TABLE t1 (`äë VALUES ('this'),('is'), ('a'), ('test');
+SELECT * FROM t1;
+
+DROP TABLE t1;
+
+
+SET LOCAL SQL_MODE="PIPES_AS_CONCAT,ANSI,STRICT_TRANS_TABLES";
+CREATE TABLE t1 (`äë VALUES ('this'),('is'), ('a'), ('test');
+SELECT * FROM t1;
+
+DROP TABLE t1;
+
+
+SET LOCAL SQL_MODE="PIPES_AS_CONCAT,ANSI,STRICT_TRANS_TABLES,STRICT_ALL_TABLES";
+CREATE TABLE t1 (`äëïôæø` varchar(30) character set utf8);
+INSERT INTO t1 VALUES ('this'),('is'), ('a'), ('test');
+SELECT * FROM t1;
+
+DROP TABLE t1;
+
+
+SET LOCAL SQL_MODE="PIPES_AS_CONCAT,ANSI,NO_BACKSLASH_ESCAPES";
+CREATE TABLE t1 (`äëïôæø` varchar(30) character set utf8);
+INSERT INTO t1 VALUES ('this'),('is'), ('a'), ('test');
+SELECT * FROM t1;
+
+DROP TABLE t1;
+
+
+SET LOCAL SQL_MODE="PIPES_AS_CONCAT,ANSI,NO_BACKSLASH_ESCAPES,STRICT_ALL_TABLES";
+CREATE TABLE t1 (`äëïôæø` varchar(30) character set utf8);
+INSERT INTO t1 VALUES ('this'),('is'), ('a'), ('test');
+SELECT * FROM t1;
+
+DROP TABLE t1;
+
+
+SET LOCAL SQL_MODE="PIPES_AS_CONCAT,ANSI,NO_BACKSLASH_ESCAPES,STRICT_TRANS_TABLES";
+CREATE TABLE t1 (`ät1 VALUES ('this'),('is'), ('a'), ('test');
+SELECT * FROM t1;
+
+DROP TABLE t1;
+
+
+SET LOCAL SQL_MODE="PIPES_AS_CONCAT,ANSI,NO_BACKSLASH_ESCAPES,STRICT_TRANS_TABLES,STRICT_ALL_TABLES";
+CREATE TABLE t1 (`äëïôæø` varchar(30) character set utf8);
+INSERT INTO t1 VALUES ('this'),('is'), ('a'), ('test');
+SELECT * FROM t1;
+
+DROP TABLE t1;
+
+
+SET LOCAL SQL_MODE="PIPES_AS_CONCAT,ANSI_QUOTES";
+CREATE TABLE t1 (`äëïôæø` varchar(30) character set utf8);
+INSERT INTO t1 VALUES ('this'),('is'), ('a'), ('test');
+SELECT * FROM t1;
+
+DROP TABLE t1;
+
+
+SET LOCAL SQL_MODE="PIPES_AS_CONCAT,ANSI_QUOTES,STRICT_ALL_TABLES";
+CREATE TABLE t1 (`äëïôæø` varchar(30) character set utf8);
+INSERT INTO t1 VALUES ('this'),('is'), ('a'), ('test');
+SELECT * FROM t1;
+
+DROP TABLE t1;
+
+
+SET LOCAL SQL_MODE="PIPES_AS_CONCAT,ANSI_QUOTES,STRICT_TRANS_TABLES";
+CREATE TABLE t1 (`äëïôæø` varchar(30) character set utf8);
+INSERT INTO t1 VALUES ('this'),('is'), ('a'), ('test');
+SELECT * FROM t1;
+
+DROP TABLE t1;
+
+
+SET LOCAL SQL_MODE="PIPES_AS_CONCAT,ANSI_QUOTES,STRICT_TRANS_TABLES,STRICT_ALL_TABLES";
+CREATE TABLE t1 (`äëïôæø` varchar(30) character set utf8);
+INSERT INTO t1 VALUES ('this'),('is'), ('a'), ('test');
+SELECT * FROM t1;
+
+DROP TABLE t1;
+
+
+SET LOCAL SQL_MODE="PIPES_AS_CONCAT,ANSI_QUOTES,NO_BACKSLASH_ESCAPES";
+CREATE TABLE t1 (`äëïôæø` varchar(30) character set utf8);
+INSERT INTO t1 VALUES ('this'),('is'), ('a'), ('test');
+SELECT * FROM t1;
+
+DROP TABLE t1;
+
+
+SET LOCAL SQL_MODE="PIPES_AS_CONCAT,ANSI_QUOTES,NO_BACKSLASH_ESCAPES,STRICT_ALL_TABLES";
+CREATE TABLE t1 (`äëïôæø` varchar(30) character set utf8);
+INSERT INTO t1 VALUES ('this'),('is'), ('a'), ('test');
+SELECT * FROM t1;
+
+DROP TABLE t1;
+
+
+SET LOCAL SQL_MODE="PIPES_AS_CONCAT,ANSI_QUOTES,NO_BACKSLASH_ESCAPES,STRICT_TRANS_TABLES";
+CREATE TABLE t1 (`äëïôæø` varchar(30) character set utf8);
+INSERT INTO t1 VALUES ('this'),('is'), ('a'), ('test');
+SELECT * FROM t1;
+
+DROP TABLE t1;
+
+
+SET LOCAL SQL_MODE="PIPES_AS_CONCAT,ANSI_QUOTES,NO_BACKSLASH_ESCAPES,STRICT_TRANS_TABLES,STRICT_ALL_TABLES";
+CREATE TABLE t1 (`ät1 VALUES ('this'),('is'), ('a'), ('test');
+SELECT * FROM t1;
+
+DROP TABLE t1;
+
+
+SET LOCAL SQL_MODE="PIPES_AS_CONCAT,ANSI_QUOTES,ANSI";
+CREATE TABLE t1 (`äëïôæS ('this'),('is'), ('a'), ('test');
+SELECT * FROM t1;
+
+DROP TABLE t1;
+
+
+SET LOCAL SQL_MODE="PIPES_AS_CONCAT,ANSI_QUOTES,ANSI,STRICT_ALL_TABLES";
+CREATE TABLE t1 (`O t1 VALUES ('this'),('is'), ('a'), ('test');
+SELECT * FROM t1;
+
+DROP TABLE t1;
+
+
+SET LOCAL SQL_MODE="PIPES_AS_CONCAT,ANSI_QUOTES,ANSI,STRICT_TRANS_TABLES";
+CREATE TABLE t1 (`äëïôæø` varchar(30) character set utf8);
+INSERT INTO t1 VALUES ('this'),('is'), ('a'), ('test');
+SELECT * FROM t1;
+
+DROP TABLE t1;
+
+
+SET LOCAL SQL_MODE="PIPES_AS_CONCAT,ANSI_QUOTES,ANSI,STRICT_TRANS_TABLES,STRICT_ALL_TABLES";
+CREATE TABLE t1 (`äëïôæø` varchar(30) character set utf8);
+INSERT INTO t1 VALUES ('this'),('is'), ('a'), ('test');
+SELECT * FROM t1;
+
+DROP TABLE t1;
+
+
+SET LOCAL SQL_MODE="PIPES_AS_CONCAT,ANSI_QUOTES,ANSI,NO_BACKSLASH_ESCAPES";
+CREATE TABLE t1 (`ät1 VALUES ('this'),('is'), ('a'), ('test');
+SELECT * FROM t1;
+
+DROP TABLE t1;
+
+
+SET LOCAL SQL_MODE="PIPES_AS_CONCAT,ANSI_QUOTES,ANSI,NO_BACKSLASH_ESCAPES,STRICT_ALL_TABLES";
+CREATE TABLE t1 (`äëïôæø` varchar(30) character set utf8);
+INSERT INTO t1 VALUES ('this'),('is'), ('a'), ('test');
+SELECT * FROM t1;
+
+DROP TABLE t1;
+
+
+SET LOCAL SQL_MODE="PIPES_AS_CONCAT,ANSI_QUOTES,ANSI,NO_BACKSLASH_ESCAPES,STRICT_TRANS_TABLES";
+CREATE TABLE t1 (`äëïôæø` varchar(30) character set utf8);
+INSERT INTO t1 VALUES ('this'),('is'), ('a'), ('test');
+SELECT * FROM t1;
+
+DROP TABLE t1;
+
+
+SET LOCAL SQL_MODE="PIPES_AS_CONCAT,ANSI_QUOTES,ANSI,NO_BACKSLASH_ESCAPES,STRICT_TRANS_TABLES,STRICT_ALL_TABLES";
+CREATE TABLE t1 (`äëïôæø` varchar(30) character set utf8);
+INSERT INTO t1 VALUES ('this'),('is'), ('a'), ('test');
+SELECT * FROM t1;
+
+# ----------------------------------------------------- #
+# --- Check --- #
+# ----------------------------------------------------- #
+
+SELECT count(*) FROM t1;
+
+# ----------------------------------------------------- #
+# --- Final cleanup --- #
+# ----------------------------------------------------- #
+DROP TABLE t1;
\ No newline at end of file
=== modified file 'storage/falcon/Table.cpp'
--- a/storage/falcon/Table.cpp 2008-09-03 22:17:54 +0000
+++ b/storage/falcon/Table.cpp 2008-09-08 11:51:19 +0000
@@ -166,7 +166,7 @@ Table::~Table()
Field* Table::findField(const char * fieldName)
{
- const char *name = database->getSymbol(fieldName);
+ const char *name = database->getString(fieldName);
Sync sync(&syncObject, "Table::findField");
sync.lock(Shared);
| Thread |
|---|
| • bzr push into mysql-6.0-falcon branch (lars-erik.bjork:2811 to 2812)Bug#38304 | lars-erik.bjork | 8 Sep |