diff --git a/.bzrignore b/.bzrignore
index 1cf0cf7b8892e1c03156e02cc35049261b22fcd7..095c8bb7390efe7624e44c86fb910e03c9661c3a 100644
--- a/.bzrignore
+++ b/.bzrignore
@@ -1170,6 +1170,7 @@ sql/*.ds?
 sql/*.vcproj
 sql/.gdbinit
 sql/client.c
+sql/f.c
 sql/gen_lex_hash
 sql/gmon.out
 sql/handlerton.cc
diff --git a/sql/gen_lex_hash.cc b/sql/gen_lex_hash.cc
index b110120bdf5f939fe80ba8047f5e4f9c6aa11d92..5a8bd48d69954e2cc8199a2041cfe7a2755df74b 100644
--- a/sql/gen_lex_hash.cc
+++ b/sql/gen_lex_hash.cc
@@ -476,8 +476,10 @@ static inline SYMBOL *get_hash_symbol(const char *s,\n\
   if (len == 0) {\n\
     DBUG_PRINT(\"warning\", (\"get_hash_symbol() received a request for a zero-length symbol, which is probably a mistake.\"));\
     return(NULL);\n\
-  }\
-\n\
+  }\n"
+);
+
+  printf("\
   if (function){\n\
     if (len>sql_functions_max_len) return 0;\n\
     hash_map= sql_functions_map;\n\
@@ -508,7 +510,10 @@ static inline SYMBOL *get_hash_symbol(const char *s,\n\
       cur_struct= uint4korr(hash_map+\n\
                         (((uint16)cur_struct + cur_char - first_char)*4));\n\
       cur_str++;\n\
-    }\n\
+    }\n"
+);
+
+  printf("\
   }else{\n\
     if (len>symbols_max_len) return 0;\n\
     hash_map= symbols_map;\n\