Dear Drizzle Developers,

I am looking forward to participate in GSOC 2011 with drizzle open source 
community. I started familiarising myself with drizzle source code few weeks 
ago under the guidance of LinuxJedi (Andrew). I set up the test bed on my local 
machine and now working on Bug# 621859 which is about consolidating the charset 
headers. The charset declarations are currently being done in multiple files. 
According to the bug that is reported, we need to move the declarations in to a 
single file in order to have one standard file that should be included as a 
header file where ever required. I further explored the codebase in order to 
find the potential solution to this bug. The changes are not that trivial as I 
was expecting in the beginning because there are large number of files that 
actually use these header files at the moment. The charset declaration files 
are:

charset.h
charset_info.h
global_charset_info.h

I have the following queries regarding this:

1) Was this declarations ware deliberately done in multiple files based on the 
context of the declarations? The only reason that I can think of having 
distributed declarations is to reduce the size of header file.
2) All the charset declarations in these 3 files are under the same namespace, 
So wouldn't it be better to create on declaration file that define one single 
namespace and declare all the charset declarations in it.

The following is the list of files that includes these charset declaration 
files. The following long list of files suggests that if we will consolidate 
the charset declarations into a single consolidated place then we have to 
remove the stale include statement from all these files. Your help and suggest 
would be really helpful in resolving this bug. Thanks.


1) Files that include *charset.h" 

client/drizzletest.cc:include <drizzled/charset.h
drizzled/.deps/drizzled.Po:include/bits/dirent.h drizzled/charset.h
drizzled/.deps/my_hash.Po:include/stddef.h drizzled/charset.h
drizzled/.deps/sql_string.Po:include/strings.h drizzled/charset.h
drizzled/.deps/sql_table.Po:include/strings.h drizzled/charset.h
drizzled/.deps/sys_var.Po:include/strings.h drizzled/charset.h
drizzled/.deps/xid.Po:include/c++/4.4/cstddef drizzled/charset.h
drizzled/charset-def.cc:include <drizzled/charset.h
drizzled/charset.cc:include <drizzled/charset.h
drizzled/internal/.deps/my_init.Plo:include/strings.h drizzled/charset.h
drizzled/internal/my_init.cc:include <drizzled/charset.h
drizzled/item.cc:include <drizzled/function/str/conv_charset.h
drizzled/drizzled.cc:include <drizzled/charset.h
drizzled/dtcollation.cc:include <drizzled/function/str/conv_charset.h
drizzled/dtcollation.cc:include <drizzled/charset.h
drizzled/message/statement_transform.cc:include <drizzled/charset.h
drizzled/function/str/conv_charset.cc:include 
<drizzled/function/str/conv_charset.h
drizzled/function/str/set_collation.cc:include <drizzled/charset.h
drizzled/function/time/typecast.cc:include <drizzled/charset.h
drizzled/my_hash.cc:include <drizzled/charset.h
drizzled/parser.h:include <drizzled/charset.h
drizzled/plugin/storage_engine.cc:include <drizzled/charset.h
drizzled/plugin/schema_engine.cc:include <drizzled/charset.h
drizzled/plugin/table_function.h:include <drizzled/charset.h
drizzled/schema.cc:include <drizzled/charset.h
drizzled/sql_string.cc:include <drizzled/charset.h
drizzled/sql_table.cc:include <drizzled/charset.h
drizzled/sys_var.cc:include <drizzled/charset.h
drizzled/table/instance/base.cc:include <drizzled/charset.h
drizzled/table.cc:include <drizzled/charset.h
drizzled/table_proto_write.cc:include <drizzled/charset.h
drizzled/xid.cc:include <drizzled/charset.h
plugin/haildb/haildb_datadict_dump_func.cc:include <drizzled/charset.h
plugin/haildb/haildb_engine.cc:include <drizzled/charset.h
plugin/innobase/handler/ha_innodb.cc:include <drizzled/charset.h
plugin/md5/.deps/plugin_libmd5_plugin_la-md5.Plo:include/gcrypt-module.h 
drizzled/charset.h
plugin/md5/md5.cc:include <drizzled/charset.h
plugin/memcached_functions/memc_servers_set.h:include <drizzled/charset.h
plugin/memcached_query_cache/query_cache_udf_tools.cc:include 
<drizzled/charset.h
plugin/myisam/mi_open.cc:include <drizzled/charset.h
plugin/schema_engine/schema.cc:include <drizzled/charset.h
plugin/show_schema_proto/show_schema_proto.cc:include <drizzled/charset.h
plugin/transaction_log/.deps/plugin_libtransaction_log_plugin_la-hexdump_transaction_message.Plo:include/bits/mman.h
 drizzled/qsort_cmp.h drizzled/charset.h
plugin/transaction_log/.deps/plugin_libtransaction_log_plugin_la-print_transaction_message.Plo:include/bits/mman.h
 drizzled/qsort_cmp.h drizzled/charset.h
plugin/transaction_log/hexdump_transaction_message.cc:include 
<drizzled/charset.h
plugin/transaction_log/print_transaction_message.cc:include <drizzled/charset.h

===================================

2) Files that include *charset_info.h"

drizzled/.deps/dtcollation.Po:include/c++/4.4/bits/fstream.tcc 
drizzled/charset_info.h
drizzled/.deps/main.Po:include/c++/4.4/bits/fstream.tcc drizzled/charset_info.h
drizzled/.deps/records.Po:include/c++/4.4/bits/fstream.tcc 
drizzled/charset_info.h
drizzled/.deps/show.Po:include/c++/4.4/bits/fstream.tcc drizzled/charset_info.h
drizzled/.deps/sql_table.Po:include/c++/4.4/bitset drizzled/base.h 
drizzled/charset_info.h
drizzled/.deps/tree.Po:include/c++/4.4/bits/fstream.tcc drizzled/charset_info.h
drizzled/.deps/typelib.Plo:include/ctype.h drizzled/visibility.h 
drizzled/charset_info.h
drizzled/charset-def.cc:include <drizzled/charset_info.h
drizzled/charset.cc:include <drizzled/charset_info.h
drizzled/internal/default.cc:include <drizzled/charset_info.h
drizzled/internal/my_init.cc:include <drizzled/charset_info.h
drizzled/internal/my_sys.h:include <drizzled/charset_info.h
drizzled/item/copy_string.h:include <drizzled/charset_info.h
drizzled/item/.deps/cmpfunc.Po:include/c++/4.4/bits/fstream.tcc 
drizzled/charset_info.h
drizzled/item/bin_string.h:include <drizzled/charset_info.h
drizzled/item/decimal.cc:include <drizzled/charset_info.h
drizzled/item/int.cc:include <drizzled/charset_info.h
drizzled/item/null.h:include <drizzled/charset_info.h
drizzled/item/string.h:include <drizzled/charset_info.h
drizzled/item/sum.h:include <drizzled/charset_info.h
drizzled/item/uint.cc:include <drizzled/charset_info.h
drizzled/item.h:include <drizzled/global_charset_info.h
drizzled/ctype-bin.cc:include <drizzled/charset_info.h
drizzled/dtcollation.cc:include <drizzled/charset_info.h
drizzled/field/blob.h:include <drizzled/global_charset_info.h
drizzled/field.h:include <drizzled/charset_info.h
drizzled/field.h:include <drizzled/charset_info.h
drizzled/identifier/.deps/table.Po:include/c++/4.4/bits/fstream.tcc 
drizzled/charset_info.h
drizzled/message/statement_transform.cc:include <drizzled/charset_info.h
drizzled/message/statement_transform.cc:include <drizzled/global_charset_info.h
drizzled/message/table.cc:include <drizzled/charset_info.h
drizzled/message/table.cc:include <drizzled/global_charset_info.h
drizzled/function/locate.cc:include <drizzled/charset_info.h
drizzled/function/cast/boolean.h:include <drizzled/charset_info.h
drizzled/function/cast/signed.cc:include <drizzled/charset_info.h
drizzled/function/cast/unsigned.cc:include <drizzled/charset_info.h
drizzled/function/find_in_set.cc:include <drizzled/charset_info.h
drizzled/function/func.h:include <drizzled/charset_info.h
drizzled/function/math/int.cc:include <drizzled/charset_info.h
drizzled/function/time/typecast.h:include <drizzled/charset_info.h
drizzled/my_hash.cc:include <drizzled/charset_info.h
drizzled/parser.h:include <drizzled/global_charset_info.h
drizzled/plugin/storage_engine.cc:include <drizzled/global_charset_info.h
drizzled/plugin/.deps/table_function.Po:include/bits/string3.h 
drizzled/global_charset_info.h
drizzled/plugin/schema_engine.cc:include <drizzled/global_charset_info.h
drizzled/plugin/table_function.cc:include <drizzled/global_charset_info.h
drizzled/schema.cc:include <drizzled/global_charset_info.h
drizzled/sql_base.cc:include <drizzled/global_charset_info.h
drizzled/sql_locale.cc:include <drizzled/charset_info.h
drizzled/sql_parse.cc:include <drizzled/global_charset_info.h
drizzled/sql_string.cc:include <drizzled/global_charset_info.h
drizzled/sql_table.cc:include <drizzled/global_charset_info.h
drizzled/statement/alter_table.cc:include <drizzled/global_charset_info.h
drizzled/strfunc.cc:include <drizzled/charset_info.h
drizzled/strfunc.cc:include <drizzled/global_charset_info.h
drizzled/sys_var.h:include <drizzled/global_charset_info.h
drizzled/table/instance/.deps/shared.Po:include/boost/bind/placeholders.hpp 
drizzled/charset_info.h
drizzled/table/instance/.deps/singular.Po:include/boost/bind/placeholders.hpp 
drizzled/charset_info.h
drizzled/table_proto_write.cc:include <drizzled/global_charset_info.h
drizzled/temporal.cc:include <drizzled/charset_info.h
drizzled/type/.deps/time.Po:include/bits/stdio_lim.h drizzled/charset_info.h
drizzled/type/boolean.cc:include <drizzled/global_charset_info.h
drizzled/type/boolean.cc:include <drizzled/charset_info.h
drizzled/type/decimal.cc:include <drizzled/charset_info.h
drizzled/type/time.cc:include <drizzled/charset_info.h
drizzled/typelib.cc:include <drizzled/charset_info.h
drizzled/typelib.h:include <drizzled/global_charset_info.h
drizzled/xid.cc:include <drizzled/global_charset_info.h
drizzled/xid.cc:include <drizzled/charset_info.h
drizzled/memory/.deps/sql_alloc.Plo:include/c++/4.4/bits/fstream.tcc 
drizzled/charset_info.h
drizzled/ctype-mb.cc:include <drizzled/charset_info.h
drizzled/ctype-simple.cc:include <drizzled/charset_info.h
drizzled/ctype-uca.cc:include <drizzled/charset_info.h
drizzled/ctype-uni.cc:include <drizzled/charset_info.h
drizzled/ctype-utf8.cc:include <drizzled/charset_info.h
drizzled/ctype.cc:include <drizzled/charset_info.h
plugin/archive/archive_reader.cc:include <drizzled/charset_info.h
plugin/blackhole/ha_blackhole.cc:include <drizzled/global_charset_info.h
Binary file plugin/blitzdb/.libs/plugin_libblitzdb_plugin_la-blitzcmp.o matches
plugin/haildb/datadict_table_message.cc:include <drizzled/charset_info.h
plugin/haildb/haildb_engine.cc:include <drizzled/global_charset_info.h
plugin/hex_functions/hex_functions.cc:include <drizzled/charset_info.h
plugin/innobase/handler/handler0alter.cc:include <drizzled/charset_info.h
plugin/innobase/handler/ha_innodb.cc:include <drizzled/charset_info.h
plugin/innobase/include/create_replication.h:include <drizzled/charset_info.h
plugin/math_functions/ord.cc:include <drizzled/charset_info.h
plugin/md5/md5.cc:include <drizzled/charset_info.h
plugin/memory/heap_priv.h:include <drizzled/charset_info.h
plugin/memory/hp_hash.cc:include <drizzled/charset_info.h
plugin/myisam/mi_search.cc:include <drizzled/charset_info.h
plugin/myisam/.deps/mi_preload.Plo:include/c++/4.4/bitset drizzled/base.h 
drizzled/charset_info.h
plugin/myisam/.deps/mf_keycache.Plo:include/c++/4.4/bits/fstream.tcc 
drizzled/charset_info.h
plugin/myisam/.deps/mi_cache.Plo:include/c++/4.4/bitset drizzled/base.h 
drizzled/charset_info.h
plugin/myisam/.deps/mi_check.Plo:include/c++/4.4/bitset drizzled/base.h 
drizzled/charset_info.h
plugin/myisam/.deps/mi_checksum.Plo:include/c++/4.4/bitset drizzled/base.h 
drizzled/charset_info.h
plugin/myisam/.deps/mi_close.Plo:include/c++/4.4/bitset drizzled/base.h 
drizzled/charset_info.h
plugin/myisam/.deps/mi_create.Plo:include/c++/4.4/bitset drizzled/base.h 
drizzled/charset_info.h
plugin/myisam/.deps/mi_delete.Plo:include/c++/4.4/bitset drizzled/base.h 
drizzled/charset_info.h
plugin/myisam/.deps/mi_delete_all.Plo:include/c++/4.4/bitset drizzled/base.h 
drizzled/charset_info.h
plugin/myisam/.deps/mi_delete_table.Plo:include/c++/4.4/bitset drizzled/base.h 
drizzled/charset_info.h
plugin/myisam/.deps/mi_dynrec.Plo:include/c++/4.4/bitset drizzled/base.h 
drizzled/charset_info.h
plugin/myisam/.deps/mi_extra.Plo:include/c++/4.4/bitset drizzled/base.h 
drizzled/charset_info.h
plugin/myisam/.deps/mi_info.Plo:include/c++/4.4/bitset drizzled/base.h 
drizzled/charset_info.h
plugin/myisam/.deps/mi_key.Plo:include/c++/4.4/bitset drizzled/base.h 
drizzled/charset_info.h
plugin/myisam/.deps/mi_locking.Plo:include/c++/4.4/bitset drizzled/base.h 
drizzled/charset_info.h
plugin/myisam/.deps/mi_open.Plo:include/c++/4.4/bitset drizzled/base.h 
drizzled/charset_info.h
plugin/myisam/.deps/mi_page.Plo:include/c++/4.4/bitset drizzled/base.h 
drizzled/charset_info.h
plugin/myisam/.deps/mi_panic.Plo:include/c++/4.4/bitset drizzled/base.h 
drizzled/charset_info.h
plugin/myisam/.deps/sort.Plo:include/c++/4.4/bitset drizzled/base.h 
drizzled/charset_info.h
plugin/myisam/.deps/mi_range.Plo:include/c++/4.4/bitset drizzled/base.h 
drizzled/charset_info.h
plugin/myisam/.deps/mi_rename.Plo:include/c++/4.4/bitset drizzled/base.h 
drizzled/charset_info.h
plugin/myisam/.deps/mi_rfirst.Plo:include/c++/4.4/bitset drizzled/base.h 
drizzled/charset_info.h
plugin/myisam/.deps/mi_rkey.Plo:include/c++/4.4/bitset drizzled/base.h 
drizzled/charset_info.h
plugin/myisam/.deps/mi_rlast.Plo:include/c++/4.4/bitset drizzled/base.h 
drizzled/charset_info.h
plugin/myisam/.deps/mi_rnext.Plo:include/c++/4.4/bitset drizzled/base.h 
drizzled/charset_info.h
plugin/myisam/.deps/mi_rnext_same.Plo:include/c++/4.4/bitset drizzled/base.h 
drizzled/charset_info.h
plugin/myisam/.deps/mi_rprev.Plo:include/c++/4.4/bitset drizzled/base.h 
drizzled/charset_info.h
plugin/myisam/.deps/mi_rrnd.Plo:include/c++/4.4/bitset drizzled/base.h 
drizzled/charset_info.h
plugin/myisam/.deps/mi_rsame.Plo:include/c++/4.4/bitset drizzled/base.h 
drizzled/charset_info.h
plugin/myisam/.deps/mi_scan.Plo:include/c++/4.4/bitset drizzled/base.h 
drizzled/charset_info.h
plugin/myisam/.deps/mi_search.Plo:include/c++/4.4/bitset drizzled/base.h 
drizzled/charset_info.h
plugin/myisam/.deps/mi_static.Plo:include/c++/4.4/bitset drizzled/base.h 
drizzled/charset_info.h
plugin/myisam/.deps/mi_statrec.Plo:include/c++/4.4/bitset drizzled/base.h 
drizzled/charset_info.h
plugin/myisam/.deps/mi_unique.Plo:include/c++/4.4/bitset drizzled/base.h 
drizzled/charset_info.h
plugin/myisam/.deps/mi_update.Plo:include/c++/4.4/bitset drizzled/base.h 
drizzled/charset_info.h
plugin/myisam/.deps/mi_write.Plo:include/c++/4.4/bitset drizzled/base.h 
drizzled/charset_info.h
plugin/myisam/.deps/my_pread.Plo:include/c++/4.4/bitset drizzled/base.h 
drizzled/charset_info.h
plugin/myisam/mi_create.cc:include <drizzled/global_charset_info.h
plugin/myisam/mi_key.cc:include <drizzled/charset_info.h
plugin/myisam/mi_locking.cc:include <drizzled/charset_info.h
plugin/myisam/mi_open.cc:include <drizzled/charset_info.h
plugin/myisam/mi_open.cc:include <drizzled/global_charset_info.h
plugin/myisam/mi_unique.cc:include <drizzled/charset_info.h
plugin/myisam/myisam.h:include <drizzled/charset_info.h
plugin/myisam/my_handler.cc:include <drizzled/charset_info.h
plugin/myisam/my_handler.h:include <drizzled/charset_info.h
plugin/pbms/src/backup_ms.cc:include <drizzled/charset_info.h
plugin/pbms/src/cloud_ms.cc:include <drizzled/charset_info.h
plugin/pbms/src/database_ms.cc:include <drizzled/charset_info.h
plugin/pbms/src/metadata_ms.h:include <drizzled/charset_info.h
plugin/pbms/src/system_table_ms.cc:include <drizzled/charset_info.h
plugin/pbxt/src/myxt_xt.cc:include <drizzled/charset_info.h
plugin/reverse_function/reverse_function.cc:include <drizzled/charset_info.h
plugin/schema_engine/schema.cc:include <drizzled/global_charset_info.h
plugin/schema_engine/schema.cc:include <drizzled/charset_info.h
plugin/storage_engine_api_tester/storage_engine_api_tester.cc:include 
<drizzled/global_charset_info.h
plugin/string_functions/format.cc:include <drizzled/charset_info.h
plugin/substr_functions/.deps/plugin_libsubstr_functions_plugin_la-substr_functions.Plo:include/c++/4.4/bits/stl_uninitialized.h
 drizzled/charset_info.h
plugin/substr_functions/substr_functions.cc:include <drizzled/charset_info.h
plugin/tableprototester/tableprototester.cc:include 
<drizzled/global_charset_info.h
plugin/transaction_log/.deps/plugin_libtransaction_log_plugin_la-transaction_log.Plo:include/c++/4.4/bits/fstream.tcc
 drizzled/charset_info.h
plugin/utility_functions/catalog.h:include <drizzled/charset_info.h
plugin/utility_functions/catalog.h:include <drizzled/global_charset_info.h
plugin/uuid_function/uuid_function.cc:include <drizzled/charset_info.h
hassan@hassan-laptop:~/Desktop/d/drizzle/drizzle-fix-bugtest$
=================================


3) Files that include *global_charset_info.h" 

drizzled/item.h:include <drizzled/global_charset_info.h
drizzled/field/blob.h:include <drizzled/global_charset_info.h
drizzled/message/statement_transform.cc:include <drizzled/global_charset_info.h
drizzled/message/table.cc:include <drizzled/global_charset_info.h
drizzled/parser.h:include <drizzled/global_charset_info.h
drizzled/plugin/storage_engine.cc:include <drizzled/global_charset_info.h
drizzled/plugin/.deps/table_function.Po:include/bits/string3.h 
drizzled/global_charset_info.h
drizzled/plugin/schema_engine.cc:include <drizzled/global_charset_info.h
drizzled/plugin/table_function.cc:include <drizzled/global_charset_info.h
drizzled/schema.cc:include <drizzled/global_charset_info.h
drizzled/sql_base.cc:include <drizzled/global_charset_info.h
drizzled/sql_parse.cc:include <drizzled/global_charset_info.h
drizzled/sql_string.cc:include <drizzled/global_charset_info.h
drizzled/sql_table.cc:include <drizzled/global_charset_info.h
drizzled/statement/alter_table.cc:include <drizzled/global_charset_info.h
drizzled/strfunc.cc:include <drizzled/global_charset_info.h

drizzled/sys_var.h:include <drizzled/global_charset_info.h
drizzled/table_proto_write.cc:include <drizzled/global_charset_info.h
drizzled/type/boolean.cc:include <drizzled/global_charset_info.h
drizzled/typelib.h:include <drizzled/global_charset_info.h
drizzled/xid.cc:include <drizzled/global_charset_info.h
plugin/myisam/mi_create.cc:include <drizzled/global_charset_info.h
plugin/myisam/mi_open.cc:include <drizzled/global_charset_info.h
plugin/schema_engine/schema.cc:include <drizzled/global_charset_info.h
plugin/storage_engine_api_tester/storage_engine_api_tester.cc:include 
<drizzled/global_charset_info.h
plugin/tableprototester/tableprototester.cc:include 
<drizzled/global_charset_info.h
plugin/utility_functions/catalog.h:include <drizzled/global_charset_info.h


Thanks for the help.


Umair Muhammad 
Electrical Engineering Master Student,
Specialization in Wireless Systems,
School of Electrical Engineering, 
Royal Institute of Technology (KTH),
SE 100-44 Stockholm, SWEDEN.
Email: [email protected] 
Cell:   +46 764 097 574
_______________________________________________
Mailing list: https://launchpad.net/~drizzle-discuss
Post to     : [email protected]
Unsubscribe : https://launchpad.net/~drizzle-discuss
More help   : https://help.launchpad.net/ListHelp

Reply via email to