List:Commits« Previous MessageNext Message »
From:lars-erik.bjork Date:September 8 2008 1:51pm
Subject:bzr commit into mysql-6.0-falcon branch (lars-erik.bjork:2812) Bug#38304
View as plain text  
#At file:///home/lb200670/devel/mysql/tmain-linux/

 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

per-file messages:
  mysql-test/suite/falcon/r/falcon_bug_38304.result
    Result file for the test. The selected values should never be
    NULL, as they will be without the fix.
  mysql-test/suite/falcon/t/falcon_bug_38304.test
    This file is added to test the fix. I have chosen six different
    SQL modes, that may be relevant (PIPES_AS_CONCAT, ANSI_QUOTES,
    ANSI, NO_BACKSLASH_ESCAPES, STRICT_TRANS_TABLES,
    STRICT_ALL_TABLES). The test creates a table, inserts some values
    and performs a select, for every possible unique combination of
    the SQL modes.
  storage/falcon/Table.cpp
    The only change here, is that I have replaced the call to
    SymbolManager::getSymbol with a call to SymbolManager::getString.
=== 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;
+äëïôæø
+this
+is
+a
+test
+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;
+äëïôæø
+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;
+äQL_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;
+äëïôæø
+this
+is
+a
+test
+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;
+äëïôæø
+this
+is
+a
+test
+DROP TABLE t1;
+SET LOCAL SQL_MODE="ANSI";
+CREATE TABLE t1 (`äëïALUES ('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;
+äë_MODE="ANSI,NO_BACKSLASH_ESCAPES";
+CREATE TABLE t1 (`ä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 (`äë VALUES ('this'),('is'), ('a'), ('test');
+SELECT * FROM t1;
+äëïôæø
+this
+is
+a
+test
+DROP TABLE t1;
+SET LOCAL SQL_MODE="ANSI_QUOTES";
+CREATE TABLE t1 (`äëïALUES ('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;
+äëïôæø
+this
+is
+a
+test
+DROP TABLE t1;
+SET LOCAL SQL_MODE="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;
+äQL_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;
+äQL_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 (`äëïôæø` 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";
+CREATE TABLE t1 (`äëïôæø` varchar(30) character set utf8);
+INSERT INTO t1 VALUES ('this'),('is'), ('a'), ('test');
+SELECT * FROM t1;
+äë_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;
+äëïôæø
+this
+is
+a
+test
+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;
+äëïôæø
+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;
+äëïôæø
+this
+is
+a
+test
+DROP TABLE t1;
+SET LOCAL SQL_MODE="PIPES_AS_CONCAT,STRICT_TRANS_TABLES,STRICT_ALL_TABLES";
+CREATE TABLE t1 (`äëïôæS ('this'),('is'), ('a'), ('test');
+SELECT * FROM t1;
+ 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;
+äëïôæø
+this
+is
+a
+test
+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;
+äëïôæø
+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 (`äëïALUES ('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 (`äëïôæø` 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";
+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 (`äëïALUES ('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 (`äëïALUES ('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 (`äëïôæø` 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,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 (`äëïôæS ('this'),('is'), ('a'), ('test');
+SELECT * FROM t1;
+ 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;
+äë_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;
+äëïODE="PIPES_AS_CONCAT,ANSI_QUOTES,NO_BACKSLASH_ESCAPES,STRICT_TRANS_TABLES,STRICT_ALL_TABLES";
+CREATE TABLE t1 (`O 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 (`äëïôæø` 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_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 (`äëïôæø` 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_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 (`äëïôæø` 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,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 (`äëïôæø` 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";
+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 (`O 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 (`äëïôæS ('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 (`äëïôæø` 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_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 (`äëïôUES ('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 (`ä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 (`äëïôUES ('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 (`äëïôæø` 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,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,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,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 (`äëïôæø` 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,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 (`äëïALUES ('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 (`äëïôæø` 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";
+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_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,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 (`äëïôæø` 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_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 commit into mysql-6.0-falcon branch (lars-erik.bjork:2812) Bug#38304lars-erik.bjork8 Sep